from typing import Sequence from fooder.domain import Preset from fooder.repository.base import DEFAULT_LIMIT, RepositoryBase class PresetRepository(RepositoryBase[Preset]): async def get_by_id_and_user(self, preset_id: int, user_id: int) -> Preset: return await self._get(Preset.id == preset_id, Preset.user_id == user_id) async def list_by_user( self, user_id: int, offset: int = 0, limit: int | None = DEFAULT_LIMIT, ) -> Sequence[Preset]: return await self._list(Preset.user_id == user_id, offset=offset, limit=limit)