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 # Tables may not exist yet during initial migration