alabuga/backend/app/main.py
danilgryaznev e050bd46ef 1 vers
2025-09-21 19:30:55 +02:00

44 lines
1.2 KiB
Python

"""Точка входа FastAPI."""
from __future__ import annotations
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.api.routes import admin, auth, journal, missions, store, users
from app.core.config import settings
from app.db.session import engine
from app.models.base import Base
app = FastAPI(title=settings.project_name)
app.add_middleware(
CORSMiddleware,
allow_origins=settings.backend_cors_origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.on_event("startup")
def on_startup() -> None:
"""Создаём таблицы, если миграции ещё не применены."""
Base.metadata.create_all(bind=engine)
app.include_router(auth.router)
app.include_router(users.router)
app.include_router(missions.router)
app.include_router(journal.router)
app.include_router(store.router)
app.include_router(admin.router)
@app.get("/", summary="Проверка работоспособности")
def healthcheck() -> dict[str, str]:
"""Простой ответ для Docker healthcheck."""
return {"status": "ok", "environment": settings.environment}