nlbone 0.9.4__tar.gz → 0.9.5__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 (123) hide show
  1. {nlbone-0.9.4 → nlbone-0.9.5}/PKG-INFO +1 -1
  2. {nlbone-0.9.4 → nlbone-0.9.5}/pyproject.toml +1 -1
  3. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/http_clients/pricing/pricing_service.py +18 -6
  4. {nlbone-0.9.4 → nlbone-0.9.5}/.gitignore +0 -0
  5. {nlbone-0.9.4 → nlbone-0.9.5}/LICENSE +0 -0
  6. {nlbone-0.9.4 → nlbone-0.9.5}/README.md +0 -0
  7. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/__init__.py +0 -0
  8. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/__init__.py +0 -0
  9. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/auth/__init__.py +0 -0
  10. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/auth/auth_service.py +0 -0
  11. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/auth/keycloak.py +0 -0
  12. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/auth/token_provider.py +0 -0
  13. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/cache/__init__.py +0 -0
  14. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/cache/async_redis.py +0 -0
  15. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/cache/memory.py +0 -0
  16. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/cache/pubsub_listener.py +0 -0
  17. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/cache/redis.py +0 -0
  18. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/__init__.py +0 -0
  19. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/__init__.py +0 -0
  20. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/audit.py +0 -0
  21. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/base.py +0 -0
  22. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/engine.py +0 -0
  23. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/query_builder.py +0 -0
  24. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/repository.py +0 -0
  25. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/schema.py +0 -0
  26. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/types.py +0 -0
  27. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/postgres/uow.py +0 -0
  28. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/redis/__init__.py +0 -0
  29. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/db/redis/client.py +0 -0
  30. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/http_clients/__init__.py +0 -0
  31. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/http_clients/pricing/__init__.py +0 -0
  32. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/http_clients/uploadchi/__init__.py +0 -0
  33. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/http_clients/uploadchi/uploadchi.py +0 -0
  34. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/http_clients/uploadchi/uploadchi_async.py +0 -0
  35. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/i18n/__init__.py +0 -0
  36. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/i18n/engine.py +0 -0
  37. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/i18n/loaders.py +0 -0
  38. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/i18n/locales/fa-IR.json +0 -0
  39. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/messaging/__init__.py +0 -0
  40. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/messaging/event_bus.py +0 -0
  41. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/messaging/rabbitmq.py +0 -0
  42. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/outbox/__init__.py +0 -0
  43. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/outbox/outbox_consumer.py +0 -0
  44. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/outbox/outbox_repo.py +0 -0
  45. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/percolation/__init__.py +0 -0
  46. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/percolation/connection.py +0 -0
  47. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/repositories/__init__.py +0 -0
  48. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/snowflake.py +0 -0
  49. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/ticketing/__init__.py +0 -0
  50. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/adapters/ticketing/client.py +0 -0
  51. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/config/__init__.py +0 -0
  52. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/config/logging.py +0 -0
  53. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/config/settings.py +0 -0
  54. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/container.py +0 -0
  55. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/__init__.py +0 -0
  56. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/application/__init__.py +0 -0
  57. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/application/base_worker.py +0 -0
  58. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/application/bus.py +0 -0
  59. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/application/di.py +0 -0
  60. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/application/registry.py +0 -0
  61. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/application/services/__init__.py +0 -0
  62. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/application/use_case.py +0 -0
  63. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/domain/__init__.py +0 -0
  64. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/domain/base.py +0 -0
  65. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/domain/models.py +0 -0
  66. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/__init__.py +0 -0
  67. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/auth.py +0 -0
  68. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/cache.py +0 -0
  69. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/event_bus.py +0 -0
  70. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/files.py +0 -0
  71. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/outbox.py +0 -0
  72. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/repository.py +0 -0
  73. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/translation.py +0 -0
  74. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/core/ports/uow.py +0 -0
  75. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/__init__.py +0 -0
  76. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/__init__.py +0 -0
  77. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/additional_filed/__init__.py +0 -0
  78. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/additional_filed/assembler.py +0 -0
  79. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/additional_filed/default_field_rules/__init__.py +0 -0
  80. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/additional_filed/default_field_rules/image_field_rules.py +0 -0
  81. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/additional_filed/field_registry.py +0 -0
  82. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/additional_filed/resolver.py +0 -0
  83. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/dependencies/__init__.py +0 -0
  84. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/dependencies/async_auth.py +0 -0
  85. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/dependencies/auth.py +2 -2
  86. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/dependencies/client_credential.py +0 -0
  87. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/dependencies/db.py +0 -0
  88. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/dependencies/uow.py +0 -0
  89. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/exception_handlers.py +0 -0
  90. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/exceptions.py +0 -0
  91. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/middleware/__init__.py +0 -0
  92. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/middleware/access_log.py +0 -0
  93. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/middleware/add_request_context.py +0 -0
  94. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/middleware/authentication.py +0 -0
  95. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/pagination/__init__.py +0 -0
  96. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/pagination/offset_base.py +0 -0
  97. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/routers.py +0 -0
  98. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/schema/__init__.py +0 -0
  99. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/schema/adaptive_schema.py +0 -0
  100. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/schema/base_response_model.py +0 -0
  101. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/api/schemas.py +0 -0
  102. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/cli/__init__.py +0 -0
  103. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/cli/crypto.py +0 -0
  104. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/cli/init_db.py +0 -0
  105. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/cli/main.py +0 -0
  106. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/cli/ticket.py +0 -0
  107. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/jobs/__init__.py +0 -0
  108. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/jobs/dispatch_outbox.py +0 -0
  109. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/interfaces/jobs/sync_tokens.py +0 -0
  110. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/types.py +0 -0
  111. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/__init__.py +0 -0
  112. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/cache.py +0 -0
  113. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/cache_keys.py +0 -0
  114. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/cache_registry.py +0 -0
  115. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/context.py +0 -0
  116. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/crypto.py +0 -0
  117. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/flatten_dict.py +0 -0
  118. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/flatten_sqlalchemy_result.py +0 -0
  119. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/http.py +0 -0
  120. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/normalize_mobile.py +0 -0
  121. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/read_files.py +0 -0
  122. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/redactor.py +0 -0
  123. {nlbone-0.9.4 → nlbone-0.9.5}/src/nlbone/utils/time.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nlbone
3
- Version: 0.9.4
3
+ Version: 0.9.5
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.9.4"
7
+ version = "0.9.5"
8
8
  description = "Backbone package for interfaces and infrastructure in Python projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,3 +1,4 @@
1
+ import json
1
2
  from decimal import Decimal
2
3
  from enum import Enum
3
4
  from typing import Any, Dict, List, Literal, Optional, Union
@@ -66,13 +67,20 @@ class CalculatePriceOut(RootModel[Union[List[PricingRule], Dict[str, PricingRule
66
67
  pass
67
68
 
68
69
 
70
+ class DecimalEncoder(json.JSONEncoder):
71
+ def default(self, obj):
72
+ if isinstance(obj, Decimal):
73
+ return float(obj)
74
+ return super(DecimalEncoder, self).default(obj)
75
+
76
+
69
77
  class PricingService:
70
78
  def __init__(
71
- self,
72
- token_provider: ClientTokenProvider,
73
- base_url: Optional[str] = None,
74
- timeout_seconds: Optional[float] = None,
75
- client: httpx.Client | None = None,
79
+ self,
80
+ token_provider: ClientTokenProvider,
81
+ base_url: Optional[str] = None,
82
+ timeout_seconds: Optional[float] = None,
83
+ client: httpx.Client | None = None,
76
84
  ) -> None:
77
85
  s = get_settings()
78
86
  self._base_url = normalize_https_base(base_url or str(s.PRICING_SERVICE_URL), enforce_https=False)
@@ -81,7 +89,11 @@ class PricingService:
81
89
  self._token_provider = token_provider
82
90
 
83
91
  def calculate(self, items: list[CalculatePriceIn], response: Literal["list", "dict"] = "dict") -> CalculatePriceOut:
84
- body = {"items": [i.model_dump() for i in items]}
92
+ body = json.dumps(
93
+ {"items": [i.model_dump() for i in items]},
94
+ cls=DecimalEncoder
95
+ )
96
+ body = json.loads(body)
85
97
 
86
98
  r = self._client.post(
87
99
  f"{self._base_url}/price/calculate",
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -65,11 +65,11 @@ def user_authenticated(func):
65
65
 
66
66
 
67
67
  def user_has_access_func(*, permissions=None):
68
- if bypass_authz():
69
- return True
70
68
  request = current_request()
71
69
  if not current_user_id():
72
70
  raise UnauthorizedException()
71
+ if bypass_authz():
72
+ return True
73
73
  if not get_auth_service().has_access(request.state.token, permissions=permissions):
74
74
  raise ForbiddenException(f"Forbidden {permissions}")
75
75
  return True
File without changes
File without changes
File without changes
File without changes