from __future__ import annotations

from django.apps import AppConfig
from django.db.models.signals import post_migrate


def _sync_registry(sender, **kwargs):  # pragma: no cover - thin glue
    # Only run for the iam app's own migrate signal.
    if getattr(sender, "label", None) != "iam":
        return
    from simorgh.apps.iam.registry import sync_registry_to_db

    sync_registry_to_db()


class IamConfig(AppConfig):
    name = "simorgh.apps.iam"
    label = "iam"
    default_auto_field = "django.db.models.BigAutoField"
    verbose_name = "IAM"

    def ready(self) -> None:
        post_migrate.connect(_sync_registry, sender=self)
