from django.apps import AppConfig
from django.conf import settings
from django.contrib.auth import get_user_model
from django.db.models.signals import post_migrate


def _create_dev_superuser(sender, **kwargs):
    if not settings.DEBUG:
        return
    User = get_user_model()
    if not User.objects.filter(username="admin").exists():
        User.objects.create_superuser("admin", "admin@example.com", "admin")


class TokensConfig(AppConfig):
    default_auto_field = "django.db.models.BigAutoField"
    name = "tokens"

    def ready(self):
        post_migrate.connect(_create_dev_superuser, sender=self)
