tranny / App /app.py
Mbonea's picture
restore chat router
6c3701c
raw
history blame
2.27 kB
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
from fastapi.middleware.gzip import GZipMiddleware
from App import bot
from telethon import TelegramClient
from telethon.sessions import StringSession
from .Users.UserRoutes import user_router
from .modelInit import models, database
from .Transcription.TranscriptionRoutes import transcription_router
from .Streaming.StreamingRoutes import streaming_router
from .UserTranscriptions.UserTranscriptionsRoutes import user_transcriptions_router
from .Monitor.monitorRoutes import monitor_router
from .Embedding.EmbeddingRoutes import embeddigs_router
from .Chat.ChatRoutes import chat_router
from fastapi.middleware.cors import CORSMiddleware
from fastapi_jwt_auth.exceptions import AuthJWTException
import logging, orm
# 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.add_middleware(GZipMiddleware, minimum_size=1000)
@app.exception_handler(AuthJWTException)
def authjwt_exception_handler(request: Request, exc: AuthJWTException):
return JSONResponse(status_code=exc.status_code, content={"detail": exc.message})
@app.on_event("startup")
async def startup_event():
await bot.start()
# await upload_bot.start()
# await models.create_all()
# models.metadata.create_all()
if not database.is_connected:
await database.connect()
print("connected!")
@app.on_event("shutdown")
async def shutdown_event():
# bot.session.save()
# await bot.disconnect()
# 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": "we are back!"}
app.include_router(user_router)
app.include_router(transcription_router)
app.include_router(streaming_router)
app.include_router(monitor_router)
app.include_router(user_transcriptions_router)
app.include_router(embeddigs_router)
app.include_router(chat_router)