Refactor buildVertices function to extract buildVertex logic

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-02-20 16:01:41 -03:00
commit c0ee093854

View file

@ -53,36 +53,52 @@ export async function buildVertices({
for (let i = 0; i < vertices.length; i += 1) { for (let i = 0; i < vertices.length; i += 1) {
if (onBuildStart) onBuildStart(vertices[i]); if (onBuildStart) onBuildStart(vertices[i]);
for (const id of vertices[i]) { for (const id of vertices[i]) {
try { buildVertex(
const buildRes = await postBuildVertex(flowId, id); flowId,
const buildData: VertexBuildTypeAPI = buildRes.data; id,
if (onBuildUpdate) { onBuildUpdate,
let data = {}; onBuildError,
if (!buildData.valid) { verticesIds,
onBuildError!( buildResults
"Error Building Component", );
[buildData.params],
verticesIds
);
}
data[buildData.id] = buildData;
onBuildUpdate({ data, id: buildData.id });
}
buildResults.push(buildData.valid);
} catch (error) {
onBuildError!(
"Error Building Component",
[
(error as AxiosError<any>).response?.data?.detail ??
"Unknown Error",
],
verticesIds
);
}
} }
} }
if (onBuildComplete) { if (onBuildComplete) {
const allNodesValid = buildResults.every((result) => result); const allNodesValid = buildResults.every((result) => result);
onBuildComplete(allNodesValid); onBuildComplete(allNodesValid);
} }
} }
async function buildVertex(
flowId,
id,
onBuildUpdate,
onBuildError,
verticesIds,
buildResults
) {
try {
const buildRes = await postBuildVertex(flowId, id);
const buildData: VertexBuildTypeAPI = buildRes.data;
if (onBuildUpdate) {
let data = {};
if (!buildData.valid) {
onBuildError!(
"Error Building Component",
[buildData.params],
verticesIds
);
}
data[buildData.id] = buildData;
onBuildUpdate({ data, id: buildData.id });
}
buildResults.push(buildData.valid);
} catch (error) {
onBuildError!(
"Error Building Component",
[(error as AxiosError<any>).response?.data?.detail ?? "Unknown Error"],
verticesIds
);
}
}