Files
backend/main.py
2024-12-21 18:25:52 +03:00

43 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from fastapi import FastAPI
from instance.configdb import init_postgresql, init_mongodb, close_connections
from app.routes import user_router, payment_router, subscription_router
from app.services.db_manager import DatabaseManager
from instance.configdb import get_postgres_session
# Создаём приложение FastAPI
app = FastAPI()
# Инициализация менеджера базы данных
database_manager = DatabaseManager(session_generator=get_postgres_session)
# Событие при старте приложения
@app.on_event("startup")
async def startup():
"""
Инициализация подключения к базам данных.
"""
await init_postgresql()
await init_mongodb()
# Событие при завершении работы приложения
@app.on_event("shutdown")
async def shutdown():
"""
Закрытие соединений с базами данных.
"""
await close_connections()
# Подключение маршрутов
app.include_router(user_router, prefix="/api")
app.include_router(payment_router, prefix="/api")
app.include_router(subscription_router, prefix="/api")
# Пример корневого маршрута
@app.get("/")
async def root():
"""
Пример маршрута, использующего DatabaseManager.
"""
user = await database_manager.create_user(telegram_id=12345)
return {"message": "User created", "user": {"id": user.id, "telegram_id": user.telegram_id}}