pub struct PermissionCardValuePayload {
pub card_id: Uuid,
pub parent_ids: Vec<Uuid>,
pub expires_at: Option<DateTime<Utc>>,
pub polymorphic: bool,
}Expand description
Capability value: the trusted internal/persistent representation of a
permission-card, held only inside SchemaValue::PermissionCard. Across a
WIT boundary the card travels as an opaque, unforgeable owned handle
(permission-card-handle(own<permission-card>)); the host converts between
this snapshot and a handle through a resolver and the receiver re-acquires
the live card against card_id on demand. This snapshot is never exposed
to or constructible by a guest.
Only card_id is authoritative identity. The remaining fields are trusted
cache verified against the card store on the host side; receivers must not
treat them as proof of authorization, only as a hint of the card’s last
known shape.
Fields§
§card_id: UuidAuthoritative identity of the card. Survives serialization and is the only field a receiver may trust without re-validation.
parent_ids: Vec<Uuid>Direct parents in the permission DAG. Order is not significant. Trusted cache only; receivers re-validate by walking the live card store.
expires_at: Option<DateTime<Utc>>Absolute expiry of the card, if any. Trusted cache only.
polymorphic: boolWhether the card is polymorphic (can spawn scoped child cards). Trusted cache only; the live card store is the source of truth.
Trait Implementations§
Source§impl Clone for PermissionCardValuePayload
impl Clone for PermissionCardValuePayload
Source§fn clone(&self) -> PermissionCardValuePayload
fn clone(&self) -> PermissionCardValuePayload
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more