mod action;
mod command;
mod document_identity;
mod entitlement;
mod license;
mod permission;
mod preview;
mod quota;
mod reserved_document;
mod seat;
mod storage;
mod types;
mod workspace_access;
pub use action::{DocAction, WorkspaceAction, doc_action_catalog, workspace_action_catalog};
pub use command::{
CommandAuthorizationDecision, CommandConstraint, CommandDenialReason, CommandEffect, CommandFacts, CommandPermission,
CommandQuotaFacts, DocLifecycleCommand, DomainCommand, authorize_command,
};
pub use document_identity::{
CanonicalDocumentIdentity, DocumentIdentityError, DocumentVariant, canonicalize_document_identity,
};
pub use entitlement::{
EntitlementInput, EntitlementInputError, EntitlementTransitionEffect, EntitlementTransitionPlan, PlanAccess,
ValidatedEntitlement, describe_plan, plan_entitlement_transition, resolve_entitlements, validate_entitlement_input,
};
pub use license::{
LicenseError, LicenseIssuance, LicenseIssuanceError, LicenseIssuer, LicenseVerifier, VerifiedLicenseClaims,
};
pub use permission::{authorize, doc_role_allows};
pub use preview::{
DocPreviewBasis, DocPreviewDecision, DocPreviewExposure, evaluate_doc_preview, evaluate_workspace_preview,
};
pub use quota::{QuotaUsage, ReadonlyReason, WorkspaceQuotaState, evaluate_workspace_quota};
pub use reserved_document::{
ReservedDocumentAccessDecision, ReservedDocumentClassification, ReservedDocumentError, UserdataTable,
WorkspaceDatabaseTable, authorize_reserved_document, classify_reserved_document, userdata_document_id,
};
pub use seat::{
InvitationKind, InvitationRole, InvitationStatus, SeatActivationFacts, SeatActivationRequest, SeatAuthority,
SeatDenialReason, SeatMutationIntent, SeatOperationPlan, SeatReservationKind, SeatReviewFacts, SeatReviewRequest,
plan_seat_activation, plan_seat_review_reservation,
};
pub use storage::{
STORAGE_RESERVATION_MINUTES, StorageAuthorizationFacts, StorageIntegrityError, StorageLedgerFacts,
StorageMutationIntent, StorageObjectFacts, StorageReservationDenial, StorageReservationError,
StorageReservationFacts, StorageReservationPlan, StorageReservationRequest, StorageResource,
plan_storage_reservation, validate_storage_object,
};
pub use types::{
AccessContext, AccessDiagnostic, AccessGrant, AclFacts, AuthorizationDecision, AuthorizationRequest, Decision,
DecisionSource, DenialReason, Deployment, DocAclFacts, DocAuthorizationDecision, DocAuthorizationRequest, DocRole,
EntitlementFact, EntitlementStatus, Limits, Plan, RequestedDocAction, RequestedWorkspaceAction, Rights, TargetType,
WorkspaceRole,
};
pub(super) use types::{EntitlementSource, MAX_SEAT_QUANTITY};
pub use workspace_access::{
ByokAccessBasis, ByokAccessContext, ByokAccessDecision, ByokExecution, QuotaSubject, QuotaSubjectBasis,
QuotaSubjectDecision, evaluate_byok_access, resolve_quota_subject,
};
#[cfg(test)]
#[path = "../tests/access_control/fixtures.rs"]
mod test_fixtures;