TorbatYar/backend/services/hospitality/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

294 lines
10 KiB
Python

"""Hospitality permission definitions — Phase 12.0 foundation."""
from __future__ import annotations
HOSPITALITY_VIEW = "hospitality.view"
HOSPITALITY_MANAGE = "hospitality.manage"
VENUES_VIEW = "hospitality.venues.view"
VENUES_CREATE = "hospitality.venues.create"
VENUES_UPDATE = "hospitality.venues.update"
VENUES_DELETE = "hospitality.venues.delete"
VENUES_MANAGE = "hospitality.venues.manage"
BRANCHES_VIEW = "hospitality.branches.view"
BRANCHES_CREATE = "hospitality.branches.create"
BRANCHES_UPDATE = "hospitality.branches.update"
BRANCHES_DELETE = "hospitality.branches.delete"
BRANCHES_MANAGE = "hospitality.branches.manage"
DINING_AREAS_VIEW = "hospitality.dining_areas.view"
DINING_AREAS_MANAGE = "hospitality.dining_areas.manage"
TABLES_VIEW = "hospitality.tables.view"
TABLES_MANAGE = "hospitality.tables.manage"
MENUS_VIEW = "hospitality.menus.view"
MENUS_CREATE = "hospitality.menus.create"
MENUS_UPDATE = "hospitality.menus.update"
MENUS_DELETE = "hospitality.menus.delete"
MENUS_MANAGE = "hospitality.menus.manage"
MENU_CATEGORIES_VIEW = "hospitality.menu_categories.view"
MENU_CATEGORIES_MANAGE = "hospitality.menu_categories.manage"
MENU_ITEMS_VIEW = "hospitality.menu_items.view"
MENU_ITEMS_MANAGE = "hospitality.menu_items.manage"
# Phase 12.1 — Digital Menu Catalog
ALLERGENS_VIEW = "hospitality.allergens.view"
ALLERGENS_MANAGE = "hospitality.allergens.manage"
MODIFIER_GROUPS_VIEW = "hospitality.modifier_groups.view"
MODIFIER_GROUPS_MANAGE = "hospitality.modifier_groups.manage"
MODIFIER_OPTIONS_VIEW = "hospitality.modifier_options.view"
MODIFIER_OPTIONS_MANAGE = "hospitality.modifier_options.manage"
AVAILABILITY_WINDOWS_VIEW = "hospitality.availability_windows.view"
AVAILABILITY_WINDOWS_MANAGE = "hospitality.availability_windows.manage"
MENU_MEDIA_VIEW = "hospitality.menu_media.view"
MENU_MEDIA_MANAGE = "hospitality.menu_media.manage"
MENU_LOCALIZATIONS_VIEW = "hospitality.menu_localizations.view"
MENU_LOCALIZATIONS_MANAGE = "hospitality.menu_localizations.manage"
# Phase 12.2 — QR Menu & QR Ordering
QR_CODES_VIEW = "hospitality.qr_codes.view"
QR_CODES_MANAGE = "hospitality.qr_codes.manage"
QR_MENU_SESSIONS_VIEW = "hospitality.qr_menu_sessions.view"
QR_MENU_SESSIONS_MANAGE = "hospitality.qr_menu_sessions.manage"
QR_ORDERING_SESSIONS_VIEW = "hospitality.qr_ordering_sessions.view"
QR_ORDERING_SESSIONS_MANAGE = "hospitality.qr_ordering_sessions.manage"
CARTS_VIEW = "hospitality.carts.view"
CARTS_MANAGE = "hospitality.carts.manage"
# Phase 12.3 — Table Service & Reservations
RESERVATIONS_VIEW = "hospitality.reservations.view"
RESERVATIONS_MANAGE = "hospitality.reservations.manage"
TABLE_ASSIGNMENTS_VIEW = "hospitality.table_assignments.view"
TABLE_ASSIGNMENTS_MANAGE = "hospitality.table_assignments.manage"
SERVICE_REQUESTS_VIEW = "hospitality.service_requests.view"
SERVICE_REQUESTS_MANAGE = "hospitality.service_requests.manage"
WAITLIST_VIEW = "hospitality.waitlist.view"
WAITLIST_MANAGE = "hospitality.waitlist.manage"
# Phase 12.4 — POS Lite
POS_REGISTERS_VIEW = "hospitality.pos_registers.view"
POS_REGISTERS_MANAGE = "hospitality.pos_registers.manage"
POS_SHIFTS_VIEW = "hospitality.pos_shifts.view"
POS_SHIFTS_MANAGE = "hospitality.pos_shifts.manage"
POS_TICKETS_VIEW = "hospitality.pos_tickets.view"
POS_TICKETS_MANAGE = "hospitality.pos_tickets.manage"
# Phase 12.5 — POS Pro
POS_PAYMENTS_VIEW = "hospitality.pos_payments.view"
POS_PAYMENTS_MANAGE = "hospitality.pos_payments.manage"
POS_DISCOUNTS_VIEW = "hospitality.pos_discounts.view"
POS_DISCOUNTS_MANAGE = "hospitality.pos_discounts.manage"
POS_TAX_LINES_VIEW = "hospitality.pos_tax_lines.view"
POS_TAX_LINES_MANAGE = "hospitality.pos_tax_lines.manage"
POS_FLOOR_PLANS_VIEW = "hospitality.pos_floor_plans.view"
POS_FLOOR_PLANS_MANAGE = "hospitality.pos_floor_plans.manage"
POS_STATIONS_VIEW = "hospitality.pos_stations.view"
POS_STATIONS_MANAGE = "hospitality.pos_stations.manage"
# Phase 12.6 — Kitchen
KITCHEN_STATIONS_VIEW = "hospitality.kitchen_stations.view"
KITCHEN_STATIONS_MANAGE = "hospitality.kitchen_stations.manage"
KITCHEN_TICKETS_VIEW = "hospitality.kitchen_tickets.view"
KITCHEN_TICKETS_MANAGE = "hospitality.kitchen_tickets.manage"
# Phase 12.7 — Connectors
CONNECTOR_REGISTRATIONS_VIEW = "hospitality.connector_registrations.view"
CONNECTOR_REGISTRATIONS_MANAGE = "hospitality.connector_registrations.manage"
CONNECTOR_DISPATCHES_VIEW = "hospitality.connector_dispatches.view"
CONNECTOR_DISPATCHES_MANAGE = "hospitality.connector_dispatches.manage"
# Phase 12.8 — Analytics
ANALYTICS_REPORTS_VIEW = "hospitality.analytics_reports.view"
ANALYTICS_REPORTS_MANAGE = "hospitality.analytics_reports.manage"
ANALYTICS_SNAPSHOTS_VIEW = "hospitality.analytics_snapshots.view"
ANALYTICS_SNAPSHOTS_MANAGE = "hospitality.analytics_snapshots.manage"
BUNDLES_VIEW = "hospitality.bundles.view"
BUNDLES_MANAGE = "hospitality.bundles.manage"
TENANT_BUNDLES_VIEW = "hospitality.tenant_bundles.view"
TENANT_BUNDLES_MANAGE = "hospitality.tenant_bundles.manage"
FEATURE_TOGGLES_VIEW = "hospitality.feature_toggles.view"
FEATURE_TOGGLES_MANAGE = "hospitality.feature_toggles.manage"
ROLES_VIEW = "hospitality.roles.view"
ROLES_MANAGE = "hospitality.roles.manage"
PERMISSIONS_VIEW = "hospitality.permissions.view"
PERMISSIONS_MANAGE = "hospitality.permissions.manage"
CONFIGURATIONS_VIEW = "hospitality.configurations.view"
CONFIGURATIONS_MANAGE = "hospitality.configurations.manage"
EVENTS_VIEW = "hospitality.events.view"
EVENTS_MANAGE = "hospitality.events.manage"
SETTINGS_VIEW = "hospitality.settings.view"
SETTINGS_MANAGE = "hospitality.settings.manage"
AUDIT_VIEW = "hospitality.audit.view"
# Bundle-gated permissions (registered; engines later)
DIGITAL_MENU_VIEW = "hospitality.digital_menu.view"
QR_MENU_VIEW = "hospitality.qr_menu.view"
QR_ORDERING_MANAGE = "hospitality.qr_ordering.manage"
POS_LITE_MANAGE = "hospitality.pos_lite.manage"
POS_PRO_MANAGE = "hospitality.pos_pro.manage"
KITCHEN_MANAGE = "hospitality.kitchen.manage"
RESERVATION_MANAGE = "hospitality.reservation.manage"
TABLE_SERVICE_MANAGE = "hospitality.table_service.manage"
DELIVERY_CONNECTOR_MANAGE = "hospitality.delivery_connector.manage"
ACCOUNTING_CONNECTOR_MANAGE = "hospitality.accounting_connector.manage"
CRM_CONNECTOR_MANAGE = "hospitality.crm_connector.manage"
LOYALTY_CONNECTOR_MANAGE = "hospitality.loyalty_connector.manage"
COMMUNICATION_CONNECTOR_MANAGE = "hospitality.communication_connector.manage"
WEBSITE_CONNECTOR_MANAGE = "hospitality.website_connector.manage"
ANALYTICS_VIEW = "hospitality.analytics.view"
AI_ASSISTANT_MANAGE = "hospitality.ai_assistant.manage"
ALL_PERMISSIONS: list[str] = [
HOSPITALITY_VIEW,
HOSPITALITY_MANAGE,
VENUES_VIEW,
VENUES_CREATE,
VENUES_UPDATE,
VENUES_DELETE,
VENUES_MANAGE,
BRANCHES_VIEW,
BRANCHES_CREATE,
BRANCHES_UPDATE,
BRANCHES_DELETE,
BRANCHES_MANAGE,
DINING_AREAS_VIEW,
DINING_AREAS_MANAGE,
TABLES_VIEW,
TABLES_MANAGE,
MENUS_VIEW,
MENUS_CREATE,
MENUS_UPDATE,
MENUS_DELETE,
MENUS_MANAGE,
MENU_CATEGORIES_VIEW,
MENU_CATEGORIES_MANAGE,
MENU_ITEMS_VIEW,
MENU_ITEMS_MANAGE,
ALLERGENS_VIEW,
ALLERGENS_MANAGE,
MODIFIER_GROUPS_VIEW,
MODIFIER_GROUPS_MANAGE,
MODIFIER_OPTIONS_VIEW,
MODIFIER_OPTIONS_MANAGE,
AVAILABILITY_WINDOWS_VIEW,
AVAILABILITY_WINDOWS_MANAGE,
MENU_MEDIA_VIEW,
MENU_MEDIA_MANAGE,
MENU_LOCALIZATIONS_VIEW,
MENU_LOCALIZATIONS_MANAGE,
QR_CODES_VIEW,
QR_CODES_MANAGE,
QR_MENU_SESSIONS_VIEW,
QR_MENU_SESSIONS_MANAGE,
QR_ORDERING_SESSIONS_VIEW,
QR_ORDERING_SESSIONS_MANAGE,
CARTS_VIEW,
CARTS_MANAGE,
RESERVATIONS_VIEW,
RESERVATIONS_MANAGE,
TABLE_ASSIGNMENTS_VIEW,
TABLE_ASSIGNMENTS_MANAGE,
SERVICE_REQUESTS_VIEW,
SERVICE_REQUESTS_MANAGE,
WAITLIST_VIEW,
WAITLIST_MANAGE,
POS_REGISTERS_VIEW,
POS_REGISTERS_MANAGE,
POS_SHIFTS_VIEW,
POS_SHIFTS_MANAGE,
POS_TICKETS_VIEW,
POS_TICKETS_MANAGE,
POS_PAYMENTS_VIEW,
POS_PAYMENTS_MANAGE,
POS_DISCOUNTS_VIEW,
POS_DISCOUNTS_MANAGE,
POS_TAX_LINES_VIEW,
POS_TAX_LINES_MANAGE,
POS_FLOOR_PLANS_VIEW,
POS_FLOOR_PLANS_MANAGE,
POS_STATIONS_VIEW,
POS_STATIONS_MANAGE,
KITCHEN_STATIONS_VIEW,
KITCHEN_STATIONS_MANAGE,
KITCHEN_TICKETS_VIEW,
KITCHEN_TICKETS_MANAGE,
CONNECTOR_REGISTRATIONS_VIEW,
CONNECTOR_REGISTRATIONS_MANAGE,
CONNECTOR_DISPATCHES_VIEW,
CONNECTOR_DISPATCHES_MANAGE,
ANALYTICS_REPORTS_VIEW,
ANALYTICS_REPORTS_MANAGE,
ANALYTICS_SNAPSHOTS_VIEW,
ANALYTICS_SNAPSHOTS_MANAGE,
BUNDLES_VIEW,
BUNDLES_MANAGE,
TENANT_BUNDLES_VIEW,
TENANT_BUNDLES_MANAGE,
FEATURE_TOGGLES_VIEW,
FEATURE_TOGGLES_MANAGE,
ROLES_VIEW,
ROLES_MANAGE,
PERMISSIONS_VIEW,
PERMISSIONS_MANAGE,
CONFIGURATIONS_VIEW,
CONFIGURATIONS_MANAGE,
EVENTS_VIEW,
EVENTS_MANAGE,
SETTINGS_VIEW,
SETTINGS_MANAGE,
AUDIT_VIEW,
DIGITAL_MENU_VIEW,
QR_MENU_VIEW,
QR_ORDERING_MANAGE,
POS_LITE_MANAGE,
POS_PRO_MANAGE,
KITCHEN_MANAGE,
RESERVATION_MANAGE,
TABLE_SERVICE_MANAGE,
DELIVERY_CONNECTOR_MANAGE,
ACCOUNTING_CONNECTOR_MANAGE,
CRM_CONNECTOR_MANAGE,
LOYALTY_CONNECTOR_MANAGE,
COMMUNICATION_CONNECTOR_MANAGE,
WEBSITE_CONNECTOR_MANAGE,
ANALYTICS_VIEW,
AI_ASSISTANT_MANAGE,
]
PERMISSION_PREFIXES: tuple[str, ...] = (
"hospitality.",
"hospitality.venues.",
"hospitality.branches.",
"hospitality.menus.",
"hospitality.allergens.",
"hospitality.modifier_groups.",
"hospitality.qr_codes.",
"hospitality.qr_menu_sessions.",
"hospitality.qr_ordering_sessions.",
"hospitality.carts.",
"hospitality.reservations.",
"hospitality.table_assignments.",
"hospitality.service_requests.",
"hospitality.waitlist.",
"hospitality.pos_registers.",
"hospitality.pos_shifts.",
"hospitality.pos_tickets.",
"hospitality.pos_payments.",
"hospitality.pos_discounts.",
"hospitality.pos_tax_lines.",
"hospitality.pos_floor_plans.",
"hospitality.pos_stations.",
"hospitality.kitchen_stations.",
"hospitality.kitchen_tickets.",
"hospitality.connector_registrations.",
"hospitality.connector_dispatches.",
"hospitality.analytics_reports.",
"hospitality.analytics_snapshots.",
"hospitality.bundles.",
"hospitality.tenant_bundles.",
"hospitality.feature_toggles.",
)