diff --git a/fooder/controller/preset.py b/fooder/controller/preset.py index d2f684a..15a9d6f 100644 --- a/fooder/controller/preset.py +++ b/fooder/controller/preset.py @@ -12,7 +12,7 @@ class ListPresets(AuthorizedController): ) -> AsyncIterator[Preset]: async with self.async_session() as session: async for preset in DBPreset.list_all( - session, limit=limit, offset=offset, q=q + session, user_id=self.user.id, limit=limit, offset=offset, q=q ): yield Preset.from_orm(preset) diff --git a/fooder/domain/preset.py b/fooder/domain/preset.py index 12c9cc7..5917e4a 100644 --- a/fooder/domain/preset.py +++ b/fooder/domain/preset.py @@ -80,12 +80,19 @@ class Preset(Base, CommonMixin): @classmethod async def list_all( - cls, session: AsyncSession, offset: int, limit: int, q: Optional[str] = None + cls, + session: AsyncSession, + user_id: int, + offset: int, + limit: int, + q: Optional[str] = None, ) -> AsyncIterator["Preset"]: query = select(cls) if q: - query = query.filter(cls.name.ilike(f"%{q.lower()}%")) + query = query.filter(cls.user_id == user_id).filter( + cls.name.ilike(f"%{q.lower()}%") + ) query = query.offset(offset).limit(limit) stream = await session.stream_scalars(query.order_by(cls.id))