fastapi-basekit 0.2.0__tar.gz → 0.2.1__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 (55) hide show
  1. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/PKG-INFO +2 -1
  2. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/beanie/repository/base.py +10 -2
  3. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit.egg-info/PKG-INFO +2 -1
  4. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit.egg-info/requires.txt +1 -0
  5. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/pyproject.toml +2 -1
  6. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/LICENSE +0 -0
  7. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/README.md +0 -0
  8. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/__init__.py +0 -0
  9. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/__init__.py +0 -0
  10. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/beanie/__init__.py +0 -0
  11. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/beanie/controller/__init__.py +0 -0
  12. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/beanie/controller/base.py +0 -0
  13. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/beanie/repository/__init__.py +0 -0
  14. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/beanie/service/__init__.py +0 -0
  15. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/beanie/service/base.py +0 -0
  16. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/controller/__init__.py +0 -0
  17. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/controller/base.py +0 -0
  18. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/permissions/__init__.py +0 -0
  19. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/permissions/base.py +0 -0
  20. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlalchemy/__init__.py +0 -0
  21. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlalchemy/controller/__init__.py +0 -0
  22. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlalchemy/controller/base.py +0 -0
  23. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlalchemy/repository/__init__.py +0 -0
  24. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlalchemy/repository/base.py +0 -0
  25. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlalchemy/service/__init__.py +0 -0
  26. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlalchemy/service/base.py +0 -0
  27. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlmodel/__init__.py +0 -0
  28. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlmodel/controller/__init__.py +0 -0
  29. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlmodel/controller/base.py +0 -0
  30. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlmodel/repository/__init__.py +0 -0
  31. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlmodel/repository/base.py +0 -0
  32. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlmodel/service/__init__.py +0 -0
  33. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/aio/sqlmodel/service/base.py +0 -0
  34. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/exceptions/__init__.py +0 -0
  35. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/exceptions/api_exceptions.py +0 -0
  36. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/exceptions/handler.py +0 -0
  37. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/schema/__init__.py +0 -0
  38. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/schema/base.py +0 -0
  39. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/schema/jwt.py +0 -0
  40. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/schema/schema.py +0 -0
  41. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/servicios/__init__.py +0 -0
  42. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/servicios/thrid/__init__.py +0 -0
  43. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit/servicios/thrid/jwt.py +0 -0
  44. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit.egg-info/SOURCES.txt +0 -0
  45. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit.egg-info/dependency_links.txt +0 -0
  46. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/fastapi_basekit.egg-info/top_level.txt +0 -0
  47. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/setup.cfg +0 -0
  48. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_api_exceptions.py +0 -0
  49. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_base_response.py +0 -0
  50. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_base_service.py +0 -0
  51. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_controller_auto_permissions.py +0 -0
  52. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_crud_beanie_controller.py +0 -0
  53. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_crud_controller.py +0 -0
  54. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_jwt_service.py +0 -0
  55. {fastapi_basekit-0.2.0 → fastapi_basekit-0.2.1}/tests/test_sqlalchemy_base_service_order.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastapi-basekit
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Utilities and base classes for FastAPI async projects (Beanie, SQLAlchemy or SQLModel)
5
5
  Author-email: Jerson Moreno <jerson.ml820@hotmail.com>
6
6
  License: MIT
@@ -18,6 +18,7 @@ License-File: LICENSE
18
18
  Requires-Dist: fastapi>=0.116.1
19
19
  Requires-Dist: pydantic<3,>=2.11.7
20
20
  Requires-Dist: fastapi-restful[all]>=0.6.0
21
+ Requires-Dist: pyjwt>=2.10.1
21
22
  Provides-Extra: beanie
22
23
  Requires-Dist: beanie>=1.24.0; extra == "beanie"
23
24
  Requires-Dist: motor>=3.3.0; extra == "beanie"
@@ -152,8 +152,14 @@ class BaseRepository:
152
152
 
153
153
  return False
154
154
 
155
+ raw_filters: Dict[str, Any] = {}
156
+
155
157
  for k, v in (filters or {}).items():
156
- if hasattr(self.model, k):
158
+ # MongoDB-style keys (dot-notation like "user.$id" or operators like "$or")
159
+ # cannot be resolved via hasattr — pass them as a raw dict to find()
160
+ if "." in k or k.startswith("$"):
161
+ raw_filters[k] = v
162
+ elif hasattr(self.model, k):
157
163
  field_attr = getattr(self.model, k)
158
164
 
159
165
  if _is_link_field(k):
@@ -161,7 +167,9 @@ class BaseRepository:
161
167
  else:
162
168
  exprs.append(field_attr == v)
163
169
 
164
- query = self.model.find(*exprs, **self._get_query_kwargs(**kwargs))
170
+ # Raw MongoDB filters go first so Beanie processes them as a dict condition
171
+ query_args: list = ([raw_filters] if raw_filters else []) + exprs
172
+ query = self.model.find(*query_args, **self._get_query_kwargs(**kwargs))
165
173
 
166
174
  # Apply ordering if provided
167
175
  if order_by:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastapi-basekit
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Utilities and base classes for FastAPI async projects (Beanie, SQLAlchemy or SQLModel)
5
5
  Author-email: Jerson Moreno <jerson.ml820@hotmail.com>
6
6
  License: MIT
@@ -18,6 +18,7 @@ License-File: LICENSE
18
18
  Requires-Dist: fastapi>=0.116.1
19
19
  Requires-Dist: pydantic<3,>=2.11.7
20
20
  Requires-Dist: fastapi-restful[all]>=0.6.0
21
+ Requires-Dist: pyjwt>=2.10.1
21
22
  Provides-Extra: beanie
22
23
  Requires-Dist: beanie>=1.24.0; extra == "beanie"
23
24
  Requires-Dist: motor>=3.3.0; extra == "beanie"
@@ -1,6 +1,7 @@
1
1
  fastapi>=0.116.1
2
2
  pydantic<3,>=2.11.7
3
3
  fastapi-restful[all]>=0.6.0
4
+ pyjwt>=2.10.1
4
5
 
5
6
  [all]
6
7
  beanie>=1.24.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "fastapi-basekit"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  description = "Utilities and base classes for FastAPI async projects (Beanie, SQLAlchemy or SQLModel)"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -27,6 +27,7 @@ dependencies = [
27
27
  "fastapi>=0.116.1",
28
28
  "pydantic>=2.11.7,<3",
29
29
  "fastapi-restful[all]>=0.6.0",
30
+ "pyjwt>=2.10.1",
30
31
  ]
31
32
 
32
33
  [tool.setuptools]
File without changes