rb-commons 0.4.7__tar.gz → 0.4.9__tar.gz

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.
Files changed (30) hide show
  1. {rb_commons-0.4.7 → rb_commons-0.4.9}/PKG-INFO +1 -1
  2. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/orm/managers.py +7 -3
  3. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons.egg-info/PKG-INFO +1 -1
  4. {rb_commons-0.4.7 → rb_commons-0.4.9}/setup.py +1 -1
  5. {rb_commons-0.4.7 → rb_commons-0.4.9}/README.md +0 -0
  6. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/__init__.py +0 -0
  7. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/broker/__init__.py +0 -0
  8. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/broker/consumer.py +0 -0
  9. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/configs/__init__.py +0 -0
  10. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/configs/config.py +0 -0
  11. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/configs/injections.py +0 -0
  12. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/configs/rabbitmq.py +0 -0
  13. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/http/__init__.py +0 -0
  14. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/http/base_api.py +0 -0
  15. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/http/consul.py +0 -0
  16. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/http/exceptions.py +0 -0
  17. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/orm/__init__.py +0 -0
  18. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/orm/exceptions.py +0 -0
  19. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/orm/services.py +0 -0
  20. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/permissions/__init__.py +0 -0
  21. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/permissions/role_permissions.py +0 -0
  22. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/schemes/__init__.py +0 -0
  23. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/schemes/jwt.py +0 -0
  24. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/utils/__init__.py +0 -0
  25. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons/utils/media.py +0 -0
  26. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons.egg-info/SOURCES.txt +0 -0
  27. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons.egg-info/dependency_links.txt +0 -0
  28. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons.egg-info/requires.txt +0 -0
  29. {rb_commons-0.4.7 → rb_commons-0.4.9}/rb_commons.egg-info/top_level.txt +0 -0
  30. {rb_commons-0.4.7 → rb_commons-0.4.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rb-commons
3
- Version: 0.4.7
3
+ Version: 0.4.9
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
@@ -33,6 +33,7 @@ class BaseManager(Generic[ModelType]):
33
33
  self.data = None
34
34
  self.filters = []
35
35
  self._filtered = False
36
+ self._limit = None
36
37
 
37
38
  async def _smart_commit(self, instance: Optional[ModelType] = None) -> Optional[ModelType]:
38
39
  if not self.session.in_transaction():
@@ -176,6 +177,10 @@ class BaseManager(Generic[ModelType]):
176
177
  async def all(self, load_all_relations: bool = False) -> List[ModelType]:
177
178
  self._ensure_filtered()
178
179
  stmt = select(self.model).filter(and_(*self.filters))
180
+
181
+ if self._limit:
182
+ stmt = stmt.limit(self._limit)
183
+
179
184
  return await self._execute_query_and_unique_data(stmt, load_all_relations)
180
185
 
181
186
  async def paginate(self, limit: int = 10, offset: int = 0, load_all_relations: bool = False) -> List[ModelType]:
@@ -387,11 +392,10 @@ class BaseManager(Generic[ModelType]):
387
392
  if not self.session.in_transaction():
388
393
  await self.session.commit()
389
394
 
390
- @with_transaction_error_handling
391
395
  def has_relation(self, relation_name: str) -> 'BaseManager[ModelType]':
392
396
  """
393
397
  Check if a relationship exists between models using an EXISTS subquery.
394
-
398
+
395
399
  :param relation_name Name of the relationship to check. Must be a valid relationship
396
400
  defined in the model.
397
401
 
@@ -399,7 +403,7 @@ class BaseManager(Generic[ModelType]):
399
403
 
400
404
  :raise DatabaseException: If there's an error constructing the subquery.
401
405
  :raise InternalException: If there's an unexpected error in relationship handling.
402
-
406
+
403
407
  Notes:
404
408
  - The relationship must be properly defined in the SQLAlchemy model
405
409
  - Uses a non-correlated EXISTS subquery for better performance
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rb-commons
3
- Version: 0.4.7
3
+ Version: 0.4.9
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
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="rb-commons",
8
- version="0.4.7",
8
+ version="0.4.9",
9
9
  author="Abdulvoris",
10
10
  author_email="erkinovabdulvoris101@gmail.com",
11
11
  description="Commons of project and simplified orm based on sqlalchemy.",
File without changes
File without changes