# import pathlib from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates from fastapi.staticfiles import StaticFiles from fastapi.responses import HTMLResponse import uuid from contextlib import asynccontextmanager from .database import create_tables, delete_tables from .router import router as datings_router from .validity import is_valid_uuid @asynccontextmanager async def lifespan(app: FastAPI): await create_tables() print("База готова") yield # await delete_tables() # print("База очищена") pass # app = FastAPI(lifespan=lifespan) app = FastAPI(lifespan=lifespan, docs_url=None, redoc_url=None, openapi_url=None) templates = Jinja2Templates(directory="templates") app.include_router(datings_router) app.mount("/static", StaticFiles(directory="static"), name="static") @app.get("/", response_class=HTMLResponse) async def index(request: Request): response = templates.TemplateResponse("index.html", {"request": request}) sessionKey = request.cookies.get("sessionkey") if isinstance(sessionKey, str) and is_valid_uuid(sessionKey): pass else: response.set_cookie(key="sessionkey", value=str(uuid.uuid4())) return response