pub struct SmartScope {
pub context: ScopeContext,
pub resource_type: ResourceTypeSpec,
pub permissions: SmartPermissions,
}Expand description
A single parsed SMART v2 scope.
Follows the format: context/resourceType.permissions
Examples:
system/Patient.rs— system-level read+search on Patientsystem/*.cruds— system-level full CRUD+search on all typesuser/Observation.r— user-level read on Observation
Fields§
§context: ScopeContextThe access context.
resource_type: ResourceTypeSpecThe resource type or wildcard.
permissions: SmartPermissionsThe granted permissions.
Implementations§
Source§impl SmartScope
impl SmartScope
Sourcepub fn parse(scope_str: &str) -> Option<Self>
pub fn parse(scope_str: &str) -> Option<Self>
Parse a single SMART v2 scope string.
Expected format: context/resourceType.permissions
Returns None if the string is malformed.
Sourcepub fn permits(&self, resource_type: &str, permission: SmartPermissions) -> bool
pub fn permits(&self, resource_type: &str, permission: SmartPermissions) -> bool
Check if this scope grants the given permission on the given resource type.
Trait Implementations§
Source§impl Clone for SmartScope
impl Clone for SmartScope
Source§fn clone(&self) -> SmartScope
fn clone(&self) -> SmartScope
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SmartScope
impl Debug for SmartScope
Source§impl Display for SmartScope
impl Display for SmartScope
impl Eq for SmartScope
Source§impl Hash for SmartScope
impl Hash for SmartScope
Source§impl PartialEq for SmartScope
impl PartialEq for SmartScope
Source§fn eq(&self, other: &SmartScope) -> bool
fn eq(&self, other: &SmartScope) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SmartScope
Auto Trait Implementations§
impl Freeze for SmartScope
impl RefUnwindSafe for SmartScope
impl Send for SmartScope
impl Sync for SmartScope
impl Unpin for SmartScope
impl UnsafeUnpin for SmartScope
impl UnwindSafe for SmartScope
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.