31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
from backend.database import Base, engine
|
|
from backend.routers import auth, categories, exports, imports, practice, questions, stats
|
|
|
|
app = FastAPI(title="Problem Bank API", version="1.0.0")
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
Base.metadata.create_all(bind=engine)
|
|
|
|
app.include_router(auth.router, prefix="/api/auth", tags=["auth"])
|
|
app.include_router(questions.router, prefix="/api/questions", tags=["questions"])
|
|
app.include_router(imports.router, prefix="/api/import", tags=["imports"])
|
|
app.include_router(exports.router, prefix="/api/export", tags=["exports"])
|
|
app.include_router(categories.router, prefix="/api/categories", tags=["categories"])
|
|
app.include_router(practice.router, prefix="/api/practice", tags=["practice"])
|
|
app.include_router(stats.router, prefix="/api/stats", tags=["stats"])
|
|
|
|
|
|
@app.get("/api/health")
|
|
def health() -> dict:
|
|
return {"status": "ok"}
|