rb-commons 0.5.4__py3-none-any.whl → 0.5.6__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.
@@ -270,12 +270,18 @@ class BaseManager(Generic[ModelType]):
270
270
  self._reset_state()
271
271
  return result.scalars().first()
272
272
 
273
-
274
- async def count(self) -> int:
273
+ async def count(self) -> int | None:
275
274
  self._ensure_filtered()
276
- query = select(func.count()).select_from(self.model).filter(and_(*self.filters))
277
- result = await self.session.execute(query)
278
- return result.scalar_one()
275
+
276
+ stmt = select(func.count(self.model.id)).select_from(self.model)
277
+ if self.filters:
278
+ stmt = stmt.where(and_(*self.filters))
279
+
280
+ try:
281
+ result = await self.session.execute(stmt)
282
+ return int(result.scalar_one())
283
+ finally:
284
+ self._reset_state()
279
285
 
280
286
  async def paginate(self, limit=10, offset=0, load_all_relations=False):
281
287
  self._ensure_filtered()
@@ -23,7 +23,7 @@ class IsAdmin(BasePermission):
23
23
 
24
24
  class IsCustomer(BasePermission):
25
25
  def has_permission(self, claims: Claims) -> bool:
26
- return claims.user_role == UserRole.CUSTOMER
26
+ return claims.user_role == UserRole.CUSTOMER and claims.user_id is not None
27
27
 
28
28
 
29
29
  IsAdminDep = Annotated[Claims, Depends(IsAdmin())]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rb-commons
3
- Version: 0.5.4
3
+ Version: 0.5.6
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,16 +11,16 @@ 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=1ZyBgSEo_MUkMW38r66hwJpDA0T2EEHeHMpsGhA_iD0,16417
14
+ rb_commons/orm/managers.py,sha256=mKpsN1OrPUDxF12KyZleZNMD7vBBQ503pWclIYjGWFE,16565
15
15
  rb_commons/orm/services.py,sha256=71eRcJ4TxZvzNz-hLXo12X4U7PGK54ZfbLAb27AjZi8,1589
16
16
  rb_commons/permissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- rb_commons/permissions/role_permissions.py,sha256=HL50s5RHW1nk2U3-YTESg0EDGkJDu1vN4QchcfK-L5g,988
17
+ rb_commons/permissions/role_permissions.py,sha256=e5Sw5zUcepXOtsrOlFEgp0Kr5lqHF7sVGPRvx0gDw68,1019
18
18
  rb_commons/schemes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  rb_commons/schemes/jwt.py,sha256=F66JJDhholuOPPzlKeoC6f1TL4gXg4oRUrV5yheNpyo,1675
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.5.4.dist-info/METADATA,sha256=lW5cFKjDBNf83aZuUvjhX2Kf70VIgNCFo3m2SZcIXbA,6570
24
- rb_commons-0.5.4.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
25
- rb_commons-0.5.4.dist-info/top_level.txt,sha256=HPx_WAYo3_fbg1WCeGHsz3wPGio1ucbnrlm2lmqlJog,11
26
- rb_commons-0.5.4.dist-info/RECORD,,
23
+ rb_commons-0.5.6.dist-info/METADATA,sha256=vS_mMAT7aohq3Wl76P3bbrTZQO3JvNlg5XRFlF-IO3A,6570
24
+ rb_commons-0.5.6.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
25
+ rb_commons-0.5.6.dist-info/top_level.txt,sha256=HPx_WAYo3_fbg1WCeGHsz3wPGio1ucbnrlm2lmqlJog,11
26
+ rb_commons-0.5.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (79.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5