maleo-foundation 0.2.27__tar.gz → 0.2.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 (126) hide show
  1. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/PKG-INFO +1 -1
  2. maleo_foundation-0.2.29/maleo_foundation/managers/cache/base.py +25 -0
  3. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/repository.py +15 -9
  4. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation.egg-info/PKG-INFO +1 -1
  5. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation.egg-info/SOURCES.txt +1 -0
  6. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/pyproject.toml +1 -1
  7. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/README.md +0 -0
  8. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/__init__.py +0 -0
  9. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/authentication.py +0 -0
  10. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/authorization.py +0 -0
  11. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/__init__.py +0 -0
  12. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/manager.py +0 -0
  13. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/__init__.py +0 -0
  14. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/encryption/__init__.py +0 -0
  15. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/encryption/aes.py +0 -0
  16. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/encryption/rsa.py +0 -0
  17. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/hash/__init__.py +0 -0
  18. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/hash/bcrypt.py +0 -0
  19. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/hash/hmac.py +0 -0
  20. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/hash/sha256.py +0 -0
  21. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/key.py +0 -0
  22. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/signature.py +0 -0
  23. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/client/services/token.py +0 -0
  24. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/constants.py +0 -0
  25. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/enums.py +0 -0
  26. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/__init__.py +0 -0
  27. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/client.py +0 -0
  28. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/encryption/__init__.py +0 -0
  29. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/encryption/aes.py +0 -0
  30. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/encryption/rsa.py +0 -0
  31. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/general.py +0 -0
  32. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/hash.py +0 -0
  33. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/key.py +0 -0
  34. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/repository.py +0 -0
  35. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/service.py +0 -0
  36. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/signature.py +0 -0
  37. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/expanded_types/token.py +0 -0
  38. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/extended_types.py +0 -0
  39. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/__init__.py +0 -0
  40. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/cache/__init__.py +0 -0
  41. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/cache/redis.py +0 -0
  42. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/__init__.py +0 -0
  43. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/base.py +0 -0
  44. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/google/__init__.py +0 -0
  45. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/google/base.py +0 -0
  46. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/google/parameter.py +0 -0
  47. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/google/secret.py +0 -0
  48. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/google/storage.py +0 -0
  49. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/client/maleo.py +0 -0
  50. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/db.py +0 -0
  51. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/middleware.py +0 -0
  52. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/managers/service.py +0 -0
  53. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/middlewares/authentication.py +0 -0
  54. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/middlewares/base.py +0 -0
  55. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/middlewares/cors.py +0 -0
  56. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/__init__.py +0 -0
  57. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/responses.py +0 -0
  58. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/__init__.py +0 -0
  59. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/encryption.py +0 -0
  60. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/general.py +0 -0
  61. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/hash.py +0 -0
  62. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/key.py +0 -0
  63. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/parameter.py +0 -0
  64. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/result.py +0 -0
  65. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/signature.py +0 -0
  66. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/schemas/token.py +0 -0
  67. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/table.py +0 -0
  68. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/__init__.py +0 -0
  69. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/general/__init__.py +0 -0
  70. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/general/key.py +0 -0
  71. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/general/signature.py +0 -0
  72. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/general/token.py +0 -0
  73. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/__init__.py +0 -0
  74. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/client.py +0 -0
  75. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/encryption/__init__.py +0 -0
  76. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/encryption/aes.py +0 -0
  77. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/encryption/rsa.py +0 -0
  78. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/general.py +0 -0
  79. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/hash/__init__.py +0 -0
  80. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/hash/bcrypt.py +0 -0
  81. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/hash/hmac.py +0 -0
  82. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/hash/sha256.py +0 -0
  83. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/key.py +0 -0
  84. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/service.py +0 -0
  85. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/signature.py +0 -0
  86. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/parameters/token.py +0 -0
  87. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/__init__.py +0 -0
  88. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/client/__init__.py +0 -0
  89. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/client/controllers/__init__.py +0 -0
  90. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/client/controllers/http.py +0 -0
  91. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/client/service.py +0 -0
  92. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/encryption/__init__.py +0 -0
  93. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/encryption/aes.py +0 -0
  94. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/encryption/rsa.py +0 -0
  95. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/hash.py +0 -0
  96. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/key.py +0 -0
  97. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/service/__init__.py +0 -0
  98. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/service/controllers/__init__.py +0 -0
  99. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/service/controllers/rest.py +0 -0
  100. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/service/general.py +0 -0
  101. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/service/repository.py +0 -0
  102. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/signature.py +0 -0
  103. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/models/transfers/results/token.py +0 -0
  104. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/types.py +0 -0
  105. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/__init__.py +0 -0
  106. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/controller.py +0 -0
  107. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/dependencies/__init__.py +0 -0
  108. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/dependencies/auth.py +0 -0
  109. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/exceptions.py +0 -0
  110. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/extractor.py +0 -0
  111. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/formatter/__init__.py +0 -0
  112. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/formatter/case.py +0 -0
  113. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/loaders/__init__.py +0 -0
  114. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/loaders/credential/__init__.py +0 -0
  115. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/loaders/credential/google.py +0 -0
  116. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/loaders/json.py +0 -0
  117. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/loaders/key/__init__.py +0 -0
  118. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/loaders/key/rsa.py +0 -0
  119. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/loaders/yaml.py +0 -0
  120. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/logging.py +0 -0
  121. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/mergers.py +0 -0
  122. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation/utils/query.py +0 -0
  123. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation.egg-info/dependency_links.txt +0 -0
  124. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation.egg-info/requires.txt +0 -0
  125. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/maleo_foundation.egg-info/top_level.txt +0 -0
  126. {maleo_foundation-0.2.27 → maleo_foundation-0.2.29}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.2.27
3
+ Version: 0.2.29
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -0,0 +1,25 @@
1
+ import json
2
+ from typing import Callable
3
+ from fastapi.encoders import jsonable_encoder
4
+
5
+ class BaseCacheConfigurations:
6
+ @staticmethod
7
+ def key_builder(func: Callable, *args, **kwargs) -> str:
8
+ arg_values = []
9
+ for arg in args:
10
+ try:
11
+ arg_values.append(jsonable_encoder(arg))
12
+ except Exception:
13
+ arg_values.append(str(arg))
14
+
15
+ kwarg_values = {}
16
+ for k, v in kwargs.items():
17
+ try:
18
+ kwarg_values[k] = jsonable_encoder(v)
19
+ except Exception:
20
+ kwarg_values[k] = str(v)
21
+
22
+ serialized_args = json.dumps(arg_values, sort_keys=True)
23
+ serialized_kwargs = json.dumps(kwarg_values, sort_keys=True)
24
+
25
+ return f"{func.__module__}:{func.__qualname__}({serialized_args}|{serialized_kwargs})"
@@ -9,6 +9,7 @@ from maleo_foundation.models.transfers.results.service.repository import \
9
9
  class BaseRepositoryUtils:
10
10
  @staticmethod
11
11
  def result_processor(
12
+ fail_class:Type[BaseServiceRepositoryResultsTransfers.Fail],
12
13
  data_found_class:Union[
13
14
  Type[BaseServiceRepositoryResultsTransfers.SingleData],
14
15
  Type[BaseServiceRepositoryResultsTransfers.UnpaginatedMultipleData],
@@ -19,17 +20,22 @@ class BaseRepositoryUtils:
19
20
  """Decorator to handle repository-related exceptions consistently."""
20
21
  def decorator(func):
21
22
  def _processor(result:BaseTypes.StringToAnyDict):
22
- if "data" not in result:
23
- raise ValueError("Result did not have 'data' field")
24
- data = result.get("data")
25
- if data is None:
26
- if no_data_class is None:
27
- raise ValueError("'no_data_class' must be given to validate No Data")
28
- validated_result = no_data_class.model_validate(result)
23
+ if "success" not in result and "data" not in result:
24
+ raise ValueError("Result did not have both 'success' and 'data' field")
25
+ success:bool = result.get("success")
26
+ data:BaseTypes.StringToAnyDict = result.get("data")
27
+ if not success:
28
+ validated_result = fail_class.model_validate(result)
29
29
  return validated_result
30
30
  else:
31
- validated_result = data_found_class.model_validate(result)
32
- return validated_result
31
+ if data is None:
32
+ if no_data_class is None:
33
+ raise ValueError("'no_data_class' must be given to validate No Data")
34
+ validated_result = no_data_class.model_validate(result)
35
+ return validated_result
36
+ else:
37
+ validated_result = data_found_class.model_validate(result)
38
+ return validated_result
33
39
  if asyncio.iscoroutinefunction(func):
34
40
  @wraps(func)
35
41
  async def async_wrapper(*args, **kwargs):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.2.27
3
+ Version: 0.2.29
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -42,6 +42,7 @@ maleo_foundation/managers/db.py
42
42
  maleo_foundation/managers/middleware.py
43
43
  maleo_foundation/managers/service.py
44
44
  maleo_foundation/managers/cache/__init__.py
45
+ maleo_foundation/managers/cache/base.py
45
46
  maleo_foundation/managers/cache/redis.py
46
47
  maleo_foundation/managers/client/__init__.py
47
48
  maleo_foundation/managers/client/base.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maleo_foundation"
7
- version = "0.2.27"
7
+ version = "0.2.29"
8
8
  description = "Foundation package for Maleo"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }