from django.apps import AppConfig

from django.db.models.signals import post_migrate
from django.dispatch import receiver


class ArchiveConfig(AppConfig):
    default_auto_field = "django.db.models.BigAutoField"
    name = "apps.archive"


@receiver(post_migrate)
def insert_defualt_data(sender, **kwargs):
    from apps.archive.models import SourceSiteModel

    categories = {
        "furaffinity": "FurAffinity",
        "deviantart": "DeviantArt",
        "twitter": "Twitter/X",
    }

    if sender.name == ArchiveConfig.name:
        for key, value in categories.items():
            SourceSiteModel.objects.get_or_create(slug=key, name=value)