From 9a84abc0adfca0fd32f449512ca85f498121e20a Mon Sep 17 00:00:00 2001 From: doman Date: Fri, 27 Oct 2023 17:19:20 +0200 Subject: [PATCH] [preset] GO --- fooder/controller/preset.py | 2 +- fooder/domain/preset.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) 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))