1
from fastapi import FastAPI
2
from fastapi.middleware.cors import CORSMiddleware
3
from fastapi.staticfiles import StaticFiles
4
from fastapi_cache import FastAPICache
5
from fastapi_cache.backends.redis import RedisBackend
6
from redis import asyncio as aioredis
8
from auth.base_config import auth_backend, fastapi_users
9
from auth.schemas import UserCreate, UserRead
10
from operations.router import router as router_operation
11
from tasks.router import router as router_tasks
12
from pages.router import router as router_pages
18
app.mount("/static", StaticFiles(directory="static"), name="static")
21
fastapi_users.get_auth_router(auth_backend),
27
fastapi_users.get_register_router(UserRead, UserCreate),
32
app.include_router(router_operation)
33
app.include_router(router_tasks)
34
app.include_router(router_pages)
37
"http://localhost:3000",
42
allow_origins=origins,
43
allow_credentials=True,
44
allow_methods=["GET", "POST", "OPTIONS", "DELETE", "PATCH", "PUT"],
45
allow_headers=["Content-Type", "Set-Cookie", "Access-Control-Allow-Headers", "Access-Control-Allow-Origin",
49
@app.on_event("startup")
50
async def startup_event():
51
redis = aioredis.from_url("redis://localhost", encoding="utf8", decode_responses=True)
52
FastAPICache.init(RedisBackend(redis), prefix="fastapi-cache")