| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- """FastAPI application factory."""
- from fastapi import FastAPI
- from fastapi.middleware.cors import CORSMiddleware
- from app.config import get_settings
- settings = get_settings()
- def create_app() -> FastAPI:
- app = FastAPI(
- title="报销系统",
- version="1.0.0",
- docs_url="/api/docs",
- openapi_url="/api/openapi.json",
- )
- app.add_middleware(
- CORSMiddleware,
- allow_origins=["*"],
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"],
- )
- from app.routers import auth, user, role, menu, expense_item, workflow, advance, reimburse, attachment, payment
- app.include_router(auth.router)
- app.include_router(user.router)
- app.include_router(role.router)
- app.include_router(menu.router)
- app.include_router(expense_item.router)
- app.include_router(workflow.router)
- app.include_router(advance.router)
- app.include_router(reimburse.router)
- app.include_router(attachment.router)
- app.include_router(payment.router)
- @app.get("/api/health")
- def health_check():
- return {"status": "ok"}
- return app
- app = create_app()
- if __name__ == "__main__":
- import uvicorn
- uvicorn.run(
- "app.main:app",
- host=settings.APP_HOST,
- port=settings.APP_PORT,
- reload=settings.DEBUG,
- )
|