CrowdTLS-server/crowdtls/api.py

25 lines
659 B
Python
Raw Normal View History

2023-06-06 15:51:54 -07:00
from fastapi import FastAPI
2023-06-07 14:35:48 -07:00
from fastapi.middleware.cors import CORSMiddleware
2023-06-06 15:51:54 -07:00
2023-06-07 14:35:48 -07:00
from crowdtls.db import create_db_and_tables
from crowdtls.logs import logger
from crowdtls.v1.api import app as api_v1_app
2023-06-06 15:51:54 -07:00
app = FastAPI()
2023-06-07 14:35:48 -07:00
app.add_middleware(CORSMiddleware, allow_origins=["*"], allow_methods=["POST"], allow_headers=["*"])
app.include_router(api_v1_app, prefix="/api/v1")
2023-06-06 15:51:54 -07:00
2023-06-07 14:35:48 -07:00
@app.on_event("startup")
async def startup_event():
logger.info("Creating database and tables")
try:
await create_db_and_tables()
except Exception:
logger.error("Failed to create database and tables")
raise
if __name__ == "__main__":
app.run()