46 lines
1.5 KiB
Python
Raw Permalink Normal View History

2025-12-10 12:02:17 +08:00
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
# Ensure models are imported so metadata is populated
import backend.db.import_all_models # noqa: F401
from backend.modules.auth.router import router as auth_router
from backend.modules.users.router import router as users_router
from backend.modules.customers.router import router as customers_router
from backend.modules.aws_accounts.router import router as aws_credentials_router
from backend.modules.instances.router import router as instances_router
from backend.modules.jobs.router import router as jobs_router
from backend.modules.audit.router import router as audit_router
from backend.modules.settings.router import router as settings_router
from backend.modules.menus.router import router as menus_router
from backend.modules.instances.service import start_global_sync_scheduler
app = FastAPI(title="AWS EC2 Panel", version="0.2.0")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/healthz")
async def healthz():
return {"status": "ok"}
app.include_router(auth_router)
app.include_router(users_router)
app.include_router(customers_router)
app.include_router(aws_credentials_router)
app.include_router(instances_router)
app.include_router(jobs_router)
app.include_router(audit_router)
app.include_router(settings_router)
app.include_router(menus_router)
@app.on_event("startup")
async def _start_background_tasks():
start_global_sync_scheduler()