Spaces:
Sleeping
Sleeping
from fastapi import FastAPI, HTTPException, Security, status | |
from fastapi.middleware.cors import CORSMiddleware | |
from fastapi.middleware.trustedhost import TrustedHostMiddleware | |
from fastapi.security import OAuth2PasswordBearer | |
from fastapi.security.api_key import APIKeyHeader | |
from contextlib import asynccontextmanager | |
from server.routes.mail import router as mailRouter | |
from server.utils.database import Base, SessionLocal, engine | |
async def lifespan(app: FastAPI): | |
# Startup logic | |
Base.metadata.create_all(engine) | |
yield | |
# Shutdown logic | |
db = SessionLocal() | |
await db.close() | |
app = FastAPI( | |
title="Hiago Docs", | |
description="This is the documentation for Hiago's API.", | |
version="1.0", | |
basePath="/v1", | |
lifespan=lifespan, | |
) | |
app.add_middleware( | |
TrustedHostMiddleware, | |
allowed_hosts=["*"], | |
) | |
origins = ["*"] | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=origins, | |
allow_credentials=True, | |
allow_methods=["GET", "POST", "PUT", "DELETE"], | |
allow_headers=["*"], | |
) | |
def home(): | |
return {"Hiago server is running"} | |
app.include_router( | |
mailRouter, | |
tags=["mail"], | |
prefix="/v1", | |
) |