This commit is contained in:
2024-04-04 10:51:51 +00:00
parent b04eba9bc4
commit f8f5bf80c1
6 changed files with 74 additions and 37 deletions

View File

@@ -2,6 +2,7 @@ from sqlalchemy import text
from sqlalchemy.ext.asyncio import AsyncSession
from api.domain.user import User, UserRepository
from api.domain.user.model import UserEmail, UserFirstName, UserId
class SqlAlchemyUserRepository(UserRepository):
@@ -25,7 +26,17 @@ class SqlAlchemyUserRepository(UserRepository):
)
async def get_user(self, filter: dict) -> User | None:
pass
stmt = text("""SELECT * FROM users WHERE email = :val""")
result = await self.session.execute(stmt, {"val": filter["email"]})
if not result:
return None
result = result.mappings().one()
return User(
id=UserId(result.id),
name=UserFirstName(result.name),
email=UserEmail(result.email),
hashed_password=result.hashed_password,
)
async def get_users(self) -> list[User]:
return []