maleo-foundation 0.3.23__tar.gz → 0.3.25__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 (145) hide show
  1. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/PKG-INFO +1 -1
  2. maleo_foundation-0.3.25/maleo_foundation/models/transfers/general/settings.py +62 -0
  3. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation.egg-info/PKG-INFO +1 -1
  4. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/pyproject.toml +1 -1
  5. maleo_foundation-0.3.23/maleo_foundation/models/transfers/general/settings.py +0 -90
  6. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/README.md +0 -0
  7. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/__init__.py +0 -0
  8. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/authentication.py +0 -0
  9. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/authorization.py +0 -0
  10. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/__init__.py +0 -0
  11. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/manager.py +0 -0
  12. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/__init__.py +0 -0
  13. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/encryption/__init__.py +0 -0
  14. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/encryption/aes.py +0 -0
  15. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/encryption/rsa.py +0 -0
  16. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/hash/__init__.py +0 -0
  17. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/hash/bcrypt.py +0 -0
  18. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/hash/hmac.py +0 -0
  19. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/hash/sha256.py +0 -0
  20. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/key.py +0 -0
  21. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/signature.py +0 -0
  22. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/client/services/token.py +0 -0
  23. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/constants.py +0 -0
  24. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/enums.py +0 -0
  25. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/__init__.py +0 -0
  26. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/client.py +0 -0
  27. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/encryption/__init__.py +0 -0
  28. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/encryption/aes.py +0 -0
  29. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/encryption/rsa.py +0 -0
  30. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/general.py +0 -0
  31. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/hash.py +0 -0
  32. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/key.py +0 -0
  33. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/repository.py +0 -0
  34. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/service.py +0 -0
  35. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/signature.py +0 -0
  36. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/expanded_types/token.py +0 -0
  37. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/extended_types.py +0 -0
  38. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/__init__.py +0 -0
  39. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/cache.py +0 -0
  40. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/__init__.py +0 -0
  41. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/base.py +0 -0
  42. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/google/__init__.py +0 -0
  43. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/google/base.py +0 -0
  44. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/google/parameter.py +0 -0
  45. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/google/secret.py +0 -0
  46. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/google/storage.py +0 -0
  47. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/google/subscription.py +0 -0
  48. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/client/maleo.py +0 -0
  49. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/configuration.py +0 -0
  50. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/credential.py +0 -0
  51. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/db.py +0 -0
  52. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/middleware.py +0 -0
  53. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/managers/service.py +0 -0
  54. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/middlewares/authentication.py +0 -0
  55. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/middlewares/base.py +0 -0
  56. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/middlewares/cors.py +0 -0
  57. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/__init__.py +0 -0
  58. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/responses.py +0 -0
  59. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/__init__.py +0 -0
  60. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/encryption.py +0 -0
  61. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/general.py +0 -0
  62. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/hash.py +0 -0
  63. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/key.py +0 -0
  64. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/parameter.py +0 -0
  65. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/result.py +0 -0
  66. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/signature.py +0 -0
  67. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/schemas/token.py +0 -0
  68. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/table.py +0 -0
  69. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/__init__.py +0 -0
  70. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/__init__.py +0 -0
  71. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/__init__.py +0 -0
  72. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/cache/__init__.py +0 -0
  73. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/cache/redis.py +0 -0
  74. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/client/__init__.py +0 -0
  75. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/client/maleo.py +0 -0
  76. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/database.py +0 -0
  77. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/middleware.py +0 -0
  78. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/configurations/service.py +0 -0
  79. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/credentials.py +0 -0
  80. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/database.py +0 -0
  81. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/key.py +0 -0
  82. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/request.py +0 -0
  83. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/signature.py +0 -0
  84. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/general/token.py +0 -0
  85. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/__init__.py +0 -0
  86. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/client.py +0 -0
  87. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/encryption/__init__.py +0 -0
  88. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/encryption/aes.py +0 -0
  89. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/encryption/rsa.py +0 -0
  90. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/general.py +0 -0
  91. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/hash/__init__.py +0 -0
  92. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/hash/bcrypt.py +0 -0
  93. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/hash/hmac.py +0 -0
  94. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/hash/sha256.py +0 -0
  95. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/key.py +0 -0
  96. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/service.py +0 -0
  97. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/signature.py +0 -0
  98. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/parameters/token.py +0 -0
  99. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/__init__.py +0 -0
  100. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/client/__init__.py +0 -0
  101. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/client/controllers/__init__.py +0 -0
  102. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/client/controllers/http.py +0 -0
  103. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/client/service.py +0 -0
  104. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/encryption/__init__.py +0 -0
  105. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/encryption/aes.py +0 -0
  106. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/encryption/rsa.py +0 -0
  107. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/hash.py +0 -0
  108. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/key.py +0 -0
  109. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/service/__init__.py +0 -0
  110. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/service/controllers/__init__.py +0 -0
  111. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/service/controllers/rest.py +0 -0
  112. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/service/general.py +0 -0
  113. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/service/repository.py +0 -0
  114. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/signature.py +0 -0
  115. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/models/transfers/results/token.py +0 -0
  116. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/rest_controller_result.py +0 -0
  117. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/types.py +0 -0
  118. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/__init__.py +0 -0
  119. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/cache.py +0 -0
  120. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/client.py +0 -0
  121. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/controller.py +0 -0
  122. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/dependencies/__init__.py +0 -0
  123. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/dependencies/auth.py +0 -0
  124. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/dependencies/context.py +0 -0
  125. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/exceptions.py +0 -0
  126. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/extractor.py +0 -0
  127. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/formatter/__init__.py +0 -0
  128. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/formatter/case.py +0 -0
  129. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/loaders/__init__.py +0 -0
  130. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/loaders/credential/__init__.py +0 -0
  131. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/loaders/credential/google.py +0 -0
  132. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/loaders/json.py +0 -0
  133. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/loaders/key/__init__.py +0 -0
  134. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/loaders/key/rsa.py +0 -0
  135. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/loaders/yaml.py +0 -0
  136. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/logging.py +0 -0
  137. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/merger.py +0 -0
  138. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/query.py +0 -0
  139. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/repository.py +0 -0
  140. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation/utils/searcher.py +0 -0
  141. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation.egg-info/SOURCES.txt +0 -0
  142. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation.egg-info/dependency_links.txt +0 -0
  143. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation.egg-info/requires.txt +0 -0
  144. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/maleo_foundation.egg-info/top_level.txt +0 -0
  145. {maleo_foundation-0.3.23 → maleo_foundation-0.3.25}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.3.23
3
+ Version: 0.3.25
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -0,0 +1,62 @@
1
+ from pydantic_settings import BaseSettings
2
+ from pydantic import Field, model_validator
3
+ from typing import Self
4
+ from maleo_foundation.enums import BaseEnums
5
+ from maleo_foundation.types import BaseTypes
6
+
7
+ class Settings(BaseSettings):
8
+ ENVIRONMENT: BaseEnums.EnvironmentType = Field(..., description="Environment")
9
+ SERVICE_KEY: str = Field(..., description="Service's key")
10
+ ROOT_PATH: str = Field("", description="Application's root path")
11
+ GOOGLE_CREDENTIALS_PATH: str = Field(
12
+ "/credentials/maleo-google-service-account.json",
13
+ description="Internal credential's file path"
14
+ )
15
+ USE_LOCAL_STATIC_CONFIGURATIONS: bool = Field(
16
+ False,
17
+ description="Whether to use local static configurations"
18
+ )
19
+ STATIC_CONFIGURATIONS_PATH: BaseTypes.OptionalString = Field(
20
+ None,
21
+ description="Maleo's static configurations path"
22
+ )
23
+ USE_LOCAL_RUNTIME_CONFIGURATIONS: bool = Field(
24
+ False,
25
+ description="Whether to use local runtime configurations"
26
+ )
27
+ RUNTIME_CONFIGURATIONS_PATH: BaseTypes.OptionalString = Field(
28
+ None,
29
+ description="Service's runtime configurations path"
30
+ )
31
+ KEY_PASSWORD: BaseTypes.OptionalString = Field(
32
+ None,
33
+ description="Key's password"
34
+ )
35
+ PRIVATE_KEY: BaseTypes.OptionalString = Field(
36
+ None,
37
+ description="Private key"
38
+ )
39
+ PUBLIC_KEY: BaseTypes.OptionalString = Field(
40
+ None,
41
+ description="Public key"
42
+ )
43
+
44
+ @model_validator(mode="after")
45
+ def validate_configurations_path(self) -> Self:
46
+ if self.USE_LOCAL_STATIC_CONFIGURATIONS and self.STATIC_CONFIGURATIONS_PATH is None:
47
+ self.STATIC_CONFIGURATIONS_PATH = (
48
+ f"/static-configurations/maleo-static-configurations-{self.ENVIRONMENT}.yaml"
49
+ )
50
+
51
+ if self.USE_LOCAL_STATIC_CONFIGURATIONS and self.STATIC_CONFIGURATIONS_PATH is None:
52
+ raise ValueError("Static configurations path must exist if use local static configurations is set to true")
53
+
54
+ if self.USE_LOCAL_RUNTIME_CONFIGURATIONS and self.RUNTIME_CONFIGURATIONS_PATH is None:
55
+ self.RUNTIME_CONFIGURATIONS_PATH = (
56
+ f"/runtime-configurations/{self.SERVICE_KEY}-runtime-configurations-{self.ENVIRONMENT}.yaml"
57
+ )
58
+
59
+ if self.USE_LOCAL_RUNTIME_CONFIGURATIONS and self.RUNTIME_CONFIGURATIONS_PATH is None:
60
+ raise ValueError("Runtime configurations path must exist if use local runtime configurations is set to true")
61
+
62
+ return self
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.3.23
3
+ Version: 0.3.25
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.3.23"
7
+ version = "0.3.25"
8
8
  description = "Foundation package for Maleo"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }
@@ -1,90 +0,0 @@
1
- from pydantic_settings import BaseSettings
2
- from pydantic import Field, model_validator
3
- from typing import Self
4
- from maleo_foundation.enums import BaseEnums
5
- from maleo_foundation.types import BaseTypes
6
-
7
- class Settings(BaseSettings):
8
- ENVIRONMENT: BaseEnums.EnvironmentType = Field(..., description="Environment")
9
- SERVICE_KEY: str = Field(..., description="Service's key")
10
- ROOT_PATH: str = Field("", description="Application's root path")
11
- GOOGLE_CREDENTIALS_PATH: str = Field(
12
- "/credentials/maleo-google-service-account.json",
13
- description="Internal credential's file path"
14
- )
15
- USE_LOCAL_STATIC_CONFIGURATIONS: bool = Field(
16
- False,
17
- description="Whether to use local static configurations"
18
- )
19
- STATIC_CONFIGURATIONS_PATH: BaseTypes.OptionalString = Field(
20
- None,
21
- description="Maleo's static configurations path"
22
- )
23
- USE_LOCAL_RUNTIME_CONFIGURATIONS: bool = Field(
24
- False,
25
- description="Whether to use local runtime configurations"
26
- )
27
- RUNTIME_CONFIGURATIONS_PATH: BaseTypes.OptionalString = Field(
28
- None,
29
- description="Service's runtime configurations path"
30
- )
31
- KEY_PASSWORD: BaseTypes.OptionalString = Field(
32
- None,
33
- description="Key's password"
34
- )
35
- PRIVATE_KEY: BaseTypes.OptionalString = Field(
36
- None,
37
- description="Private key"
38
- )
39
- PUBLIC_KEY: BaseTypes.OptionalString = Field(
40
- None,
41
- description="Public key"
42
- )
43
-
44
- @classmethod
45
- @model_validator(mode="before")
46
- def define_configurations_path(
47
- cls,
48
- values: BaseTypes.StringToAnyDict
49
- ) -> BaseTypes.StringToAnyDict:
50
- # Define and check environment
51
- environment: BaseTypes.OptionalString = values.get("ENVIRONMENT", None)
52
- if environment is None:
53
- raise ValueError("'ENVIRONMENT' variable not defined/found")
54
-
55
- # Define and check service key
56
- service_key: BaseTypes.OptionalString = values.get("SERVICE_KEY", None)
57
- if service_key is None:
58
- raise ValueError("'SERVICE_KEY' variable not defined/found")
59
-
60
- # Define and check use local static configurations
61
- use_local_static_configurations: BaseTypes.OptionalBoolean = values.get("USE_LOCAL_STATIC_CONFIGURATIONS", None)
62
- if use_local_static_configurations is None:
63
- raise ValueError("'USE_LOCAL_STATIC_CONFIGURATIONS' variable not defined/found")
64
-
65
- # Define static configurations path if necessary
66
- static_configurations_path: BaseTypes.OptionalString = values.get("STATIC_CONFIGURATIONS_PATH", None)
67
- if use_local_static_configurations and static_configurations_path is None:
68
- values["STATIC_CONFIGURATIONS_PATH"] = f"/static-configurations/maleo-static-configurations-{environment}.yaml"
69
-
70
- # Define and check use local runtime configurations
71
- use_local_runtime_configurations: BaseTypes.OptionalBoolean = values.get("USE_LOCAL_RUNTIME_CONFIGURATIONS", None)
72
- if use_local_runtime_configurations is None:
73
- raise ValueError("'USE_LOCAL_RUNTIME_CONFIGURATIONS' variable not defined/found")
74
-
75
- # Define runtime configurations path if necessary
76
- runtime_configurations_path: BaseTypes.OptionalString = values.get("RUNTIME_CONFIGURATIONS_PATH", None)
77
- if use_local_runtime_configurations and runtime_configurations_path is None:
78
- values["RUNTIME_CONFIGURATIONS_PATH"] = f"/runtime-configurations/{service_key}-runtime-configurations-{environment}.yaml"
79
-
80
- return values
81
-
82
- @model_validator(mode="after")
83
- def validate_configurations_path(self) -> Self:
84
- if self.USE_LOCAL_STATIC_CONFIGURATIONS and self.STATIC_CONFIGURATIONS_PATH is None:
85
- raise ValueError("Static configurations path must exist if use local static configurations is set to true")
86
-
87
- if self.USE_LOCAL_RUNTIME_CONFIGURATIONS and self.RUNTIME_CONFIGURATIONS_PATH is None:
88
- raise ValueError("Runtime configurations path must exist if use local runtime configurations is set to true")
89
-
90
- return self