"""Delivery permission definitions — Phase 10.0 foundation + 10.1 drivers.""" from __future__ import annotations DELIVERY_VIEW = "delivery.view" DELIVERY_MANAGE = "delivery.manage" ORGANIZATIONS_VIEW = "delivery.organizations.view" ORGANIZATIONS_CREATE = "delivery.organizations.create" ORGANIZATIONS_UPDATE = "delivery.organizations.update" ORGANIZATIONS_DELETE = "delivery.organizations.delete" ORGANIZATIONS_MANAGE = "delivery.organizations.manage" HUBS_VIEW = "delivery.hubs.view" HUBS_CREATE = "delivery.hubs.create" HUBS_UPDATE = "delivery.hubs.update" HUBS_DELETE = "delivery.hubs.delete" HUBS_MANAGE = "delivery.hubs.manage" EXTERNAL_PROVIDERS_VIEW = "delivery.external_providers.view" EXTERNAL_PROVIDERS_CREATE = "delivery.external_providers.create" EXTERNAL_PROVIDERS_UPDATE = "delivery.external_providers.update" EXTERNAL_PROVIDERS_DELETE = "delivery.external_providers.delete" EXTERNAL_PROVIDERS_MANAGE = "delivery.external_providers.manage" ROUTING_ENGINES_VIEW = "delivery.routing_engines.view" ROUTING_ENGINES_CREATE = "delivery.routing_engines.create" ROUTING_ENGINES_UPDATE = "delivery.routing_engines.update" ROUTING_ENGINES_DELETE = "delivery.routing_engines.delete" ROUTING_ENGINES_MANAGE = "delivery.routing_engines.manage" CONFIGURATIONS_VIEW = "delivery.configurations.view" CONFIGURATIONS_CREATE = "delivery.configurations.create" CONFIGURATIONS_UPDATE = "delivery.configurations.update" CONFIGURATIONS_DELETE = "delivery.configurations.delete" CONFIGURATIONS_MANAGE = "delivery.configurations.manage" SETTINGS_VIEW = "delivery.settings.view" SETTINGS_MANAGE = "delivery.settings.manage" AUDIT_VIEW = "delivery.audit.view" # Phase 10.1 — Driver Management DRIVERS_VIEW = "delivery.drivers.view" DRIVERS_CREATE = "delivery.drivers.create" DRIVERS_UPDATE = "delivery.drivers.update" DRIVERS_DELETE = "delivery.drivers.delete" DRIVERS_ACTIVATE = "delivery.drivers.activate" DRIVERS_SUSPEND = "delivery.drivers.suspend" DRIVERS_RESUME = "delivery.drivers.resume" DRIVERS_DEACTIVATE = "delivery.drivers.deactivate" DRIVERS_BLOCK = "delivery.drivers.block" DRIVERS_UNBLOCK = "delivery.drivers.unblock" DRIVERS_ARCHIVE = "delivery.drivers.archive" DRIVERS_LIFECYCLE_VIEW = "delivery.drivers.lifecycle.view" DRIVERS_CREDENTIALS_VIEW = "delivery.drivers.credentials.view" DRIVERS_CREDENTIALS_MANAGE = "delivery.drivers.credentials.manage" DRIVERS_DOCUMENTS_VIEW = "delivery.drivers.documents.view" DRIVERS_DOCUMENTS_MANAGE = "delivery.drivers.documents.manage" DRIVERS_MANAGE = "delivery.drivers.manage" # Planned trees (registered for discovery; enforced in later phases) FLEET_VIEW = "delivery.fleet.view" FLEET_MANAGE = "delivery.fleet.manage" DISPATCH_VIEW = "delivery.dispatch.view" DISPATCH_MANAGE = "delivery.dispatch.manage" ROUTING_VIEW = "delivery.routing.view" ROUTING_MANAGE = "delivery.routing.manage" TRACKING_VIEW = "delivery.tracking.view" TRACKING_MANAGE = "delivery.tracking.manage" SETTLEMENT_VIEW = "delivery.settlement.view" SETTLEMENT_MANAGE = "delivery.settlement.manage" ALL_PERMISSIONS: list[str] = [ DELIVERY_VIEW, DELIVERY_MANAGE, ORGANIZATIONS_VIEW, ORGANIZATIONS_CREATE, ORGANIZATIONS_UPDATE, ORGANIZATIONS_DELETE, ORGANIZATIONS_MANAGE, HUBS_VIEW, HUBS_CREATE, HUBS_UPDATE, HUBS_DELETE, HUBS_MANAGE, EXTERNAL_PROVIDERS_VIEW, EXTERNAL_PROVIDERS_CREATE, EXTERNAL_PROVIDERS_UPDATE, EXTERNAL_PROVIDERS_DELETE, EXTERNAL_PROVIDERS_MANAGE, ROUTING_ENGINES_VIEW, ROUTING_ENGINES_CREATE, ROUTING_ENGINES_UPDATE, ROUTING_ENGINES_DELETE, ROUTING_ENGINES_MANAGE, CONFIGURATIONS_VIEW, CONFIGURATIONS_CREATE, CONFIGURATIONS_UPDATE, CONFIGURATIONS_DELETE, CONFIGURATIONS_MANAGE, SETTINGS_VIEW, SETTINGS_MANAGE, AUDIT_VIEW, DRIVERS_VIEW, DRIVERS_CREATE, DRIVERS_UPDATE, DRIVERS_DELETE, DRIVERS_ACTIVATE, DRIVERS_SUSPEND, DRIVERS_RESUME, DRIVERS_DEACTIVATE, DRIVERS_BLOCK, DRIVERS_UNBLOCK, DRIVERS_ARCHIVE, DRIVERS_LIFECYCLE_VIEW, DRIVERS_CREDENTIALS_VIEW, DRIVERS_CREDENTIALS_MANAGE, DRIVERS_DOCUMENTS_VIEW, DRIVERS_DOCUMENTS_MANAGE, DRIVERS_MANAGE, FLEET_VIEW, FLEET_MANAGE, DISPATCH_VIEW, DISPATCH_MANAGE, ROUTING_VIEW, ROUTING_MANAGE, TRACKING_VIEW, TRACKING_MANAGE, SETTLEMENT_VIEW, SETTLEMENT_MANAGE, ] PERMISSION_PREFIXES: tuple[str, ...] = ( "delivery.", "delivery.organizations.", "delivery.hubs.", "delivery.external_providers.", "delivery.routing_engines.", "delivery.configurations.", "delivery.settings.", "delivery.audit.", "delivery.drivers.", "delivery.fleet.", "delivery.dispatch.", "delivery.routing.", "delivery.tracking.", "delivery.settlement.", )