from django.db import migrations


MESSAGES = {
    "DEVICE_UPDATED": "Acheteur mis à jour",
    "SCALE_NOT_FOUND": "Aucune échelle trouvée pour l'identifiant donné",
    "DEVICE_CREATED": "Appareil mis à jour",
    "MOISTURE_THRESHOLD_BULK_UPDATED": "Seuil de teneur en humidité mis à jour",
}


def seed_fr_api_messages(apps, schema_editor):
    Language = apps.get_model("core", "Language")
    ApiMessage = apps.get_model("core", "ApiMessage")

    language = Language.objects.filter(code="fr").first()

    for message_key, message in MESSAGES.items():
        api_message = ApiMessage.objects.filter(
            message_key=message_key,
            language=language,
        ).first()

        if api_message:
            api_message.message = message
            api_message.save(update_fields=["message"])
        else:
            ApiMessage.objects.create(
                message_key=message_key,
                language=language,
                message=message,
                is_active=True,
            )


def reverse_seed_fr_api_messages(apps, schema_editor):
    pass


class Migration(migrations.Migration):

    dependencies = [
        ('core', '0013_language_eng_name'),
    ]

    operations = [
        migrations.RunPython(
            seed_fr_api_messages,
            reverse_seed_fr_api_messages,
        ),
    ]
