pub struct CapabilityGrantV1 { /* private fields */ }Expand description
Complete bounded v1 grant persisted with a capability.
Implementations§
Source§impl CapabilityGrantV1
impl CapabilityGrantV1
Sourcepub fn new(
tenant_scope: TenantScope,
partition_scope: PartitionScopeV1,
permissions: CapabilityPermissionsV1,
field_visibility: Vec<EntityFieldVisibilityV1>,
max_scan_rows: NonZeroU16,
approval_required: Vec<CapabilityPermissionKindV1>,
) -> Result<Self, CapabilityGrantError>
pub fn new( tenant_scope: TenantScope, partition_scope: PartitionScopeV1, permissions: CapabilityPermissionsV1, field_visibility: Vec<EntityFieldVisibilityV1>, max_scan_rows: NonZeroU16, approval_required: Vec<CapabilityPermissionKindV1>, ) -> Result<Self, CapabilityGrantError>
Constructs a canonically ordered complete grant.
Sourcepub const fn tenant_scope(&self) -> &TenantScope
pub const fn tenant_scope(&self) -> &TenantScope
Returns the authorization-resolved tenant constraint.
Sourcepub const fn partition_scope(&self) -> &PartitionScopeV1
pub const fn partition_scope(&self) -> &PartitionScopeV1
Returns the complete partition constraint.
Sourcepub const fn permissions(&self) -> &CapabilityPermissionsV1
pub const fn permissions(&self) -> &CapabilityPermissionsV1
Returns the canonical permission set.
Sourcepub fn field_visibility(&self) -> &[EntityFieldVisibilityV1]
pub fn field_visibility(&self) -> &[EntityFieldVisibilityV1]
Returns canonical entity-field visibility entries.
Sourcepub const fn max_scan_rows(&self) -> NonZeroU16
pub const fn max_scan_rows(&self) -> NonZeroU16
Returns the bounded maximum scan rows.
Sourcepub fn approval_required(&self) -> &[CapabilityPermissionKindV1]
pub fn approval_required(&self) -> &[CapabilityPermissionKindV1]
Returns canonical permission kinds requiring validated approval.
Sourcepub fn with_row_policy(
self,
row_policy: CapabilityRowPolicyGrantV1,
) -> Result<Self, CapabilityGrantError>
pub fn with_row_policy( self, row_policy: CapabilityRowPolicyGrantV1, ) -> Result<Self, CapabilityGrantError>
Adds the exact V4 row-policy extension after checking the matching role identity.
Sourcepub fn with_export(
self,
export: CapabilityExportGrantV1,
) -> Result<Self, CapabilityGrantError>
pub fn with_export( self, export: CapabilityExportGrantV1, ) -> Result<Self, CapabilityGrantError>
Adds the exact V5 export extension after checking scope prerequisites.
Sourcepub fn with_reimport(
self,
reimport: CapabilityApplicationReimportGrantV1,
) -> Result<Self, CapabilityGrantError>
pub fn with_reimport( self, reimport: CapabilityApplicationReimportGrantV1, ) -> Result<Self, CapabilityGrantError>
Adds distinct V7 reimport authority after checking its role and scope prerequisites.
Sourcepub fn with_vector_inspection(
self,
inspection: CapabilityVectorInspectionGrantV1,
) -> Result<Self, CapabilityGrantError>
pub fn with_vector_inspection( self, inspection: CapabilityVectorInspectionGrantV1, ) -> Result<Self, CapabilityGrantError>
Adds exact V8 vector-inspection authority after checking role, permission, field visibility, and row-policy count-disclosure prerequisites.
Sourcepub fn semantic_bytes(&self) -> Result<usize, CapabilityGrantError>
pub fn semantic_bytes(&self) -> Result<usize, CapabilityGrantError>
Returns the complete checked v1 semantic grant byte count.