fixed nested function in workflow validator

This commit is contained in:
Felix Kaspar 2023-11-21 22:27:01 +01:00
parent 58c08821d2
commit 26dcc4843e

View File

@ -1,35 +1,32 @@
import { Action } from "../../declarations/Action";
import { getOperatorByName } from "./getOperatorByName";
/** This function validates the "workflow-json" from the API */
export function validateOperations(actions: Action[]): { valid: boolean, reason?: string} {
function validateOperation(actions: Action[]): { valid: boolean; reason?: string; } {
for (const action of actions) {
if (action.type === "wait" || action.type === "done") {
// TODO: Validate these too ):
return { valid: true };
}
else {
const operator = getOperatorByName(action.type);
if(!operator) {
return { valid: false, reason: `action.type ${action.type} does not exist` }
}
const validationResult = new operator(action).validate();
if(!validationResult.valid) {
return validationResult;
}
for (const action of actions) {
if (action.type === "wait" || action.type === "done") {
// TODO: Validate these too ):
return { valid: true };
}
else {
const operator = getOperatorByName(action.type);
if(!operator) {
return { valid: false, reason: `action.type ${action.type} does not exist` }
}
const validationResult = new operator(action).validate();
if (action.actions) {
const validationResult = validateOperation(action.actions);
if(!validationResult.valid) {
return validationResult;
}
if(!validationResult.valid) {
return validationResult;
}
}
return { valid: true };
}
return validateOperation(actions);
if (action.actions) {
const validationResult = validateOperations(action.actions);
if(!validationResult.valid) {
return validationResult;
}
}
}
return { valid: true };
}