first commit
This commit is contained in:
3
repositories/__init__.py
Normal file
3
repositories/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from .users import UserRepository
|
||||
|
||||
__all__ = ["UserRepository"]
|
||||
23
repositories/users.py
Normal file
23
repositories/users.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from typing import Optional
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from db.models import User
|
||||
from dto.users import NewUserDTO
|
||||
|
||||
|
||||
class UserRepository:
|
||||
async def get_user_by_id(
|
||||
self, session: AsyncSession, user_id: int
|
||||
) -> Optional[User]:
|
||||
stmt = select(User).where(User.id == user_id)
|
||||
result = await session.execute(stmt)
|
||||
|
||||
return result.scalar_one_or_none()
|
||||
|
||||
async def create_user(self, session: AsyncSession, user_data: NewUserDTO) -> User:
|
||||
user = User(id=user_data.id, referal_id=user_data.referal)
|
||||
session.add(user)
|
||||
await session.commit()
|
||||
|
||||
return user
|
||||
Reference in New Issue
Block a user