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 ```
41 lines
2.1 KiB
Python
41 lines
2.1 KiB
Python
from fastapi import APIRouter
|
|
|
|
from app.core.constants import ApiResponseKey, ApiStatus
|
|
from app.modules.ai_agent.routes import router as ai_router
|
|
from app.modules.approvals.routes import router as approvals_router
|
|
from app.modules.audit.routes import router as audit_router
|
|
from app.modules.business.routes import router as business_router
|
|
from app.modules.dashboard.routes import router as dashboard_router
|
|
from app.modules.events.routes import router as events_router
|
|
from app.modules.feishu.routes import router as feishu_router
|
|
from app.modules.legacy_mysql.routes import router as legacy_mysql_router
|
|
from app.modules.observability.routes import router as observability_router
|
|
from app.modules.reports.routes import router as reports_router
|
|
from app.modules.risk.routes import router as risk_router
|
|
from app.modules.workflows.routes import router as workflows_router
|
|
from app.modules.writebacks.routes import router as writebacks_router
|
|
|
|
api_router = APIRouter()
|
|
|
|
|
|
@api_router.get("/health", tags=["system"])
|
|
def health_check() -> dict[str, str]:
|
|
"""Return basic API health status."""
|
|
|
|
return {ApiResponseKey.STATUS: ApiStatus.OK}
|
|
|
|
|
|
api_router.include_router(business_router, prefix="/business", tags=["business"])
|
|
api_router.include_router(dashboard_router, prefix="/dashboard", tags=["dashboard"])
|
|
api_router.include_router(legacy_mysql_router, prefix="/integrations/mysql", tags=["mysql"])
|
|
api_router.include_router(feishu_router, prefix="/integrations/feishu", tags=["feishu"])
|
|
api_router.include_router(ai_router, prefix="/ai", tags=["ai"])
|
|
api_router.include_router(approvals_router, prefix="/approvals", tags=["approvals"])
|
|
api_router.include_router(reports_router, prefix="/reports", tags=["reports"])
|
|
api_router.include_router(risk_router, prefix="/risks", tags=["risks"])
|
|
api_router.include_router(audit_router, prefix="/audit", tags=["audit"])
|
|
api_router.include_router(events_router, prefix="/events", tags=["events"])
|
|
api_router.include_router(workflows_router, prefix="/workflows", tags=["workflows"])
|
|
api_router.include_router(writebacks_router, prefix="/writebacks", tags=["writebacks"])
|
|
api_router.include_router(observability_router, tags=["observability"])
|