From d1bd00cbf965a430ba92aab67ba712db10e55102 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 31 Jan 2024 15:38:34 -0300 Subject: [PATCH] Exclude index field in VertexBuildModel and add VertexBuildMapModel --- src/backend/langflow/services/monitor/schema.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/services/monitor/schema.py b/src/backend/langflow/services/monitor/schema.py index a9ef57d52..e9c380a10 100644 --- a/src/backend/langflow/services/monitor/schema.py +++ b/src/backend/langflow/services/monitor/schema.py @@ -47,7 +47,7 @@ class MessageModel(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") flow_id: str valid: bool @@ -80,3 +80,17 @@ class VertexBuildModel(BaseModel): if isinstance(v, str): return json.loads(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)