formaptix-server/main.py

36 lines
845 B
Python
Raw Normal View History

2024-08-08 22:14:02 +03:00
import logging
from contextlib import asynccontextmanager
import uvicorn
from fastapi import FastAPI
2024-09-22 11:34:48 +03:00
from fastapi.middleware.cors import CORSMiddleware
2024-08-08 22:14:02 +03:00
import models
import database
import routes
2024-08-08 22:14:02 +03:00
logging.basicConfig(level=logging.INFO)
@asynccontextmanager
async def lifespan(app: FastAPI):
logging.info("Creating tables in database")
async with database.engine.begin() as connection:
await connection.run_sync(database.Base.metadata.create_all)
yield
2024-08-10 17:01:34 +03:00
2024-08-08 22:14:02 +03:00
app = FastAPI(lifespan=lifespan)
app.include_router(routes.router)
2024-08-08 22:14:02 +03:00
2024-09-22 11:34:48 +03:00
if models.settings.all_cors_origins:
app.add_middleware(
CORSMiddleware,
allow_origins=models.settings.all_cors_origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
uvicorn.run(app, host="0.0.0.0", port=models.settings.PORT)