maleo-foundation 0.1.38__tar.gz → 0.1.39__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 (77) hide show
  1. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/PKG-INFO +1 -1
  2. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/service.py +15 -3
  3. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation.egg-info/PKG-INFO +1 -1
  4. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/pyproject.toml +1 -1
  5. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/README.md +0 -0
  6. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/__init__.py +0 -0
  7. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/authentication.py +0 -0
  8. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/constants.py +0 -0
  9. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/enums.py +0 -0
  10. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/expanded_types/__init__.py +0 -0
  11. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/expanded_types/client.py +0 -0
  12. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/expanded_types/general.py +0 -0
  13. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/expanded_types/query.py +0 -0
  14. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/expanded_types/service.py +0 -0
  15. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/expanded_types/token.py +0 -0
  16. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/extended_types.py +0 -0
  17. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/__init__.py +0 -0
  18. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/client/__init__.py +0 -0
  19. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/client/base.py +0 -0
  20. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/client/google/__init__.py +0 -0
  21. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/client/google/base.py +0 -0
  22. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/client/google/secret.py +0 -0
  23. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/client/google/storage.py +0 -0
  24. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/client/maleo.py +0 -0
  25. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/db.py +0 -0
  26. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/managers/middleware.py +0 -0
  27. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/middlewares/__init__.py +0 -0
  28. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/middlewares/authentication.py +0 -0
  29. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/middlewares/base.py +0 -0
  30. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/middlewares/cors.py +0 -0
  31. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/__init__.py +0 -0
  32. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/responses.py +0 -0
  33. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/schemas/__init__.py +0 -0
  34. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/schemas/general.py +0 -0
  35. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/schemas/parameter.py +0 -0
  36. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/schemas/result.py +0 -0
  37. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/schemas/token.py +0 -0
  38. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/table.py +0 -0
  39. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/__init__.py +0 -0
  40. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/general/__init__.py +0 -0
  41. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/general/token.py +0 -0
  42. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/parameters/__init__.py +0 -0
  43. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/parameters/client.py +0 -0
  44. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/parameters/general.py +0 -0
  45. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/parameters/service.py +0 -0
  46. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/parameters/token.py +0 -0
  47. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/__init__.py +0 -0
  48. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/client/__init__.py +0 -0
  49. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/client/controllers/__init__.py +0 -0
  50. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/client/controllers/http.py +0 -0
  51. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/client/service.py +0 -0
  52. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/service/__init__.py +0 -0
  53. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/service/controllers/__init__.py +0 -0
  54. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/service/controllers/rest.py +0 -0
  55. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/service/general.py +0 -0
  56. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/service/query.py +0 -0
  57. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/models/transfers/results/token.py +0 -0
  58. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/services/__init__.py +0 -0
  59. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/services/token.py +0 -0
  60. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/types.py +0 -0
  61. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/__init__.py +0 -0
  62. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/controller.py +0 -0
  63. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/exceptions.py +0 -0
  64. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/extractor.py +0 -0
  65. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/formatter/__init__.py +0 -0
  66. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/formatter/case.py +0 -0
  67. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/loaders/__init__.py +0 -0
  68. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/loaders/json.py +0 -0
  69. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/loaders/key.py +0 -0
  70. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/loaders/yaml.py +0 -0
  71. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/logging.py +0 -0
  72. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation/utils/query.py +0 -0
  73. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation.egg-info/SOURCES.txt +0 -0
  74. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation.egg-info/dependency_links.txt +0 -0
  75. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation.egg-info/requires.txt +0 -0
  76. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/maleo_foundation.egg-info/top_level.txt +0 -0
  77. {maleo_foundation-0.1.38 → maleo_foundation-0.1.39}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.1.38
3
+ Version: 0.1.39
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -5,9 +5,9 @@ from fastapi.exceptions import RequestValidationError
5
5
  from starlette.exceptions import HTTPException
6
6
  from starlette.types import Lifespan, AppType
7
7
  from pydantic_settings import BaseSettings
8
- from pydantic import BaseModel, Field
8
+ from pydantic import BaseModel, Field, model_validator
9
9
  from sqlalchemy import MetaData
10
- from typing import Optional, Type
10
+ from typing import Dict, Optional, Type
11
11
  from maleo_foundation.enums import BaseEnums
12
12
  from maleo_foundation.models.transfers.general.token import BaseTokenGeneralTransfers
13
13
  from maleo_foundation.models.transfers.parameters.token import BaseTokenParametersTransfers
@@ -81,11 +81,23 @@ class ServiceConfigurations(BaseModel):
81
81
  class DatabaseConfigurations(BaseModel):
82
82
  username:str = Field("postgres", description="Database user's username")
83
83
  password_env:str = Field("DB_PASSWORD", description="Database user's password .env")
84
- password:str = Field(os.getenv(password_env), description="Database user's password")
84
+ password:str = Field(..., description="Database user's password")
85
85
  host:str = Field(..., description="Database's host")
86
86
  port:int = Field(5432, description="Database's port")
87
87
  database:str = Field(..., description="Database")
88
88
 
89
+ @model_validator(mode='before')
90
+ @classmethod
91
+ def populate_password(cls, values:Dict):
92
+ env_name = values.get("password_env")
93
+ if not env_name:
94
+ raise ValueError("password_env is required to fetch password from environment.")
95
+ env_value = os.getenv(env_name)
96
+ if env_value is None:
97
+ raise ValueError(f"'{env_name}' must be set.")
98
+ values["password"] = env_value
99
+ return values
100
+
89
101
  @property
90
102
  def url(self) -> str:
91
103
  return f"postgresql://{self.username}:{self.password}@{self.host}:{self.port}/{self.database}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.1.38
3
+ Version: 0.1.39
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.38"
7
+ version = "0.1.39"
8
8
  description = "Foundation package for Maleo"
9
9
  authors = [
10
10
  { name = "Agra Bima Yuda", email = "agra@nexmedis.com" }