maleo-foundation 0.2.30__tar.gz → 0.2.32__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 (127) hide show
  1. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/PKG-INFO +1 -1
  2. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/cache/redis.py +7 -2
  3. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/maleo.py +6 -0
  4. maleo_foundation-0.2.32/maleo_foundation/utils/client.py +61 -0
  5. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation.egg-info/PKG-INFO +1 -1
  6. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation.egg-info/SOURCES.txt +1 -0
  7. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/pyproject.toml +1 -1
  8. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/README.md +0 -0
  9. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/__init__.py +0 -0
  10. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/authentication.py +0 -0
  11. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/authorization.py +0 -0
  12. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/__init__.py +0 -0
  13. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/manager.py +0 -0
  14. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/__init__.py +0 -0
  15. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/encryption/__init__.py +0 -0
  16. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/encryption/aes.py +0 -0
  17. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/encryption/rsa.py +0 -0
  18. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/hash/__init__.py +0 -0
  19. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/hash/bcrypt.py +0 -0
  20. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/hash/hmac.py +0 -0
  21. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/hash/sha256.py +0 -0
  22. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/key.py +0 -0
  23. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/signature.py +0 -0
  24. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/client/services/token.py +0 -0
  25. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/constants.py +0 -0
  26. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/enums.py +0 -0
  27. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/__init__.py +0 -0
  28. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/client.py +0 -0
  29. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/encryption/__init__.py +0 -0
  30. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/encryption/aes.py +0 -0
  31. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/encryption/rsa.py +0 -0
  32. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/general.py +0 -0
  33. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/hash.py +0 -0
  34. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/key.py +0 -0
  35. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/repository.py +0 -0
  36. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/service.py +0 -0
  37. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/signature.py +0 -0
  38. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/expanded_types/token.py +0 -0
  39. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/extended_types.py +0 -0
  40. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/__init__.py +0 -0
  41. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/cache/__init__.py +0 -0
  42. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/cache/base.py +0 -0
  43. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/__init__.py +0 -0
  44. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/base.py +0 -0
  45. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/google/__init__.py +0 -0
  46. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/google/base.py +0 -0
  47. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/google/parameter.py +0 -0
  48. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/google/secret.py +0 -0
  49. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/client/google/storage.py +0 -0
  50. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/db.py +0 -0
  51. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/middleware.py +0 -0
  52. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/managers/service.py +0 -0
  53. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/middlewares/authentication.py +0 -0
  54. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/middlewares/base.py +0 -0
  55. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/middlewares/cors.py +0 -0
  56. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/__init__.py +0 -0
  57. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/responses.py +0 -0
  58. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/__init__.py +0 -0
  59. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/encryption.py +0 -0
  60. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/general.py +0 -0
  61. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/hash.py +0 -0
  62. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/key.py +0 -0
  63. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/parameter.py +0 -0
  64. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/result.py +0 -0
  65. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/signature.py +0 -0
  66. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/schemas/token.py +0 -0
  67. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/table.py +0 -0
  68. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/__init__.py +0 -0
  69. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/general/__init__.py +0 -0
  70. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/general/key.py +0 -0
  71. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/general/signature.py +0 -0
  72. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/general/token.py +0 -0
  73. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/__init__.py +0 -0
  74. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/client.py +0 -0
  75. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/encryption/__init__.py +0 -0
  76. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/encryption/aes.py +0 -0
  77. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/encryption/rsa.py +0 -0
  78. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/general.py +0 -0
  79. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/hash/__init__.py +0 -0
  80. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/hash/bcrypt.py +0 -0
  81. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/hash/hmac.py +0 -0
  82. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/hash/sha256.py +0 -0
  83. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/key.py +0 -0
  84. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/service.py +0 -0
  85. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/signature.py +0 -0
  86. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/parameters/token.py +0 -0
  87. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/__init__.py +0 -0
  88. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/client/__init__.py +0 -0
  89. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/client/controllers/__init__.py +0 -0
  90. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/client/controllers/http.py +0 -0
  91. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/client/service.py +0 -0
  92. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/encryption/__init__.py +0 -0
  93. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/encryption/aes.py +0 -0
  94. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/encryption/rsa.py +0 -0
  95. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/hash.py +0 -0
  96. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/key.py +0 -0
  97. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/service/__init__.py +0 -0
  98. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/service/controllers/__init__.py +0 -0
  99. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/service/controllers/rest.py +0 -0
  100. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/service/general.py +0 -0
  101. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/service/repository.py +0 -0
  102. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/signature.py +0 -0
  103. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/models/transfers/results/token.py +0 -0
  104. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/types.py +0 -0
  105. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/__init__.py +0 -0
  106. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/controller.py +0 -0
  107. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/dependencies/__init__.py +0 -0
  108. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/dependencies/auth.py +0 -0
  109. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/exceptions.py +0 -0
  110. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/extractor.py +0 -0
  111. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/formatter/__init__.py +0 -0
  112. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/formatter/case.py +0 -0
  113. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/loaders/__init__.py +0 -0
  114. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/loaders/credential/__init__.py +0 -0
  115. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/loaders/credential/google.py +0 -0
  116. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/loaders/json.py +0 -0
  117. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/loaders/key/__init__.py +0 -0
  118. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/loaders/key/rsa.py +0 -0
  119. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/loaders/yaml.py +0 -0
  120. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/logging.py +0 -0
  121. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/mergers.py +0 -0
  122. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/query.py +0 -0
  123. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation/utils/repository.py +0 -0
  124. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation.egg-info/dependency_links.txt +0 -0
  125. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation.egg-info/requires.txt +0 -0
  126. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/maleo_foundation.egg-info/top_level.txt +0 -0
  127. {maleo_foundation-0.2.30 → maleo_foundation-0.2.32}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.2.30
3
+ Version: 0.2.32
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -6,8 +6,13 @@ from maleo_foundation.enums import BaseEnums
6
6
  class RedisCacheNamespaces(BaseModel):
7
7
  base:str = Field(..., description="Base's redis namespace")
8
8
 
9
- def create(self, type:BaseEnums.CacheType, *ext:str) -> str:
10
- return ":".join([self.base, type, *ext])
9
+ def create(
10
+ self,
11
+ type:BaseEnums.CacheType,
12
+ base_override:BaseTypes.OptionalString = None,
13
+ *ext:str
14
+ ) -> str:
15
+ return ":".join([self.base if base_override is None else base_override, type, *ext])
11
16
 
12
17
  class RedisCacheConfigurations(BaseModel):
13
18
  ttl:Union[int, float] = Field(BaseEnums.CacheTTL.TTL_5MN, description="Default TTL")
@@ -33,12 +33,18 @@ class MaleoClientServiceControllers(ClientServiceControllers):
33
33
  class MaleoClientService(ClientService):
34
34
  def __init__(
35
35
  self,
36
+ key:str,
36
37
  logger:ClientLogger,
37
38
  service_manager:ServiceManager
38
39
  ):
39
40
  super().__init__(logger)
41
+ self._key = key
40
42
  self._service_manager = service_manager
41
43
 
44
+ @property
45
+ def key(self) -> str:
46
+ return self._key
47
+
42
48
  @property
43
49
  def service_manager(self) -> ServiceManager:
44
50
  return self._service_manager
@@ -0,0 +1,61 @@
1
+ import asyncio
2
+ from functools import wraps
3
+ from pydantic import ValidationError
4
+ from typing import Optional, Type, Union
5
+ from maleo_foundation.types import BaseTypes
6
+ from maleo_foundation.models.transfers.results.client.service import \
7
+ BaseClientServiceResultsTransfers
8
+
9
+ class BaseClientUtils:
10
+ @staticmethod
11
+ def result_processor(
12
+ fail_class:Type[BaseClientServiceResultsTransfers.Fail],
13
+ data_found_class:Union[
14
+ Type[BaseClientServiceResultsTransfers.SingleData],
15
+ Type[BaseClientServiceResultsTransfers.UnpaginatedMultipleData],
16
+ Type[BaseClientServiceResultsTransfers.PaginatedMultipleData]
17
+ ],
18
+ no_data_class:Optional[Type[BaseClientServiceResultsTransfers.NoData]] = None,
19
+ ):
20
+ """Decorator to handle repository-related exceptions consistently."""
21
+ def decorator(func):
22
+ def _processor(result:BaseTypes.StringToAnyDict):
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
+ return validated_result
30
+ else:
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
39
+ if asyncio.iscoroutinefunction(func):
40
+ @wraps(func)
41
+ async def async_wrapper(*args, **kwargs):
42
+ try:
43
+ result:BaseTypes.StringToAnyDict = await func(*args, **kwargs)
44
+ return _processor(result=result)
45
+ except ValidationError as e:
46
+ raise
47
+ except Exception as e:
48
+ raise
49
+ return async_wrapper
50
+ else:
51
+ @wraps(func)
52
+ def sync_wrapper(*args, **kwargs):
53
+ try:
54
+ result:BaseTypes.StringToAnyDict = func(*args, **kwargs)
55
+ return _processor(result=result)
56
+ except ValidationError as e:
57
+ raise
58
+ except Exception as e:
59
+ raise
60
+ return sync_wrapper
61
+ return decorator
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.2.30
3
+ Version: 0.2.32
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -104,6 +104,7 @@ maleo_foundation/models/transfers/results/service/repository.py
104
104
  maleo_foundation/models/transfers/results/service/controllers/__init__.py
105
105
  maleo_foundation/models/transfers/results/service/controllers/rest.py
106
106
  maleo_foundation/utils/__init__.py
107
+ maleo_foundation/utils/client.py
107
108
  maleo_foundation/utils/controller.py
108
109
  maleo_foundation/utils/exceptions.py
109
110
  maleo_foundation/utils/extractor.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maleo_foundation"
7
- version = "0.2.30"
7
+ version = "0.2.32"
8
8
  description = "Foundation package for Maleo"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }