File size: 1,917 Bytes
252d749
72638cd
7306982
252d749
 
 
07fd3f6
ff3b5ca
a2b82e9
d865593
fa1fb30
7306982
bc45051
 
 
 
07fd3f6
 
bc45051
252d749
 
fa1fb30
 
 
 
 
 
 
 
 
 
d865593
 
 
 
 
 
 
 
 
 
252d749
 
 
fa1fb30
72638cd
fa1fb30
 
252d749
 
 
 
 
 
 
fa1fb30
 
0a00c05
72638cd
252d749
 
 
 
 
 
 
8cf933f
252d749
 
 
 
07fd3f6
a2b82e9
ff3b5ca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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 .UserTranscriptions.UserTranscriptionsRoutes import user_transcriptions_router
from .Monitor.monitorRoutes import monitor_router
from fastapi.middleware.cors import CORSMiddleware
import logging, orm


# Configure logging
logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s - %(levelname)s - %(message)s",
    datefmt="%Y-%m-%d %H:%M:%S",
)


async def create_async_model(model):
    import asyncio

    # until something better comes along
    url = model._get_database_url()
    await asyncio.gather(asyncio.create_task(model._create_all(url)))


app = FastAPI()
models = orm.ModelRegistry(database=database)
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(bot_token="6183919505:AAEhHFt4mI18bQeAf2Lj7AePXFRPVLrOFM8")
    # await upload_bot.start()
    # models.create_all()
    # await create_async_model(models)
    if not database.is_connected:
        await database.connect()
        print("connected!")


@app.on_event("shutdown")
async def shutdown_event():
    # await 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)