This commit is contained in:
2024-03-03 07:22:42 +03:00
parent 804b658c6e
commit d870f1cffe
27 changed files with 303 additions and 78 deletions

0
backend/__init__.py Normal file
View File

17
backend/config.py Normal file
View File

@@ -0,0 +1,17 @@
import os
from dotenv import load_dotenv
load_dotenv()
# Database
PG_LOGIN = os.environ.get('PG_LOGIN')
PG_PASSWORD = os.environ.get('PG_PASSWORD')
PG_PORT = os.environ.get('PG_PORT')
PG_DATABASE = os.environ.get('PG_DATABASE')
PG_HOST = os.environ.get('PG_HOST')
# Telegram
TELEGRAM_BOT_TOKEN = os.environ.get('TELEGRAM_BOT_TOKEN')
SECRET_KEY = os.environ.get('SECRET_KEY')

19
backend/session.py Normal file
View File

@@ -0,0 +1,19 @@
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy.orm import sessionmaker
from .config import PG_DATABASE, PG_HOST, PG_PASSWORD, PG_LOGIN
DATABASE_URL = f'postgresql+asyncpg://{PG_LOGIN}:{PG_PASSWORD}@{PG_HOST}/{PG_DATABASE}'
engine = create_async_engine(DATABASE_URL)
session_maker = sessionmaker(
engine,
class_=AsyncSession,
expire_on_commit=False,
autocommit=False,
autoflush=False
)
async def get_session() -> AsyncSession:
async with session_maker() as session:
yield session