| from django.apps import AppConfig |
|
|
|
|
| class AccessConfig(AppConfig): |
| """Configuration for the access control app — RBAC & permissions.""" |
|
|
| default_auto_field = "django.db.models.BigAutoField" |
| name = "apps.access" |
| label = "access" |
| verbose_name = "Access Control" |
|
|
| def ready(self) -> None: |
| from django.db.models.signals import post_migrate |
|
|
| post_migrate.connect(_seed_after_migrate, sender=self) |
|
|
|
|
| def _seed_after_migrate(sender, **kwargs): |
| """Auto-seed default roles and permissions after migrations.""" |
| from apps.access.services.role_seed_service import seed_roles_and_permissions |
|
|
| try: |
| result = seed_roles_and_permissions() |
| total = sum(result.values()) |
| if total: |
| import logging |
| logger = logging.getLogger(__name__) |
| logger.info( |
| "Seeded RBAC: %d roles, %d permissions, %d mappings", |
| result["roles_created"], |
| result["permissions_created"], |
| result["mappings_created"], |
| ) |
| except Exception: |
| pass |
|
|
|
|