import datetime from typing import Sequence from fooder.domain import Diary from fooder.repository.base import RepositoryBase, DEFAULT_LIMIT class DiaryRepository(RepositoryBase[Diary]): async def get_by_user_and_date(self, user_id: int, date: datetime.date) -> Diary: return await self._get(Diary.user_id == user_id, Diary.date == date) async def list_by_user( self, user_id: int, offset: int = 0, limit: int | None = DEFAULT_LIMIT ) -> Sequence[Diary]: return await self._list(Diary.user_id == user_id, offset=offset, limit=limit)