rb-commons 0.4.12__py3-none-any.whl → 0.4.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -181,15 +181,27 @@ class BaseManager(Generic[ModelType]):
181
181
  unique_by_pk = {obj.id: obj for obj in rows}
182
182
  return list(unique_by_pk.values())
183
183
 
184
- async def all(self, load_all_relations: bool = False) -> List[ModelType]:
185
- self._ensure_filtered()
186
- stmt = select(self.model).filter(and_(*self.filters))
184
+ async def all(self, load_all_relations: bool = False) -> List[ModelType] | None:
185
+ try:
186
+ stmt = select(self.model)
187
187
 
188
- if self._limit:
189
- stmt = stmt.limit(self._limit)
190
- self._limit = None
188
+ if self._filtered:
189
+ stmt = stmt.filter(and_(*self.filters))
191
190
 
192
- return await self._execute_query_and_unique_data(stmt, load_all_relations)
191
+ if self._limit:
192
+ stmt = stmt.limit(self._limit)
193
+
194
+ self._clear_query_state()
195
+
196
+ return await self._execute_query_and_unique_data(stmt, load_all_relations)
197
+ finally:
198
+ self._clear_query_state()
199
+
200
+ def _clear_query_state(self):
201
+ """Clear all query state after execution"""
202
+ self._filtered = False
203
+ self.filters = []
204
+ self._limit = None
193
205
 
194
206
  async def paginate(self, limit: int = 10, offset: int = 0, load_all_relations: bool = False) -> List[ModelType]:
195
207
  self._ensure_filtered()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rb-commons
3
- Version: 0.4.12
3
+ Version: 0.4.13
4
4
  Summary: Commons of project and simplified orm based on sqlalchemy.
5
5
  Home-page: https://github.com/RoboSell-organization/rb-commons
6
6
  Author: Abdulvoris
@@ -11,7 +11,7 @@ rb_commons/http/consul.py,sha256=Ioq72VD1jGwoC96set7n2SgxN40olzI-myA2lwKkYi4,186
11
11
  rb_commons/http/exceptions.py,sha256=EGRMr1cRgiJ9Q2tkfANbf0c6-zzXf1CD6J3cmCaT_FA,1885
12
12
  rb_commons/orm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  rb_commons/orm/exceptions.py,sha256=1aMctiEwrPjyehoXVX1l6ML5ZOhmDkmBISzlTD5ey1Y,509
14
- rb_commons/orm/managers.py,sha256=vQ1S7g_wM0sg467HjJh6en-s5qmoO6i4-grjBSZCtgU,16634
14
+ rb_commons/orm/managers.py,sha256=dip4cVh6BHPJJP91gsdvC9ez0m1Z3zvZkWz0Fom2C_0,16944
15
15
  rb_commons/orm/services.py,sha256=71eRcJ4TxZvzNz-hLXo12X4U7PGK54ZfbLAb27AjZi8,1589
16
16
  rb_commons/permissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  rb_commons/permissions/role_permissions.py,sha256=HL50s5RHW1nk2U3-YTESg0EDGkJDu1vN4QchcfK-L5g,988
@@ -20,7 +20,7 @@ rb_commons/schemes/jwt.py,sha256=F66JJDhholuOPPzlKeoC6f1TL4gXg4oRUrV5yheNpyo,167
20
20
  rb_commons/schemes/pagination.py,sha256=8VZW1wZGJIPR9jEBUgppZUoB4uqP8ORudHkMwvEJSxg,1866
21
21
  rb_commons/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  rb_commons/utils/media.py,sha256=KNY_9SdRa3Rp7d3B1tZaXkhmzVa65RcS62BYwZP1bVM,332
23
- rb_commons-0.4.12.dist-info/METADATA,sha256=nOLVXYvtQKAzUVihH3SaKNNF7AUQsUOjxCezGQ_vECw,6571
24
- rb_commons-0.4.12.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
25
- rb_commons-0.4.12.dist-info/top_level.txt,sha256=HPx_WAYo3_fbg1WCeGHsz3wPGio1ucbnrlm2lmqlJog,11
26
- rb_commons-0.4.12.dist-info/RECORD,,
23
+ rb_commons-0.4.13.dist-info/METADATA,sha256=5rjQ8F4d_351Pc-2ZX9BD7jxoFyfE7aNV6Q0HP3JQkA,6571
24
+ rb_commons-0.4.13.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
25
+ rb_commons-0.4.13.dist-info/top_level.txt,sha256=HPx_WAYo3_fbg1WCeGHsz3wPGio1ucbnrlm2lmqlJog,11
26
+ rb_commons-0.4.13.dist-info/RECORD,,