17 lines
586 B
Python
17 lines
586 B
Python
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)
|