34 lines
638 B
Python
34 lines
638 B
Python
import logging
|
|
from contextlib import asynccontextmanager
|
|
|
|
from fastapi import FastAPI
|
|
from fastapi.responses import ORJSONResponse
|
|
|
|
from database.engine import database
|
|
from database.models import Base
|
|
from handlers.router import router
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
filename='bot_log.log',
|
|
format="%(asctime)s %(levelname)s %(message)s"
|
|
)
|
|
|
|
|
|
@asynccontextmanager
|
|
async def lifespan(app: FastAPI):
|
|
await database.create_db(base=Base)
|
|
yield
|
|
await database.dispose()
|
|
|
|
|
|
app = FastAPI(
|
|
lifespan=lifespan,
|
|
default_response_class=ORJSONResponse
|
|
)
|
|
|
|
app.include_router(
|
|
router=router,
|
|
prefix='/api'
|
|
)
|