Files
portabase/backend/main.py
T

35 lines
905 B
Python
Raw Normal View History

2024-10-19 15:55:51 +02:00
import os
2024-10-27 11:51:53 +01:00
from contextlib import asynccontextmanager
2024-10-19 15:55:51 +02:00
from fastapi import FastAPI
2024-10-27 11:51:53 +01:00
from starlette.middleware.trustedhost import TrustedHostMiddleware
2024-10-19 15:55:51 +02:00
from starlette.staticfiles import StaticFiles
from fastapi.responses import FileResponse
2024-10-27 11:51:53 +01:00
from database import BaseModel, engine
from middleware.db_connection import DatabaseSessionMiddleware
2024-10-19 15:55:51 +02:00
from routes.main import api_router
from fastapi.middleware.cors import CORSMiddleware
2024-10-27 11:51:53 +01:00
from settings import config
2024-10-19 15:55:51 +02:00
2024-10-27 11:51:53 +01:00
@asynccontextmanager
async def lifespan(app: FastAPI):
print("Initialising database...")
BaseModel.metadata.create_all(bind=engine)
print("Database initialised!")
yield
print("App shutdown!")
middlewares = []
app = FastAPI(lifespan=lifespan, middleware=middlewares)
app.add_middleware(DatabaseSessionMiddleware)
app.add_middleware(TrustedHostMiddleware, allowed_hosts=config.ALLOWED_HOSTS)
2024-10-19 15:55:51 +02:00
app.include_router(api_router)