from django.apps import AppConfig class ModerationConfig(AppConfig): default_auto_field = "django.db.models.BigAutoField" name = "apps.moderation" verbose_name = "Content Moderation" def ready(self): """Initialize state machines for all moderation models.""" from apps.core.state_machine import apply_state_machine from .models import ( EditSubmission, ModerationReport, ModerationQueue, BulkOperation, PhotoSubmission, ) # Apply FSM to all models with their respective choice groups apply_state_machine( EditSubmission, field_name="status", choice_group="edit_submission_statuses", domain="moderation", ) apply_state_machine( ModerationReport, field_name="status", choice_group="moderation_report_statuses", domain="moderation", ) apply_state_machine( ModerationQueue, field_name="status", choice_group="moderation_queue_statuses", domain="moderation", ) apply_state_machine( BulkOperation, field_name="status", choice_group="bulk_operation_statuses", domain="moderation", ) apply_state_machine( PhotoSubmission, field_name="status", choice_group="photo_submission_statuses", domain="moderation", )