Files
AiTool/backend/app/main.py
丹尼尔 ad96272ab6 fix:bug
2026-03-12 19:35:06 +08:00

49 lines
1.2 KiB
Python

import os
from pathlib import Path
from typing import List
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from backend.app.routers import customers, projects, finance
def create_app() -> FastAPI:
app = FastAPI(
title="Ops-Core",
description="Monolithic automation & business ops platform",
version="0.1.0",
)
# CORS
raw_origins = os.getenv("CORS_ORIGINS")
if raw_origins:
origins: List[str] = [o.strip() for o in raw_origins.split(",") if o.strip()]
else:
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Routers
app.include_router(customers.router)
app.include_router(projects.router)
app.include_router(finance.router)
# Static data mount (for quotes, contracts, finance archives, etc.)
data_dir = Path("data")
data_dir.mkdir(parents=True, exist_ok=True)
app.mount("/data", StaticFiles(directory=str(data_dir)), name="data")
return app
app = create_app()