from enum import StrEnum class EventStatus(StrEnum): PENDING = "pending" PROCESSED = "processed" FAILED = "failed" class EventType(StrEnum): APPROVAL_DECIDED = "approval.decided" RISK_ACTION_RECORDED = "risk.action_recorded" REPORT_PUSH_SUCCEEDED = "report.push_succeeded" REPORT_PUSH_FAILED = "report.push_failed" LEGACY_SYNC_COMPLETED = "legacy.sync_completed" WRITEBACK_REQUESTED = "writeback.requested" WRITEBACK_SUBMITTED = "writeback.submitted" class EventSource(StrEnum): APPROVAL = "approval" RISK = "risk" REPORTS = "reports" LEGACY_MYSQL = "legacy_mysql" WRITEBACK = "writeback" API = "api" class EventAggregateType(StrEnum): APPROVAL = "approval" RISK_EVENT = "risk-event" REPORT_PUSH_RUN = "report-push-run" LEGACY_SYNC_RUN = "legacy-sync-run" WRITEBACK_RUN = "writeback-run" class EventResponseKey(StrEnum): ITEMS = "items" EVENT = "event" TOTAL = "total" class EventPayloadKey(StrEnum): ACTION = "action" STATUS = "status" TICKET_ID = "ticket_id" DOMAIN = "domain" RECORD_ID = "record_id" APPROVED = "approved" COMMENT = "comment" CODE = "code" CREATED = "created" UPDATED = "updated" SKIPPED = "skipped" ERROR_MESSAGE = "error_message" class EventErrorDetail(StrEnum): EVENT_NOT_FOUND = "Domain event not found" EVENT_CODE_PREFIX = "EVT"