nlbone 0.7.27__tar.gz → 0.7.29__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 (121) hide show
  1. {nlbone-0.7.27 → nlbone-0.7.29}/PKG-INFO +1 -1
  2. {nlbone-0.7.27 → nlbone-0.7.29}/pyproject.toml +1 -1
  3. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/query_builder.py +1 -1
  4. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/dependencies/async_auth.py +13 -1
  5. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/middleware/add_request_context.py +1 -1
  6. {nlbone-0.7.27 → nlbone-0.7.29}/.gitignore +0 -0
  7. {nlbone-0.7.27 → nlbone-0.7.29}/LICENSE +0 -0
  8. {nlbone-0.7.27 → nlbone-0.7.29}/README.md +0 -0
  9. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/__init__.py +0 -0
  10. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/__init__.py +0 -0
  11. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/auth/__init__.py +0 -0
  12. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/auth/auth_service.py +0 -0
  13. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/auth/keycloak.py +0 -0
  14. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/auth/token_provider.py +0 -0
  15. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/cache/__init__.py +0 -0
  16. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/cache/async_redis.py +0 -0
  17. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/cache/memory.py +0 -0
  18. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/cache/pubsub_listener.py +0 -0
  19. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/cache/redis.py +0 -0
  20. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/__init__.py +0 -0
  21. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/__init__.py +0 -0
  22. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/audit.py +0 -0
  23. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/base.py +0 -0
  24. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/engine.py +0 -0
  25. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/repository.py +0 -0
  26. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/schema.py +0 -0
  27. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/types.py +0 -0
  28. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/postgres/uow.py +0 -0
  29. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/redis/__init__.py +0 -0
  30. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/db/redis/client.py +0 -0
  31. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/http_clients/__init__.py +0 -0
  32. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/http_clients/pricing/__init__.py +0 -0
  33. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/http_clients/pricing/pricing_service.py +0 -0
  34. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/http_clients/uploadchi/__init__.py +0 -0
  35. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/http_clients/uploadchi/uploadchi.py +0 -0
  36. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/http_clients/uploadchi/uploadchi_async.py +0 -0
  37. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/i18n/__init__.py +0 -0
  38. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/i18n/engine.py +0 -0
  39. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/i18n/loaders.py +0 -0
  40. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/i18n/locales/fa-IR.json +0 -0
  41. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/messaging/__init__.py +0 -0
  42. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/messaging/event_bus.py +0 -0
  43. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/messaging/rabbitmq.py +0 -0
  44. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/outbox/__init__.py +0 -0
  45. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/outbox/outbox_consumer.py +0 -0
  46. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/outbox/outbox_repo.py +0 -0
  47. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/percolation/__init__.py +0 -0
  48. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/percolation/connection.py +0 -0
  49. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/repositories/__init__.py +0 -0
  50. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/snowflake.py +0 -0
  51. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/ticketing/__init__.py +0 -0
  52. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/adapters/ticketing/client.py +0 -0
  53. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/config/__init__.py +0 -0
  54. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/config/logging.py +0 -0
  55. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/config/settings.py +0 -0
  56. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/container.py +0 -0
  57. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/__init__.py +0 -0
  58. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/application/__init__.py +0 -0
  59. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/application/base_worker.py +0 -0
  60. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/application/bus.py +0 -0
  61. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/application/di.py +0 -0
  62. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/application/registry.py +0 -0
  63. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/application/services/__init__.py +0 -0
  64. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/application/use_case.py +0 -0
  65. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/domain/__init__.py +0 -0
  66. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/domain/base.py +0 -0
  67. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/domain/models.py +0 -0
  68. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/__init__.py +0 -0
  69. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/auth.py +0 -0
  70. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/cache.py +0 -0
  71. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/event_bus.py +0 -0
  72. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/files.py +0 -0
  73. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/outbox.py +0 -0
  74. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/repository.py +0 -0
  75. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/translation.py +0 -0
  76. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/core/ports/uow.py +0 -0
  77. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/__init__.py +0 -0
  78. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/__init__.py +0 -0
  79. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/additional_filed/__init__.py +0 -0
  80. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/additional_filed/assembler.py +0 -0
  81. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/additional_filed/default_field_rules/__init__.py +0 -0
  82. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/additional_filed/default_field_rules/image_field_rules.py +0 -0
  83. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/additional_filed/field_registry.py +0 -0
  84. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/additional_filed/resolver.py +0 -0
  85. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/dependencies/__init__.py +0 -0
  86. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/dependencies/auth.py +0 -0
  87. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/dependencies/client_credential.py +0 -0
  88. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/dependencies/db.py +0 -0
  89. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/dependencies/uow.py +0 -0
  90. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/exception_handlers.py +0 -0
  91. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/exceptions.py +0 -0
  92. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/middleware/__init__.py +0 -0
  93. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/middleware/access_log.py +0 -0
  94. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/middleware/authentication.py +0 -0
  95. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/pagination/__init__.py +0 -0
  96. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/pagination/offset_base.py +0 -0
  97. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/routers.py +0 -0
  98. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/schema/__init__.py +0 -0
  99. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/schema/adaptive_schema.py +0 -0
  100. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/schema/base_response_model.py +0 -0
  101. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/api/schemas.py +0 -0
  102. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/cli/__init__.py +0 -0
  103. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/cli/crypto.py +0 -0
  104. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/cli/init_db.py +0 -0
  105. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/cli/main.py +0 -0
  106. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/cli/ticket.py +0 -0
  107. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/jobs/__init__.py +0 -0
  108. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/jobs/dispatch_outbox.py +0 -0
  109. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/interfaces/jobs/sync_tokens.py +0 -0
  110. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/types.py +0 -0
  111. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/__init__.py +0 -0
  112. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/cache.py +0 -0
  113. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/cache_keys.py +0 -0
  114. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/cache_registry.py +0 -0
  115. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/context.py +0 -0
  116. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/crypto.py +0 -0
  117. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/flatten_sqlalchemy_result.py +0 -0
  118. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/http.py +0 -0
  119. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/normalize_mobile.py +0 -0
  120. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/redactor.py +0 -0
  121. {nlbone-0.7.27 → nlbone-0.7.29}/src/nlbone/utils/time.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nlbone
3
- Version: 0.7.27
3
+ Version: 0.7.29
4
4
  Summary: Backbone package for interfaces and infrastructure in Python projects
5
5
  Author-email: Amir Hosein Kahkbazzadeh <a.khakbazzadeh@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "nlbone"
7
- version = "0.7.27"
7
+ version = "0.7.29"
8
8
  description = "Backbone package for interfaces and infrastructure in Python projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -217,7 +217,7 @@ def _apply_filters(pagination, entity, query):
217
217
  if filters:
218
218
  for raw_field, value in filters.items():
219
219
  if value is None or value in NULL_SENTINELS or value == [] or value == {}:
220
- continue
220
+ value = None
221
221
 
222
222
  field, op_hint = _parse_field_and_op(raw_field)
223
223
  is_nested = "." in field
@@ -4,7 +4,7 @@ from nlbone.adapters.auth import KeycloakAuthService
4
4
  from nlbone.interfaces.api.exceptions import ForbiddenException, UnauthorizedException
5
5
  from nlbone.utils.context import current_request
6
6
 
7
- from .auth import client_has_access_func
7
+ from .auth import client_has_access_func, client_or_user_has_access_func
8
8
 
9
9
 
10
10
  async def current_user_id() -> int:
@@ -58,3 +58,15 @@ def has_access(*, permissions=None):
58
58
  return wrapper
59
59
 
60
60
  return decorator
61
+
62
+ def client_or_user_has_access(*, permissions=None, client_permissions=None):
63
+ def decorator(func):
64
+ @functools.wraps(func)
65
+ async def wrapper(*args, **kwargs):
66
+ client_or_user_has_access_func(permissions=permissions, client_permissions=client_permissions)
67
+ return await func(*args, **kwargs)
68
+
69
+ return wrapper
70
+
71
+ return decorator
72
+
@@ -45,7 +45,7 @@ class AddRequestContextMiddleware(BaseHTTPMiddleware):
45
45
  user_id = getattr(getattr(request, "state", None), "user_id", None) or request.headers.get("X-User-Id")
46
46
  ip = request.client.host if request.client else None
47
47
  ua = request.headers.get("user-agent")
48
- locale = request.headers.get("Accept-Language")
48
+ locale = request.headers.get("Accept-Language", 'fa-IR')
49
49
 
50
50
  tokens = bind_context(request=request, request_id=req_id, user_id=user_id, ip=ip, user_agent=ua, locale=locale)
51
51
  try:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes