Infer function input in workflow step (#8308)

- add `inputSchema` column in serverless function. This is an array of
parameters, with their name and type
- on serverless function id update, get the `inputSchema` + store empty
settings in step
- from step settings, build the form 

TODO in next PR:
- use field type to decide what kind of form should be printed
- have a strategy to handle object as input



https://github.com/user-attachments/assets/ed96f919-24b5-4baf-a051-31f76f45e575
This commit is contained in:
Thomas Trompette
2024-11-05 14:57:06 +01:00
committed by GitHub
parent d1531aa1b6
commit be8141ce5e
29 changed files with 334 additions and 90 deletions

View File

@ -30,17 +30,21 @@ export class CodeWorkflowAction implements WorkflowAction {
);
}
const result =
await this.serverlessFunctionService.executeOneServerlessFunction(
workflowStepInput.serverlessFunctionId,
workspaceId,
{}, // TODO: input will be dynamically calculated from function input
);
try {
const result =
await this.serverlessFunctionService.executeOneServerlessFunction(
workflowStepInput.serverlessFunctionId,
workspaceId,
workflowStepInput.serverlessFunctionInput,
);
if (result.error) {
return { error: result.error };
if (result.error) {
return { error: result.error };
}
return { result: result.data || {} };
} catch (error) {
return { error: error.message };
}
return { result: result.data || {} };
}
}