52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from fastapi.staticfiles import StaticFiles
|
|
|
|
from app.api import (
|
|
admin,
|
|
cars,
|
|
catalog,
|
|
change_requests,
|
|
entries,
|
|
gamification,
|
|
my,
|
|
ocr,
|
|
service_centers,
|
|
service_visits,
|
|
users,
|
|
)
|
|
from app.core.config import settings
|
|
|
|
app = FastAPI(title="Drivers Bot API", version="0.1.0")
|
|
|
|
dev_origins = ["http://localhost:8000", "http://127.0.0.1:8000"] if not settings.is_production else []
|
|
cors_origins = settings.cors_origin_list or dev_origins
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=cors_origins,
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
app.include_router(users.router, prefix="/api")
|
|
app.include_router(my.router, prefix="/api")
|
|
app.include_router(catalog.router, prefix="/api")
|
|
app.include_router(cars.router, prefix="/api")
|
|
app.include_router(entries.router, prefix="/api")
|
|
app.include_router(gamification.router, prefix="/api")
|
|
app.include_router(ocr.router, prefix="/api")
|
|
app.include_router(service_centers.router, prefix="/api")
|
|
app.include_router(service_visits.router, prefix="/api")
|
|
app.include_router(change_requests.router, prefix="/api")
|
|
app.include_router(admin.router, prefix="/api")
|
|
|
|
|
|
@app.get("/health")
|
|
async def health() -> dict[str, str]:
|
|
return {"status": "ok"}
|
|
|
|
|
|
app.mount("/", StaticFiles(directory="web", html=True), name="web")
|