pub struct RoleGrant {
pub person: String,
pub scope: GrantScope,
pub role: FleetRole,
pub granted_by: FleetActor,
pub granted_at: i64,
}Expand description
A person’s role for one scope. One record per (person, scope); revoking
is a delete.
Fields§
§person: String§scope: GrantScopeStored as a one-element array; merges atomically, matching role’s
own conflict-on-divergence behaviour (ADR 0022).
role: FleetRole§granted_by: FleetActorStored as a one-element array; merges atomically, since this is an externally-tagged enum and object-recursive merging of two different variants would produce an undecodable body.
granted_at: i64Implementations§
Source§impl RoleGrant
impl RoleGrant
pub const KIND: RecordKind = RecordKind::RoleGrant
Sourcepub fn key_for(
person: &str,
scope: &GrantScope,
) -> Result<RecordKey, FleetKeyError>
pub fn key_for( person: &str, scope: &GrantScope, ) -> Result<RecordKey, FleetKeyError>
fleet/role-grants/<person_id>:<scope>.
pub fn key(&self) -> Result<RecordKey, FleetKeyError>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RoleGrant
impl<'de> Deserialize<'de> for RoleGrant
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for RoleGrant
Source§impl RecordCodec for RoleGrant
impl RecordCodec for RoleGrant
impl StructuralPartialEq for RoleGrant
Auto Trait Implementations§
impl Freeze for RoleGrant
impl RefUnwindSafe for RoleGrant
impl Send for RoleGrant
impl Sync for RoleGrant
impl Unpin for RoleGrant
impl UnsafeUnpin for RoleGrant
impl UnwindSafe for RoleGrant
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