# Generated by Django 5.1.6 on 2025-12-26 14:10

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models

import apps.core.state_machine.fields


class Migration(migrations.Migration):

    dependencies = [
        ("contenttypes", "0002_remove_content_type_name"),
        ("moderation", "0007_convert_status_to_richfsmfield"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.AlterModelOptions(
            name="bulkoperation",
            options={
                "ordering": ["-created_at"],
                "verbose_name": "Bulk Operation",
                "verbose_name_plural": "Bulk Operations",
            },
        ),
        migrations.AlterModelOptions(
            name="editsubmission",
            options={
                "ordering": ["-created_at"],
                "verbose_name": "Edit Submission",
                "verbose_name_plural": "Edit Submissions",
            },
        ),
        migrations.AlterModelOptions(
            name="moderationaction",
            options={
                "ordering": ["-created_at"],
                "verbose_name": "Moderation Action",
                "verbose_name_plural": "Moderation Actions",
            },
        ),
        migrations.AlterModelOptions(
            name="moderationqueue",
            options={
                "ordering": ["priority", "created_at"],
                "verbose_name": "Moderation Queue Item",
                "verbose_name_plural": "Moderation Queue Items",
            },
        ),
        migrations.AlterModelOptions(
            name="moderationreport",
            options={
                "ordering": ["-created_at"],
                "verbose_name": "Moderation Report",
                "verbose_name_plural": "Moderation Reports",
            },
        ),
        migrations.AlterModelOptions(
            name="photosubmission",
            options={
                "ordering": ["-created_at"],
                "verbose_name": "Photo Submission",
                "verbose_name_plural": "Photo Submissions",
            },
        ),
        migrations.AlterField(
            model_name="bulkoperation",
            name="completed_at",
            field=models.DateTimeField(blank=True, help_text="When this operation completed", null=True),
        ),
        migrations.AlterField(
            model_name="bulkoperation",
            name="created_by",
            field=models.ForeignKey(
                help_text="User who created this operation",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="bulk_operations_created",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="bulkoperation",
            name="started_at",
            field=models.DateTimeField(blank=True, help_text="When this operation started", null=True),
        ),
        migrations.AlterField(
            model_name="bulkoperation",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this operation was last updated"),
        ),
        migrations.AlterField(
            model_name="bulkoperationevent",
            name="completed_at",
            field=models.DateTimeField(blank=True, help_text="When this operation completed", null=True),
        ),
        migrations.AlterField(
            model_name="bulkoperationevent",
            name="created_by",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="User who created this operation",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="bulkoperationevent",
            name="started_at",
            field=models.DateTimeField(blank=True, help_text="When this operation started", null=True),
        ),
        migrations.AlterField(
            model_name="bulkoperationevent",
            name="status",
            field=apps.core.state_machine.fields.RichFSMField(
                allow_deprecated=False,
                choice_group="bulk_operation_statuses",
                choices=[
                    ("PENDING", "Pending"),
                    ("RUNNING", "Running"),
                    ("COMPLETED", "Completed"),
                    ("FAILED", "Failed"),
                    ("CANCELLED", "Cancelled"),
                ],
                default="PENDING",
                domain="moderation",
                max_length=20,
            ),
        ),
        migrations.AlterField(
            model_name="bulkoperationevent",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this operation was last updated"),
        ),
        migrations.AlterField(
            model_name="editsubmission",
            name="content_type",
            field=models.ForeignKey(
                help_text="Type of object being edited",
                on_delete=django.db.models.deletion.CASCADE,
                to="contenttypes.contenttype",
            ),
        ),
        migrations.AlterField(
            model_name="editsubmission",
            name="handled_at",
            field=models.DateTimeField(blank=True, help_text="When this submission was handled", null=True),
        ),
        migrations.AlterField(
            model_name="editsubmission",
            name="handled_by",
            field=models.ForeignKey(
                blank=True,
                help_text="Moderator who handled this submission",
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="handled_submissions",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="editsubmission",
            name="object_id",
            field=models.PositiveIntegerField(
                blank=True,
                help_text="ID of object being edited (null for new objects)",
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="editsubmission",
            name="user",
            field=models.ForeignKey(
                help_text="User who submitted this edit",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="edit_submissions",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="editsubmissionevent",
            name="content_type",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Type of object being edited",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="contenttypes.contenttype",
            ),
        ),
        migrations.AlterField(
            model_name="editsubmissionevent",
            name="handled_at",
            field=models.DateTimeField(blank=True, help_text="When this submission was handled", null=True),
        ),
        migrations.AlterField(
            model_name="editsubmissionevent",
            name="handled_by",
            field=models.ForeignKey(
                blank=True,
                db_constraint=False,
                help_text="Moderator who handled this submission",
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="editsubmissionevent",
            name="object_id",
            field=models.PositiveIntegerField(
                blank=True,
                help_text="ID of object being edited (null for new objects)",
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="editsubmissionevent",
            name="status",
            field=apps.core.state_machine.fields.RichFSMField(
                allow_deprecated=False,
                choice_group="edit_submission_statuses",
                choices=[
                    ("PENDING", "Pending"),
                    ("APPROVED", "Approved"),
                    ("REJECTED", "Rejected"),
                    ("ESCALATED", "Escalated"),
                ],
                default="PENDING",
                domain="moderation",
                max_length=20,
            ),
        ),
        migrations.AlterField(
            model_name="editsubmissionevent",
            name="user",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="User who submitted this edit",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationaction",
            name="created_at",
            field=models.DateTimeField(auto_now_add=True, help_text="When this action was created"),
        ),
        migrations.AlterField(
            model_name="moderationaction",
            name="moderator",
            field=models.ForeignKey(
                help_text="Moderator who took this action",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="moderation_actions_taken",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationaction",
            name="related_report",
            field=models.ForeignKey(
                blank=True,
                help_text="Related moderation report",
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="actions_taken",
                to="moderation.moderationreport",
            ),
        ),
        migrations.AlterField(
            model_name="moderationaction",
            name="target_user",
            field=models.ForeignKey(
                help_text="User this action was taken against",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="moderation_actions_received",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationaction",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this action was last updated"),
        ),
        migrations.AlterField(
            model_name="moderationactionevent",
            name="created_at",
            field=models.DateTimeField(auto_now_add=True, help_text="When this action was created"),
        ),
        migrations.AlterField(
            model_name="moderationactionevent",
            name="moderator",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Moderator who took this action",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationactionevent",
            name="related_report",
            field=models.ForeignKey(
                blank=True,
                db_constraint=False,
                help_text="Related moderation report",
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="moderation.moderationreport",
            ),
        ),
        migrations.AlterField(
            model_name="moderationactionevent",
            name="target_user",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="User this action was taken against",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationactionevent",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this action was last updated"),
        ),
        migrations.AlterField(
            model_name="moderationqueue",
            name="assigned_at",
            field=models.DateTimeField(blank=True, help_text="When this item was assigned", null=True),
        ),
        migrations.AlterField(
            model_name="moderationqueue",
            name="assigned_to",
            field=models.ForeignKey(
                blank=True,
                help_text="Moderator assigned to this item",
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="assigned_queue_items",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationqueue",
            name="created_at",
            field=models.DateTimeField(auto_now_add=True, help_text="When this item was created"),
        ),
        migrations.AlterField(
            model_name="moderationqueue",
            name="flagged_by",
            field=models.ForeignKey(
                blank=True,
                help_text="User who flagged this item",
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="flagged_queue_items",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationqueue",
            name="related_report",
            field=models.ForeignKey(
                blank=True,
                help_text="Related moderation report",
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="queue_items",
                to="moderation.moderationreport",
            ),
        ),
        migrations.AlterField(
            model_name="moderationqueue",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this item was last updated"),
        ),
        migrations.AlterField(
            model_name="moderationqueueevent",
            name="assigned_at",
            field=models.DateTimeField(blank=True, help_text="When this item was assigned", null=True),
        ),
        migrations.AlterField(
            model_name="moderationqueueevent",
            name="assigned_to",
            field=models.ForeignKey(
                blank=True,
                db_constraint=False,
                help_text="Moderator assigned to this item",
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationqueueevent",
            name="created_at",
            field=models.DateTimeField(auto_now_add=True, help_text="When this item was created"),
        ),
        migrations.AlterField(
            model_name="moderationqueueevent",
            name="flagged_by",
            field=models.ForeignKey(
                blank=True,
                db_constraint=False,
                help_text="User who flagged this item",
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationqueueevent",
            name="related_report",
            field=models.ForeignKey(
                blank=True,
                db_constraint=False,
                help_text="Related moderation report",
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="moderation.moderationreport",
            ),
        ),
        migrations.AlterField(
            model_name="moderationqueueevent",
            name="status",
            field=apps.core.state_machine.fields.RichFSMField(
                allow_deprecated=False,
                choice_group="moderation_queue_statuses",
                choices=[
                    ("PENDING", "Pending"),
                    ("IN_PROGRESS", "In Progress"),
                    ("COMPLETED", "Completed"),
                    ("CANCELLED", "Cancelled"),
                ],
                default="PENDING",
                domain="moderation",
                max_length=20,
            ),
        ),
        migrations.AlterField(
            model_name="moderationqueueevent",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this item was last updated"),
        ),
        migrations.AlterField(
            model_name="moderationreport",
            name="assigned_moderator",
            field=models.ForeignKey(
                blank=True,
                help_text="Moderator assigned to handle this report",
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="assigned_moderation_reports",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationreport",
            name="created_at",
            field=models.DateTimeField(auto_now_add=True, help_text="When this report was created"),
        ),
        migrations.AlterField(
            model_name="moderationreport",
            name="reported_by",
            field=models.ForeignKey(
                help_text="User who made this report",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="moderation_reports_made",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationreport",
            name="resolved_at",
            field=models.DateTimeField(blank=True, help_text="When this report was resolved", null=True),
        ),
        migrations.AlterField(
            model_name="moderationreport",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this report was last updated"),
        ),
        migrations.AlterField(
            model_name="moderationreportevent",
            name="assigned_moderator",
            field=models.ForeignKey(
                blank=True,
                db_constraint=False,
                help_text="Moderator assigned to handle this report",
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationreportevent",
            name="created_at",
            field=models.DateTimeField(auto_now_add=True, help_text="When this report was created"),
        ),
        migrations.AlterField(
            model_name="moderationreportevent",
            name="reported_by",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="User who made this report",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="moderationreportevent",
            name="resolved_at",
            field=models.DateTimeField(blank=True, help_text="When this report was resolved", null=True),
        ),
        migrations.AlterField(
            model_name="moderationreportevent",
            name="status",
            field=apps.core.state_machine.fields.RichFSMField(
                allow_deprecated=False,
                choice_group="moderation_report_statuses",
                choices=[
                    ("PENDING", "Pending Review"),
                    ("UNDER_REVIEW", "Under Review"),
                    ("RESOLVED", "Resolved"),
                    ("DISMISSED", "Dismissed"),
                ],
                default="PENDING",
                domain="moderation",
                max_length=20,
            ),
        ),
        migrations.AlterField(
            model_name="moderationreportevent",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, help_text="When this report was last updated"),
        ),
        migrations.AlterField(
            model_name="photosubmission",
            name="caption",
            field=models.CharField(blank=True, help_text="Photo caption", max_length=255),
        ),
        migrations.AlterField(
            model_name="photosubmission",
            name="content_type",
            field=models.ForeignKey(
                help_text="Type of object this photo is for",
                on_delete=django.db.models.deletion.CASCADE,
                to="contenttypes.contenttype",
            ),
        ),
        migrations.AlterField(
            model_name="photosubmission",
            name="date_taken",
            field=models.DateField(blank=True, help_text="Date the photo was taken", null=True),
        ),
        migrations.AlterField(
            model_name="photosubmission",
            name="handled_at",
            field=models.DateTimeField(blank=True, help_text="When this submission was handled", null=True),
        ),
        migrations.AlterField(
            model_name="photosubmission",
            name="handled_by",
            field=models.ForeignKey(
                blank=True,
                help_text="Moderator who handled this submission",
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="handled_photos",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="photosubmission",
            name="object_id",
            field=models.PositiveIntegerField(help_text="ID of object this photo is for"),
        ),
        migrations.AlterField(
            model_name="photosubmission",
            name="user",
            field=models.ForeignKey(
                help_text="User who submitted this photo",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="photo_submissions",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="caption",
            field=models.CharField(blank=True, help_text="Photo caption", max_length=255),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="content_type",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="Type of object this photo is for",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to="contenttypes.contenttype",
            ),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="date_taken",
            field=models.DateField(blank=True, help_text="Date the photo was taken", null=True),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="handled_at",
            field=models.DateTimeField(blank=True, help_text="When this submission was handled", null=True),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="handled_by",
            field=models.ForeignKey(
                blank=True,
                db_constraint=False,
                help_text="Moderator who handled this submission",
                null=True,
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="object_id",
            field=models.PositiveIntegerField(help_text="ID of object this photo is for"),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="status",
            field=apps.core.state_machine.fields.RichFSMField(
                allow_deprecated=False,
                choice_group="photo_submission_statuses",
                choices=[
                    ("PENDING", "Pending"),
                    ("APPROVED", "Approved"),
                    ("REJECTED", "Rejected"),
                    ("ESCALATED", "Escalated"),
                ],
                default="PENDING",
                domain="moderation",
                max_length=20,
            ),
        ),
        migrations.AlterField(
            model_name="photosubmissionevent",
            name="user",
            field=models.ForeignKey(
                db_constraint=False,
                help_text="User who submitted this photo",
                on_delete=django.db.models.deletion.DO_NOTHING,
                related_name="+",
                related_query_name="+",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
    ]
