CoolFace
Apppublic

chwellofficial/nt360Slides

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
main.py46 linesDownload Raw Back to api
1import os2 3from fastapi import FastAPI4from fastapi.middleware.cors import CORSMiddleware5from fastapi.staticfiles import StaticFiles6 7from api.lifespan import app_lifespan8from api.middlewares import SessionAuthMiddleware, UserConfigEnvUpdateMiddleware9from api.v1.auth.router import API_V1_AUTH_ROUTER10from api.v1.mock.router import API_V1_MOCK_ROUTER11from api.v1.ppt.router import API_V1_PPT_ROUTER12from api.v1.webhook.router import API_V1_WEBHOOK_ROUTER13from utils.get_env import get_app_data_directory_env14from utils.path_helpers import get_resource_path15 16app = FastAPI(lifespan=app_lifespan)17 18# Routers19app.include_router(API_V1_PPT_ROUTER)20app.include_router(API_V1_WEBHOOK_ROUTER)21app.include_router(API_V1_MOCK_ROUTER)22app.include_router(API_V1_AUTH_ROUTER)23 24# Mount app_data and static assets (direct FastAPI access; nginx also serves /static in Docker).25app_data_dir = get_app_data_directory_env()26if app_data_dir:27    os.makedirs(app_data_dir, exist_ok=True)28    app.mount("/app_data", StaticFiles(directory=app_data_dir), name="app_data")29 30static_dir = get_resource_path("static")31if os.path.isdir(static_dir):32    app.mount("/static", StaticFiles(directory=static_dir), name="static")33 34# Middlewares35origins = ["*"]36app.add_middleware(37    CORSMiddleware,38    allow_origins=origins,39    allow_credentials=True,40    allow_methods=["*"],41    allow_headers=["*"],42)43 44app.add_middleware(UserConfigEnvUpdateMiddleware)45app.add_middleware(SessionAuthMiddleware)46