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

View File

@@ -1 +0,0 @@
from .models.basic import *

View File

@@ -1,24 +0,0 @@
from typing import Annotated
from fastapi import Depends
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy.orm import sessionmaker, declarative_base
from settings import PG_LOGIN, PG_PASSWORD, PG_HOST, PG_DATABASE
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)
BaseModel = declarative_base()
async def get_session() -> AsyncSession:
async with session_maker() as session:
yield session
DatabaseDependency = Annotated[AsyncSession, Depends(get_session)]

View File

@@ -1 +0,0 @@
from .basic import User

View File

@@ -1,12 +0,0 @@
from sqlalchemy import Column, Integer, String, BigInteger, Boolean
from ..base import BaseModel
class User(BaseModel):
__tablename__ = 'users'
id = Column(Integer, autoincrement=True, primary_key=True, index=True)
telegram_id = Column(BigInteger, nullable=False, index=True)
phone_number = Column(String)
is_admin = Column(Boolean, nullable=False, default=False)