maleo-foundation 0.2.48__py3-none-any.whl → 0.2.50__py3-none-any.whl

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.
@@ -14,10 +14,6 @@ class ResultMetadata(BaseModel):
14
14
  field_expansion:Optional[Union[str, Dict[str, FieldExpansionMetadata]]] = Field(None, description="Field expansion metadata")
15
15
 
16
16
  class BaseResultSchemas:
17
- class BaseRow(BaseModel):
18
- class Config:
19
- from_attributes=True
20
-
21
17
  class Base(BaseModel):
22
18
  success:bool = Field(..., description="Success status")
23
19
  code:BaseTypes.OptionalString = Field(None, description="Optional result code")
@@ -4,28 +4,17 @@ from maleo_foundation.models.schemas.general import BaseGeneralSchemas
4
4
  from maleo_foundation.models.schemas.result import BaseResultSchemas
5
5
 
6
6
  class BaseServiceRepositoryResultsTransfers:
7
- class Row(
8
- BaseGeneralSchemas.Status,
9
- BaseGeneralSchemas.Timestamps,
10
- BaseGeneralSchemas.Identifiers,
11
- BaseResultSchemas.BaseRow
12
- ): pass
13
-
14
7
  class Fail(BaseResultSchemas.Fail): pass
15
8
 
16
9
  class NotFound(BaseResultSchemas.NotFound): pass
17
10
 
18
11
  class NoData(BaseResultSchemas.NoData): pass
19
12
 
20
- class SingleData(BaseResultSchemas.SingleData):
21
- data:BaseServiceRepositoryResultsTransfers.Row
13
+ class SingleData(BaseResultSchemas.SingleData): pass
22
14
 
23
- class UnpaginatedMultipleData(BaseResultSchemas.UnpaginatedMultipleData):
24
- data:list[BaseServiceRepositoryResultsTransfers.Row]
15
+ class UnpaginatedMultipleData(BaseResultSchemas.UnpaginatedMultipleData): pass
25
16
 
26
17
  class PaginatedMultipleData(BaseResultSchemas.PaginatedMultipleData):
27
- data:list[BaseServiceRepositoryResultsTransfers.Row]
28
-
29
18
  @model_validator(mode="before")
30
19
  @classmethod
31
20
  def calculate_pagination(cls, values: dict) -> dict:
@@ -54,12 +54,12 @@ class BaseControllerUtils:
54
54
  return result
55
55
 
56
56
  #* Recursive function to apply expansion processors
57
- def recursive_expand(data:Union[Dict, List], expand:List[str]):
57
+ def recursive_expand(data:Union[Dict, List], expand:BaseTypes.OptionalListOfStrings):
58
58
  if isinstance(data, list):
59
59
  for idx, item in enumerate(data):
60
60
  data[idx] = recursive_expand(item, expand)
61
61
  return data
62
- elif isinstance(data, dict):
62
+ elif isinstance(data, Dict):
63
63
  #* Apply each processor to current dict
64
64
  for processor in field_expansion_processors or []:
65
65
  raw_parameters = {"data": data, "expand": expand}
@@ -69,13 +69,9 @@ class BaseControllerUtils:
69
69
  .model_validate(raw_parameters)
70
70
  )
71
71
  data = processor(parameters)
72
-
73
- #* Now recursively apply to nested fields if they are in expand
74
- for key in expand:
75
- if key in data and isinstance(data[key], (dict, list)):
76
- #* Recursively expand nested field with same expand
72
+ for key in data.keys():
73
+ if isinstance(data[key], (Dict, List)):
77
74
  data[key] = recursive_expand(data[key], expand)
78
-
79
75
  return data
80
76
  else:
81
77
  return data
@@ -85,39 +81,10 @@ class BaseControllerUtils:
85
81
  result.success
86
82
  and result.content.get("data", None) is not None
87
83
  and field_expansion_processors is not None
88
- and expand is not None
89
84
  ):
90
85
  data = result.content["data"]
91
86
  result.content["data"] = recursive_expand(data, expand)
92
-
93
- # #* Process the fields if needed
94
- # if (result.success
95
- # and result.content.get("data", None) is not None
96
- # and field_expansion_processors is not None
97
- # ):
98
- # data = result.content["data"]
99
- # if isinstance(data, List):
100
- # for idx, dt in enumerate(data):
101
- # for processor in field_expansion_processors:
102
- # raw_parameters = {"data": dt, "expand": expand}
103
- # parameters = (
104
- # BaseGeneralParametersTransfers
105
- # .FieldExpansionProcessor
106
- # .model_validate(raw_parameters)
107
- # )
108
- # dt = processor(parameters)
109
- # data[idx] = dt
110
- # elif isinstance(data, Dict):
111
- # raw_parameters = {"data": data, "expand": expand}
112
- # parameters = (
113
- # BaseGeneralParametersTransfers
114
- # .FieldExpansionProcessor
115
- # .model_validate(raw_parameters)
116
- # )
117
- # for processor in field_expansion_processors:
118
- # data = processor(parameters)
119
- # result.content["data"] = data
120
- # result.process_response()
87
+ result.process_response()
121
88
 
122
89
  return result
123
90
  return wrapper
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.2.48
3
+ Version: 0.2.50
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -58,7 +58,7 @@ maleo_foundation/models/schemas/general.py,sha256=PCnGRV_WL8xiBuECDlt7E0Mg_pEVrM
58
58
  maleo_foundation/models/schemas/hash.py,sha256=db2uyCeUzvF2zDCcbiZMh1MxIOGOGezOMOx-M1ta4zI,441
59
59
  maleo_foundation/models/schemas/key.py,sha256=7FZxVqTL5qRK48AXL1odrMNhAwhwtCwSkBUPsJwuBII,594
60
60
  maleo_foundation/models/schemas/parameter.py,sha256=K47z2NzmTEhUiOfRiRLyRPXoQurbWsKBL7ObXAxIWRY,2100
61
- maleo_foundation/models/schemas/result.py,sha256=MwjJVBwbAg3f4ibBhsN-256ZH9mGPenPv5sPEkB3Wao,3637
61
+ maleo_foundation/models/schemas/result.py,sha256=uYVV5MHeK2aKEWmbmI8azDuD4_xG3MKmo3_wDAl5i6E,3551
62
62
  maleo_foundation/models/schemas/signature.py,sha256=-5ldTnJsjwqPRbHw7PFcLKITqEXJ_qKDdRHShK75NVA,620
63
63
  maleo_foundation/models/schemas/token.py,sha256=RYq8v1T_WZIu8lcjwyV6Pp7ZjFkr_lW9x6QyDmXBsfw,563
64
64
  maleo_foundation/models/transfers/__init__.py,sha256=oJLJ3Geeme6vBw7R2Dhvdvg4ziVvzEYAGJaP-tm_90w,299
@@ -94,12 +94,12 @@ maleo_foundation/models/transfers/results/encryption/aes.py,sha256=yx3hZNhge2lfj
94
94
  maleo_foundation/models/transfers/results/encryption/rsa.py,sha256=hlCtiT1TZwmMBEn-sgGs-WocNEmJ4qxWcHS5y9m7Voc,683
95
95
  maleo_foundation/models/transfers/results/service/__init__.py,sha256=qKCJTtuLJeda-xrRL99OVdZR91PLFK1JyYVItjreLbQ,410
96
96
  maleo_foundation/models/transfers/results/service/general.py,sha256=-4VE7mV103nQIRRxIy_dGIU6XDe_wiMgrCFJJ6eXUMM,1540
97
- maleo_foundation/models/transfers/results/service/repository.py,sha256=xz9RakOBEbtdGnnK0fM4KVZOL-AjRsaIE9J3TQqkIBo,1887
97
+ maleo_foundation/models/transfers/results/service/repository.py,sha256=Ach5lLjEC4IB_fEJPMEYgwBWNKq-TYLzbsHuc6e1vsw,1543
98
98
  maleo_foundation/models/transfers/results/service/controllers/__init__.py,sha256=HZJWMy2dskzOCzLmp_UaL9rjbQ-sDMI7sd2bXb-4QOU,175
99
99
  maleo_foundation/models/transfers/results/service/controllers/rest.py,sha256=wCuFyOTQkuBs2cqjPsWnPy0XIsCfMqGByhrSy57qp7Y,1107
100
100
  maleo_foundation/utils/__init__.py,sha256=SRPEVoqjZoO6W8rtF_Ti8VIangg6Auwm6eHbZMdOthY,520
101
101
  maleo_foundation/utils/client.py,sha256=F5X9TUxWQgeOHjwsMpPoSRhZANQYZ_iFv0RJDTUVhrw,2820
102
- maleo_foundation/utils/controller.py,sha256=n8_-BG3EJuQCKI5aHf-WMhpxNsnM2veeuvEZLtSVcv8,6242
102
+ maleo_foundation/utils/controller.py,sha256=XhCcRy-OxJzv0xkZmVEBOkYqbaAckHaMaW6ND6Be-_c,4520
103
103
  maleo_foundation/utils/exceptions.py,sha256=kDLTWiUauvc-fSKrEyxlGvIi2NtZIAhJ9bV3OXnpTyo,6253
104
104
  maleo_foundation/utils/extractor.py,sha256=SZXVYDHWGaA-Dd1BUydwF2HHdZqexEielS4CjL0Ceng,814
105
105
  maleo_foundation/utils/logging.py,sha256=W5Fhk_xAXVqSujaY8mv3hRH4wlQSpUn4ReuMoiKcQa4,7759
@@ -117,7 +117,7 @@ maleo_foundation/utils/loaders/credential/__init__.py,sha256=qopTKvcMVoTFwyRijeg
117
117
  maleo_foundation/utils/loaders/credential/google.py,sha256=SKsqPuFnAiCcYLf24CxKnMybhVHpgqnq1gGSlThqjts,994
118
118
  maleo_foundation/utils/loaders/key/__init__.py,sha256=hVygcC2ImHc_aVrSrOmyedR8tMUZokWUKCKOSh5ctbo,106
119
119
  maleo_foundation/utils/loaders/key/rsa.py,sha256=gDhyX6iTFtHiluuhFCozaZ3pOLKU2Y9TlrNMK_GVyGU,3796
120
- maleo_foundation-0.2.48.dist-info/METADATA,sha256=PwEMHPB56vLw8qCtJeywYE7td7_7d0gpnQbrMhEF5aI,3598
121
- maleo_foundation-0.2.48.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
122
- maleo_foundation-0.2.48.dist-info/top_level.txt,sha256=_iBos3F_bhEOdjOnzeiEYSrCucasc810xXtLBXI8cQc,17
123
- maleo_foundation-0.2.48.dist-info/RECORD,,
120
+ maleo_foundation-0.2.50.dist-info/METADATA,sha256=5SrHzYfi52N2hXsE5lHfWY5M1Ln0WOvsM4NYHpKGPt0,3598
121
+ maleo_foundation-0.2.50.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
122
+ maleo_foundation-0.2.50.dist-info/top_level.txt,sha256=_iBos3F_bhEOdjOnzeiEYSrCucasc810xXtLBXI8cQc,17
123
+ maleo_foundation-0.2.50.dist-info/RECORD,,