Files
orion/app/modules/tenancy/routes/api/admin.py
Samir Boulahtit f95db7c0b1
Some checks failed
CI / ruff (push) Successful in 9s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has started running
feat(roles): add admin store roles page, permission i18n, and menu integration
- Add admin store roles page with merchant→store cascading for superadmin
  and store-only selection for platform admin
- Add permission catalog API with translated labels/descriptions (en/fr/de/lb)
- Add permission translations to all 15 module locale files (60 files total)
- Add info icon tooltips for permission descriptions in role editor
- Add store roles menu item and admin menu item in module definition
- Fix store-selector.js URL construction bug when apiEndpoint has query params
- Add admin store roles API (CRUD + platform scoping)
- Add integration tests for admin store roles and permission catalog

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:31:27 +01:00

47 lines
2.1 KiB
Python

# app/modules/tenancy/routes/api/admin.py
"""
Tenancy module admin API routes.
Aggregates all admin tenancy routes:
- /auth/* - Admin authentication (login, logout, /me, platform selection)
- /admin-users/* - Admin user management (super admin only)
- /users/* - Platform user management
- /merchants/* - Merchant management
- /platforms/* - Platform management (super admin only)
- /stores/* - Store management
- /store-domains/* - Store domain configuration
- /modules/* - Platform module management
- /module-config/* - Module configuration management
The tenancy module owns identity and organizational hierarchy.
"""
from fastapi import APIRouter
from .admin_auth import admin_auth_router
from .admin_merchant_domains import admin_merchant_domains_router
from .admin_merchants import admin_merchants_router
from .admin_module_config import router as admin_module_config_router
from .admin_modules import router as admin_modules_router
from .admin_platform_users import admin_platform_users_router
from .admin_platforms import admin_platforms_router
from .admin_store_domains import admin_store_domains_router
from .admin_store_roles import admin_store_roles_router
from .admin_stores import admin_stores_router
from .admin_users import admin_users_router
admin_router = APIRouter()
# Aggregate all tenancy admin routes
admin_router.include_router(admin_auth_router, tags=["admin-auth"])
admin_router.include_router(admin_users_router, tags=["admin-admin-users"])
admin_router.include_router(admin_platform_users_router, tags=["admin-users"])
admin_router.include_router(admin_merchants_router, tags=["admin-merchants"])
admin_router.include_router(admin_platforms_router, tags=["admin-platforms"])
admin_router.include_router(admin_stores_router, tags=["admin-stores"])
admin_router.include_router(admin_store_domains_router, tags=["admin-store-domains"])
admin_router.include_router(admin_store_roles_router, tags=["admin-store-roles"])
admin_router.include_router(admin_merchant_domains_router, tags=["admin-merchant-domains"])
admin_router.include_router(admin_modules_router, tags=["admin-modules"])
admin_router.include_router(admin_module_config_router, tags=["admin-module-config"])