TorbatYar/backend/services/delivery/app/permissions/definitions.py
Mortezakoohjani 5c6a2e78cf feat(platform): seed service registry, deploy all modules, and fix homepage catalog.
Register all active platform services and base features in core DB so admin can manage them, add delivery/hospitality/sports-center backend phases, update apps catalog and production deploy tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 12:39:51 +03:30

149 lines
4.8 KiB
Python

"""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.",
)