maleo-foundation 0.1.93__tar.gz → 0.1.95__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 (118) hide show
  1. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/PKG-INFO +1 -1
  2. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/service.py +15 -8
  3. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/middlewares/authentication.py +6 -3
  4. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/loaders/json.py +6 -2
  5. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/loaders/yaml.py +6 -2
  6. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation.egg-info/PKG-INFO +1 -1
  7. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/pyproject.toml +1 -1
  8. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/README.md +0 -0
  9. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/__init__.py +0 -0
  10. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/authentication.py +0 -0
  11. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/__init__.py +0 -0
  12. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/manager.py +0 -0
  13. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/__init__.py +0 -0
  14. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/encryption/__init__.py +0 -0
  15. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/encryption/aes.py +0 -0
  16. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/encryption/rsa.py +0 -0
  17. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/hash/__init__.py +0 -0
  18. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/hash/bcrypt.py +0 -0
  19. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/hash/hmac.py +0 -0
  20. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/hash/sha256.py +0 -0
  21. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/key.py +0 -0
  22. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/signature.py +0 -0
  23. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/client/services/token.py +0 -0
  24. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/constants.py +0 -0
  25. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/enums.py +0 -0
  26. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/__init__.py +0 -0
  27. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/client.py +0 -0
  28. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/encryption/__init__.py +0 -0
  29. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/encryption/aes.py +0 -0
  30. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/encryption/rsa.py +0 -0
  31. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/general.py +0 -0
  32. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/hash.py +0 -0
  33. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/key.py +0 -0
  34. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/query.py +0 -0
  35. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/service.py +0 -0
  36. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/signature.py +0 -0
  37. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/expanded_types/token.py +0 -0
  38. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/extended_types.py +0 -0
  39. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/__init__.py +0 -0
  40. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/client/__init__.py +0 -0
  41. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/client/base.py +0 -0
  42. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/client/google/__init__.py +0 -0
  43. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/client/google/base.py +0 -0
  44. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/client/google/secret.py +0 -0
  45. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/client/google/storage.py +0 -0
  46. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/client/maleo.py +0 -0
  47. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/db.py +0 -0
  48. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/managers/middleware.py +0 -0
  49. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/middlewares/base.py +0 -0
  50. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/middlewares/cors.py +0 -0
  51. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/__init__.py +0 -0
  52. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/responses.py +0 -0
  53. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/__init__.py +0 -0
  54. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/encryption.py +0 -0
  55. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/general.py +0 -0
  56. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/hash.py +0 -0
  57. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/key.py +0 -0
  58. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/parameter.py +0 -0
  59. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/result.py +0 -0
  60. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/signature.py +0 -0
  61. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/schemas/token.py +0 -0
  62. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/table.py +0 -0
  63. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/__init__.py +0 -0
  64. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/general/__init__.py +0 -0
  65. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/general/key.py +0 -0
  66. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/general/signature.py +0 -0
  67. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/general/token.py +0 -0
  68. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/__init__.py +0 -0
  69. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/client.py +0 -0
  70. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/encryption/__init__.py +0 -0
  71. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/encryption/aes.py +0 -0
  72. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/encryption/rsa.py +0 -0
  73. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/general.py +0 -0
  74. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/hash/__init__.py +0 -0
  75. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/hash/bcrypt.py +0 -0
  76. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/hash/hmac.py +0 -0
  77. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/hash/sha256.py +0 -0
  78. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/key.py +0 -0
  79. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/service.py +0 -0
  80. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/signature.py +0 -0
  81. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/parameters/token.py +0 -0
  82. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/__init__.py +0 -0
  83. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/client/__init__.py +0 -0
  84. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/client/controllers/__init__.py +0 -0
  85. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/client/controllers/http.py +0 -0
  86. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/client/service.py +0 -0
  87. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/encryption/__init__.py +0 -0
  88. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/encryption/aes.py +0 -0
  89. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/encryption/rsa.py +0 -0
  90. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/hash.py +0 -0
  91. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/key.py +0 -0
  92. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/service/__init__.py +0 -0
  93. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/service/controllers/__init__.py +0 -0
  94. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/service/controllers/rest.py +0 -0
  95. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/service/general.py +0 -0
  96. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/service/query.py +0 -0
  97. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/signature.py +0 -0
  98. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/models/transfers/results/token.py +0 -0
  99. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/types.py +0 -0
  100. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/__init__.py +0 -0
  101. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/controller.py +0 -0
  102. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/exceptions.py +0 -0
  103. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/extractor.py +0 -0
  104. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/formatter/__init__.py +0 -0
  105. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/formatter/case.py +0 -0
  106. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/loaders/__init__.py +0 -0
  107. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/loaders/credential/__init__.py +0 -0
  108. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/loaders/credential/google.py +0 -0
  109. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/loaders/key/__init__.py +0 -0
  110. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/loaders/key/rsa.py +0 -0
  111. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/logging.py +0 -0
  112. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/mergers.py +0 -0
  113. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation/utils/query.py +0 -0
  114. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation.egg-info/SOURCES.txt +0 -0
  115. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation.egg-info/dependency_links.txt +0 -0
  116. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation.egg-info/requires.txt +0 -0
  117. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/maleo_foundation.egg-info/top_level.txt +0 -0
  118. {maleo_foundation-0.1.93 → maleo_foundation-0.1.95}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.1.93
3
+ Version: 0.1.95
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -177,23 +177,30 @@ class ServiceManager:
177
177
  return self._maleo_credentials
178
178
 
179
179
  def _load_configs(self) -> None:
180
+ #* Load static configurations
180
181
  static_configurations_path = Path(self._settings.STATIC_CONFIGURATIONS_PATH)
181
182
  if static_configurations_path.exists() and static_configurations_path.is_file():
182
- static_configurations = YAMLLoader.load(self._settings.STATIC_CONFIGURATIONS_PATH)
183
- static_configs = StaticConfigurations.model_validate(static_configurations)
183
+ static_configurations = YAMLLoader.load_from_path(self._settings.STATIC_CONFIGURATIONS_PATH)
184
184
  else:
185
- static_configurations = self._secret_manager.get(f"maleo-static-config-{self._settings.ENVIRONMENT}")
186
- static_configs = StaticConfigurations.model_validate_strings(static_configurations)
185
+ data = self._secret_manager.get(f"maleo-static-config-{self._settings.ENVIRONMENT}")
186
+ static_configurations = YAMLLoader.load_from_string(data)
187
+ static_configs = StaticConfigurations.model_validate(static_configurations)
188
+
189
+ #* Load runtime configurations
187
190
  runtime_configurations_path = Path(self._settings.RUNTIME_CONFIGURATIONS_PATH)
188
191
  if runtime_configurations_path.exists() and runtime_configurations_path.is_file():
189
- runtime_configurations = YAMLLoader.load(self._settings.RUNTIME_CONFIGURATIONS_PATH)
190
- runtime_configs = RuntimeConfigurations.model_validate(runtime_configurations)
192
+ runtime_configurations = YAMLLoader.load_from_path(self._settings.RUNTIME_CONFIGURATIONS_PATH)
191
193
  else:
192
- runtime_configurations = self._secret_manager.get(f"{self._settings.SERVICE_KEY}-runtime-config-{self._settings.ENVIRONMENT}")
193
- runtime_configs = RuntimeConfigurations.model_validate_strings(runtime_configurations)
194
+ data = self._secret_manager.get(f"{self._settings.SERVICE_KEY}-runtime-config-{self._settings.ENVIRONMENT}")
195
+ runtime_configurations = YAMLLoader.load_from_string(data)
196
+ runtime_configs = RuntimeConfigurations.model_validate(runtime_configurations)
197
+
198
+ #* Load database configurations
194
199
  password = self._secret_manager.get(name=f"maleo-db-password-{self._settings.ENVIRONMENT}")
195
200
  host = self._secret_manager.get(name=f"maleo-db-host-{self._settings.ENVIRONMENT}")
196
201
  database = DatabaseConfigurations(password=password, host=host, database=runtime_configs.database)
202
+
203
+ #* Load whole configurations
197
204
  merged_configs = BaseMergers.deep_merge(static_configs.model_dump(), runtime_configs.model_dump(exclude={"database"}), {"database": database.model_dump()})
198
205
  self._configs = Configurations.model_validate(merged_configs)
199
206
 
@@ -25,14 +25,17 @@ class Backend(AuthenticationBackend):
25
25
  auth = conn.headers["Authorization"]
26
26
  scheme, token = auth.split()
27
27
  if scheme != 'Bearer':
28
- raise AuthenticationError("Authorization scheme must be Bearer token")
28
+ # raise AuthenticationError("Authorization scheme must be Bearer token")
29
+ return Credentials(), User(authenticated=False)
29
30
 
30
31
  decode_token_parameters = MaleoFoundationTokenParametersTransfers.Decode(key=self._keys.public, token=token)
31
32
  decode_token_result = self._maleo_foundation.services.token.decode(parameters=decode_token_parameters)
32
33
  if not decode_token_result.success:
33
- raise AuthenticationError("Invalid Bearer token, unable to decode token")
34
+ # raise AuthenticationError("Invalid Bearer token, unable to decode token")
35
+ return Credentials(), User(authenticated=False)
34
36
  if decode_token_result.data.exp_dt <= datetime.now(tz=timezone.utc):
35
- raise AuthenticationError("Expired Bearer token, request new or refresh token")
37
+ # raise AuthenticationError("Expired Bearer token, request new or refresh token")
38
+ return Credentials(), User(authenticated=False)
36
39
 
37
40
  payload = decode_token_result.data
38
41
  return (
@@ -4,11 +4,15 @@ from pathlib import Path
4
4
 
5
5
  class JSONLoader:
6
6
  @staticmethod
7
- def load(path:Union[Path, str]) -> Union[Dict[str, Any], List[Any]]:
7
+ def load_from_path(path:Union[Path, str]) -> Union[Dict[str, Any], List[Any]]:
8
8
  file_path = Path(path)
9
9
 
10
10
  if not file_path.is_file():
11
11
  raise FileNotFoundError(f"File not found: {file_path}")
12
12
 
13
13
  with open(file_path, 'r') as f:
14
- return json.load(f)
14
+ return json.load(f)
15
+
16
+ @staticmethod
17
+ def load_from_string(string:str) -> Dict:
18
+ return json.loads(string)
@@ -4,11 +4,15 @@ from typing import Dict, Union
4
4
 
5
5
  class YAMLLoader:
6
6
  @staticmethod
7
- def load(path:Union[Path, str]) -> Dict:
7
+ def load_from_path(path:Union[Path, str]) -> Dict:
8
8
  file_path = Path(path)
9
9
 
10
10
  if not file_path.exists() or not file_path.is_file():
11
11
  raise FileNotFoundError(f"File not found: {file_path}")
12
12
 
13
13
  with file_path.open("r") as f:
14
- return yaml.safe_load(f)
14
+ return yaml.safe_load(f)
15
+
16
+ @staticmethod
17
+ def load_from_string(string:str) -> Dict:
18
+ return yaml.safe_load(string)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.1.93
3
+ Version: 0.1.95
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maleo_foundation"
7
- version = "0.1.93"
7
+ version = "0.1.95"
8
8
  description = "Foundation package for Maleo"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }