from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession from src.dutylog.infrastructure.database.models.user import User class UsersDAO: def __init__(self, session: AsyncSession): self.session = session async def get_user(self, user_id: int) -> User | None: result = await self.session.execute( select(User).where(User.id == user_id) ) return result.scalar_one_or_none() async def create_user(self, user_id: int, username: str | None) -> User: user = User(id=user_id, username=username) self.session.add(user) await self.session.commit() return user