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 ```
36 lines
921 B
Python
36 lines
921 B
Python
from typing import Any
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from app.modules.writebacks.constants import WRITEBACK_DEFAULT_ACTION
|
|
|
|
|
|
class WritebackCreateRequest(BaseModel):
|
|
domain: str = Field(..., min_length=1)
|
|
record_id: str | None = None
|
|
action: str = Field(default=WRITEBACK_DEFAULT_ACTION, min_length=1)
|
|
payload: dict[str, Any] = Field(default_factory=dict)
|
|
idempotency_key: str | None = None
|
|
|
|
|
|
class WritebackSubmitRequest(BaseModel):
|
|
approval_ticket_id: str | None = None
|
|
|
|
|
|
class WritebackRead(BaseModel):
|
|
code: str
|
|
domain: str
|
|
record_id: str | None
|
|
action: str
|
|
actor: str
|
|
status: str
|
|
approval_ticket_id: str | None
|
|
idempotency_key: str | None
|
|
request_payload: dict[str, Any] | None
|
|
provider_response: dict[str, Any] | None
|
|
error_message: str | None
|
|
created_at: str
|
|
updated_at: str
|
|
submitted_at: str | None
|
|
sent_at: str | None
|