pub struct KeepsakeRelationTarget {
pub tenant_id: TenantId,
pub fact: FactId,
pub subject: SubjectRef,
pub relation_id: RelationId,
pub subject_slot: Option<SubjectSlot>,
}Expand description
Resolved keepsake target for a gatekeep fact binding.
Fields§
§tenant_id: TenantIdTenant containing the subject and relation.
fact: FactIdGatekeep fact that maps to this keepsake relation target.
subject: SubjectRefKeepsake subject used for relation lookups and lifecycle writes.
relation_id: RelationIdKeepsake relation definition id.
subject_slot: Option<SubjectSlot>Request-scoped subject slot used by this target, when any.
Implementations§
Source§impl KeepsakeRelationTarget
impl KeepsakeRelationTarget
Sourcepub fn effective_presence(
&self,
time: ObservationTime,
snapshot: &RelationSnapshot,
fulfillment: Option<&FulfillmentEvidence>,
) -> Result<Presence, EffectiveFactError>
pub fn effective_presence( &self, time: ObservationTime, snapshot: &RelationSnapshot, fulfillment: Option<&FulfillmentEvidence>, ) -> Result<Presence, EffectiveFactError>
Resolves effective presence from a current scoped assignment or absence.
The caller owns the observation’s completeness and concurrency provenance: protected writes must retain the database scope lock through commit. A scoped absence is not proof that another transaction cannot apply a relation. Fulfillment evidence must describe this assignment at the supplied time.
§Errors
Returns a scope mismatch or unavailable time/lifecycle evidence.
Source§impl KeepsakeRelationTarget
impl KeepsakeRelationTarget
Sourcepub fn revoke_by_subject(
&self,
at: OffsetDateTime,
context: CommandContext,
) -> RevokeBySubject
pub fn revoke_by_subject( &self, at: OffsetDateTime, context: CommandContext, ) -> RevokeBySubject
Builds a keepsake revoke-by-subject command for this target.
Trait Implementations§
Source§impl Clone for KeepsakeRelationTarget
impl Clone for KeepsakeRelationTarget
Source§fn clone(&self) -> KeepsakeRelationTarget
fn clone(&self) -> KeepsakeRelationTarget
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more