Exclude index field in VertexBuildModel and add VertexBuildMapModel
This commit is contained in:
parent
4a1a399ca2
commit
d1bd00cbf9
1 changed files with 15 additions and 1 deletions
|
|
@ -47,7 +47,7 @@ class MessageModel(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class VertexBuildModel(BaseModel):
|
class VertexBuildModel(BaseModel):
|
||||||
index: Optional[int] = Field(default=None, alias="index")
|
index: Optional[int] = Field(default=None, alias="index", exclude=True)
|
||||||
id: Optional[str] = Field(default=None, alias="id")
|
id: Optional[str] = Field(default=None, alias="id")
|
||||||
flow_id: str
|
flow_id: str
|
||||||
valid: bool
|
valid: bool
|
||||||
|
|
@ -80,3 +80,17 @@ class VertexBuildModel(BaseModel):
|
||||||
if isinstance(v, str):
|
if isinstance(v, str):
|
||||||
return json.loads(v)
|
return json.loads(v)
|
||||||
return v
|
return v
|
||||||
|
|
||||||
|
|
||||||
|
class VertexBuildMapModel(BaseModel):
|
||||||
|
vertex_builds: dict[str, list[VertexBuildModel]]
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_list_of_dicts(cls, vertex_build_dicts):
|
||||||
|
vertex_build_map = {}
|
||||||
|
for vertex_build_dict in vertex_build_dicts:
|
||||||
|
vertex_build = VertexBuildModel(**vertex_build_dict)
|
||||||
|
if vertex_build.id not in vertex_build_map:
|
||||||
|
vertex_build_map[vertex_build.id] = []
|
||||||
|
vertex_build_map[vertex_build.id].append(vertex_build)
|
||||||
|
return cls(vertex_builds=vertex_build_map)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue