feat: 添加数据库迁移脚本并更新Dockerfile配置 - 在Dockerfile中添加alembic配置文件和目录的复制指令 - 更新alembic/env.py注册新的模块模型:events、workflows、writebacks - 生成完整的初始数据库schema迁移脚本,包含以下表: - approval_requests, attendance_records, audit_logs, domain_events - expenses, feishu_event_receipts, fund_accounts, legacy_sync_runs - official_writeback_runs, performance_metrics, policies, procurements - projects, report_push_runs, risk_event_actions, risk_events - standards, suppliers, work_reports, work_tasks, workflow_actions - workflow_instances等21个数据表结构定义 - 在API路由器中添加新模块的路由:events、workflows、writebacks、observability ```
43 lines
1019 B
Python
43 lines
1019 B
Python
from enum import StrEnum
|
|
|
|
|
|
class WritebackStatus(StrEnum):
|
|
DRAFT = "draft"
|
|
PENDING_APPROVAL = "pending_approval"
|
|
DISABLED = "disabled"
|
|
QUEUED = "queued"
|
|
SENT = "sent"
|
|
FAILED = "failed"
|
|
|
|
|
|
class WritebackActionValue(StrEnum):
|
|
WRITEBACK = "writeback"
|
|
|
|
|
|
class WritebackPayloadKey(StrEnum):
|
|
CODE = "code"
|
|
STATUS = "status"
|
|
DOMAIN = "domain"
|
|
RECORD_ID = "record_id"
|
|
ACTION = "action"
|
|
PAYLOAD = "payload"
|
|
APPROVAL_TICKET_ID = "approval_ticket_id"
|
|
PROVIDER_RESPONSE = "provider_response"
|
|
ERROR_MESSAGE = "error_message"
|
|
|
|
|
|
class WritebackResponseKey(StrEnum):
|
|
ITEMS = "items"
|
|
DATA = "data"
|
|
|
|
|
|
class WritebackErrorDetail(StrEnum):
|
|
RUN_NOT_FOUND = "Writeback run not found"
|
|
APPROVAL_TICKET_REQUIRED = "approval_ticket_id is required for official writeback"
|
|
OFFICIAL_API_NOT_CONFIGURED = "Official API is not configured"
|
|
|
|
|
|
WRITEBACK_CODE_PREFIX = "WB"
|
|
WRITEBACK_DISABLED_MESSAGE = "Official writeback is disabled"
|
|
WRITEBACK_DEFAULT_ACTION = "sync"
|