pub struct PrincipalRecord {Show 13 fields
pub id: String,
pub handle: String,
pub version: Vec<u8>,
pub root_public_key: Vec<u8>,
pub attachments: Vec<RootAttachment>,
pub account_id: String,
pub acting_agent_id: String,
pub authorized_resources: Vec<EntityRef>,
pub actions: Vec<ActionAvailability>,
pub entitlement: Option<EntitlementRecord>,
pub rooting_tier: i32,
pub display_name: String,
pub personal_spool: Option<SpoolAddress>,
}Fields§
§id: String§handle: String§version: Vec<u8>§root_public_key: Vec<u8>§attachments: Vec<RootAttachment>§account_id: String§acting_agent_id: String§actions: Vec<ActionAvailability>Declare account-scope commands, including RenamePasskey, RemovePasskey, RevokeDevice, RevokeSession, SetDisplayName, SetPrimaryHandle and RemoveHandle. authorized reflects this observing credential’s complete caveats, not the account’s tier. Include refused commands with authorized=false (for example RevokeDevice for an ephemeral sign-in). Target-specific requirements still apply, including version CAS and last-method/primary/last-handle safeguards. RemovePasskey MUST be authorized=false unless require_independent_root holds: root_established plus an unattenuated credential, in addition to its caveats. PlatformAdminService checks project here with their matching Capability, exact method path and serving Weft endpoint, without a customer target. Authorization requires current durable platform staff standing for a directly authenticated human; delegated, agent, service and anonymous credentials are denied. Verify directness from credential/delegation attribution, never a claimed account UUID or token staff fact. Reproject on standing changes or expiry, including FOLLOW replacements or resets. Advice is presentation only: clients must call the matching check within each request before any side effect. Missing/unknown advice denies.
entitlement: Option<EntitlementRecord>§rooting_tier: i32§display_name: StringExplicit normalized display name, falling back to the primary handle when cleared. Generated pet name while agent-rooted and unclaimed; handle stays empty. Presentation only; changing this never changes account authority.
personal_spool: Option<SpoolAddress>Personal namespace for creation and remote provisioning. Omitted when it has not been created or is unavailable to this observing credential.
Implementations§
Source§impl PrincipalRecord
impl PrincipalRecord
Sourcepub fn rooting_tier(&self) -> RootingTier
pub fn rooting_tier(&self) -> RootingTier
Returns the enum value of rooting_tier, or the default if the field is set to an invalid enum value.
Sourcepub fn set_rooting_tier(&mut self, value: RootingTier)
pub fn set_rooting_tier(&mut self, value: RootingTier)
Sets rooting_tier to the provided enum value.
Trait Implementations§
Source§impl Clone for PrincipalRecord
impl Clone for PrincipalRecord
Source§fn clone(&self) -> PrincipalRecord
fn clone(&self) -> PrincipalRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrincipalRecord
impl Debug for PrincipalRecord
Source§impl Default for PrincipalRecord
impl Default for PrincipalRecord
Source§fn default() -> PrincipalRecord
fn default() -> PrincipalRecord
Source§impl Message for PrincipalRecord
impl Message for PrincipalRecord
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for PrincipalRecord
impl PartialEq for PrincipalRecord
impl StructuralPartialEq for PrincipalRecord
Auto Trait Implementations§
impl Freeze for PrincipalRecord
impl RefUnwindSafe for PrincipalRecord
impl Send for PrincipalRecord
impl Sync for PrincipalRecord
impl Unpin for PrincipalRecord
impl UnsafeUnpin for PrincipalRecord
impl UnwindSafe for PrincipalRecord
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more