pub struct Resource {
pub id: String,
pub required_permissions: PermissionSet,
pub resource_type: String,
}Expand description
A resource that requires certain permissions to access.
Fields§
§id: StringUnique identifier for this resource.
required_permissions: PermissionSetPermissions required to access this resource.
resource_type: StringClassification or type of this resource.
Implementations§
Source§impl Resource
impl Resource
Sourcepub fn requires(self, perm: AtomicPermission) -> Self
pub fn requires(self, perm: AtomicPermission) -> Self
Add a required permission for accessing this resource.
Sourcepub fn resource_type(self, rt: impl Into<String>) -> Self
pub fn resource_type(self, rt: impl Into<String>) -> Self
Set the resource type classification.
Sourcepub fn can_access(&self, subject: &Subject) -> bool
pub fn can_access(&self, subject: &Subject) -> bool
Returns true if the subject has all required permissions.
Sourcepub fn missing_permissions(&self, subject: &Subject) -> PermissionSet
pub fn missing_permissions(&self, subject: &Subject) -> PermissionSet
Returns the set of required permissions the subject lacks.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Resource
impl RefUnwindSafe for Resource
impl Send for Resource
impl Sync for Resource
impl Unpin for Resource
impl UnsafeUnpin for Resource
impl UnwindSafe for Resource
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