from fastapi import FastAPI from App import bot from .Users.UserRoutes import user_router from .modelInit import models, database from .Transcription.TranscriptionRoutes import transcription_router from .Streaming.StreamingRoutes import streaming_router from .Monitor.monitorRoutes import monitor_router from fastapi.middleware.cors import CORSMiddleware import logging # Configure logging logging.basicConfig( level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) app = FastAPI() origins = ["*"] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.on_event("startup") async def startup_event(): await bot.start() # await upload_bot.start() await models.create_all() if not database.is_connected: await database.connect() print("connected!") @app.on_event("shutdown") async def shutdown_event(): await bot.stop() # await upload_bot.stop() if not database.is_connected: await database.disconnect() print("shutting down!") @app.get("/") async def landing_page(): return {"code": 200, "message": "still running"} app.include_router(user_router) app.include_router(transcription_router) app.include_router(streaming_router) app.include_router(monitor_router)