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 ```
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
from enum import StrEnum
|
|
|
|
|
|
class ActorValue(StrEnum):
|
|
API = "api"
|
|
AUDITOR = "auditor"
|
|
APPROVER = "approver"
|
|
SYSTEM = "system"
|
|
SCHEDULER = "scheduler"
|
|
FEISHU = "feishu"
|
|
|
|
|
|
class HttpHeader(StrEnum):
|
|
AUTHORIZATION = "Authorization"
|
|
X_API_KEY = "X-API-Key"
|
|
X_AUDIT_API_KEY = "X-Audit-API-Key"
|
|
X_APPROVAL_API_KEY = "X-Approval-API-Key"
|
|
X_REQUEST_ID = "X-Request-ID"
|
|
|
|
|
|
class ApiResponseKey(StrEnum):
|
|
STATUS = "status"
|
|
|
|
|
|
class ApiStatus(StrEnum):
|
|
OK = "ok"
|
|
|
|
|
|
class SecurityErrorDetail(StrEnum):
|
|
API_KEY_REQUIRED = "API_KEY is required"
|
|
INVALID_API_KEY = "Invalid API key"
|
|
APPROVAL_API_KEY_REQUIRED = "APPROVAL_API_KEY is required"
|
|
INVALID_APPROVAL_API_KEY = "Invalid approval API key"
|
|
AUDIT_API_KEY_REQUIRED = "AUDIT_API_KEY is required"
|
|
INVALID_AUDIT_API_KEY = "Invalid audit API key"
|
|
|
|
|
|
class ConfigErrorDetail(StrEnum):
|
|
CORS_ORIGINS_FORMAT = "CORS_ORIGINS must be a CSV string or JSON list"
|
|
LEGACY_ALLOWED_QUERIES_FORMAT = "LEGACY_ALLOWED_QUERIES must be a JSON object"
|
|
SERVICE_KEYS_FORMAT = "Service keys must be a JSON list of objects"
|
|
|
|
|
|
BEARER_TOKEN_TEMPLATE = "Bearer {token}"
|
|
DEFAULT_MODEL_PROVIDER = "noop"
|
|
DEFAULT_OPENCLAW_ACTION_JSON = "json"
|