service_man/api/infrastructure/persistence/repositories/user_repository.py

32 lines
901 B
Python

from sqlalchemy import text
from sqlalchemy.ext.asyncio import AsyncSession
from api.domain.user import User, UserRepository
class SqlAlchemyUserRepository(UserRepository):
def __init__(self, session: AsyncSession) -> None:
self.session = session
async def create_user(self, user: User) -> None:
stmt = text(
"""INSERT INTO users (id, name, email, hashed_password)
VALUES(:id, :name, :email, :hashed_password)
"""
)
await self.session.execute(
stmt,
{
"id": str(user.id.value),
"name": user.name.value,
"email": user.email.value,
"hashed_password": user.hashed_password,
},
)
async def get_user(self, filter: dict) -> User | None:
pass
async def get_users(self) -> list[User]:
return []