Save credential parameters as credential input parameter and display … (#1968)
This commit is contained in:
@@ -25,7 +25,7 @@ import { z } from "zod";
|
|||||||
import { WorkflowParameter } from "./types/workflowTypes";
|
import { WorkflowParameter } from "./types/workflowTypes";
|
||||||
import { WorkflowParameterInput } from "./WorkflowParameterInput";
|
import { WorkflowParameterInput } from "./WorkflowParameterInput";
|
||||||
import { AxiosError } from "axios";
|
import { AxiosError } from "axios";
|
||||||
|
import { getLabelForWorkflowParameterType } from "./editor/workflowEditorUtils";
|
||||||
type Props = {
|
type Props = {
|
||||||
workflowParameters: Array<WorkflowParameter>;
|
workflowParameters: Array<WorkflowParameter>;
|
||||||
initialValues: Record<string, unknown>;
|
initialValues: Record<string, unknown>;
|
||||||
@@ -206,7 +206,9 @@ function RunWorkflowForm({
|
|||||||
<div className="flex items-center gap-2 text-lg">
|
<div className="flex items-center gap-2 text-lg">
|
||||||
{parameter.key}
|
{parameter.key}
|
||||||
<span className="text-sm text-slate-400">
|
<span className="text-sm text-slate-400">
|
||||||
{parameter.workflow_parameter_type}
|
{getLabelForWorkflowParameterType(
|
||||||
|
parameter.workflow_parameter_type,
|
||||||
|
)}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<h2 className="text-sm text-slate-400">
|
<h2 className="text-sm text-slate-400">
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import {
|
|||||||
WorkflowApiResponse,
|
WorkflowApiResponse,
|
||||||
WorkflowEditorParameterTypes,
|
WorkflowEditorParameterTypes,
|
||||||
WorkflowParameterTypes,
|
WorkflowParameterTypes,
|
||||||
|
WorkflowParameterValueType,
|
||||||
WorkflowSettings,
|
WorkflowSettings,
|
||||||
} from "../types/workflowTypes";
|
} from "../types/workflowTypes";
|
||||||
import {
|
import {
|
||||||
@@ -163,10 +164,11 @@ function convertToParametersYAML(
|
|||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
return {
|
return {
|
||||||
parameter_type: WorkflowParameterTypes.Credential,
|
parameter_type: WorkflowParameterTypes.Workflow,
|
||||||
|
workflow_parameter_type: WorkflowParameterValueType.CredentialId,
|
||||||
|
default_value: parameter.credentialId,
|
||||||
key: parameter.key,
|
key: parameter.key,
|
||||||
description: parameter.description || null,
|
description: parameter.description || null,
|
||||||
credential_id: parameter.credentialId,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {
|
|||||||
isDisplayedInWorkflowEditor,
|
isDisplayedInWorkflowEditor,
|
||||||
WorkflowEditorParameterTypes,
|
WorkflowEditorParameterTypes,
|
||||||
WorkflowParameterTypes,
|
WorkflowParameterTypes,
|
||||||
|
WorkflowParameterValueType,
|
||||||
WorkflowSettings,
|
WorkflowSettings,
|
||||||
} from "../types/workflowTypes";
|
} from "../types/workflowTypes";
|
||||||
import { useGlobalWorkflowsQuery } from "../hooks/useGlobalWorkflowsQuery";
|
import { useGlobalWorkflowsQuery } from "../hooks/useGlobalWorkflowsQuery";
|
||||||
@@ -78,6 +79,17 @@ function WorkflowEditor() {
|
|||||||
if (
|
if (
|
||||||
parameter.parameter_type === WorkflowParameterTypes.Workflow
|
parameter.parameter_type === WorkflowParameterTypes.Workflow
|
||||||
) {
|
) {
|
||||||
|
if (
|
||||||
|
parameter.workflow_parameter_type ===
|
||||||
|
WorkflowParameterValueType.CredentialId
|
||||||
|
) {
|
||||||
|
return {
|
||||||
|
key: parameter.key,
|
||||||
|
parameterType: WorkflowEditorParameterTypes.Credential,
|
||||||
|
credentialId: parameter.default_value as string,
|
||||||
|
description: parameter.description,
|
||||||
|
};
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
key: parameter.key,
|
key: parameter.key,
|
||||||
parameterType: WorkflowEditorParameterTypes.Workflow,
|
parameterType: WorkflowEditorParameterTypes.Workflow,
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ const workflowParameterTypeOptions = [
|
|||||||
{ label: "integer", value: WorkflowParameterValueType.Integer },
|
{ label: "integer", value: WorkflowParameterValueType.Integer },
|
||||||
{ label: "boolean", value: WorkflowParameterValueType.Boolean },
|
{ label: "boolean", value: WorkflowParameterValueType.Boolean },
|
||||||
{ label: "file", value: WorkflowParameterValueType.FileURL },
|
{ label: "file", value: WorkflowParameterValueType.FileURL },
|
||||||
{ label: "credential", value: WorkflowParameterValueType.CredentialId },
|
|
||||||
{ label: "JSON", value: WorkflowParameterValueType.JSON },
|
{ label: "JSON", value: WorkflowParameterValueType.JSON },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import {
|
|||||||
WorkflowEditorParameterType,
|
WorkflowEditorParameterType,
|
||||||
WorkflowEditorParameterTypes,
|
WorkflowEditorParameterTypes,
|
||||||
} from "../../types/workflowTypes";
|
} from "../../types/workflowTypes";
|
||||||
|
import { getLabelForWorkflowParameterType } from "../workflowEditorUtils";
|
||||||
|
|
||||||
const WORKFLOW_EDIT_PANEL_WIDTH = 20 * 16;
|
const WORKFLOW_EDIT_PANEL_WIDTH = 20 * 16;
|
||||||
const WORKFLOW_EDIT_PANEL_GAP = 1 * 16;
|
const WORKFLOW_EDIT_PANEL_GAP = 1 * 16;
|
||||||
@@ -134,7 +135,7 @@ function WorkflowParametersPanel() {
|
|||||||
<span className="text-sm">{parameter.key}</span>
|
<span className="text-sm">{parameter.key}</span>
|
||||||
{parameter.parameterType === "workflow" ? (
|
{parameter.parameterType === "workflow" ? (
|
||||||
<span className="text-sm text-slate-400">
|
<span className="text-sm text-slate-400">
|
||||||
{parameter.dataType}
|
{getLabelForWorkflowParameterType(parameter.dataType)}
|
||||||
</span>
|
</span>
|
||||||
) : (
|
) : (
|
||||||
<span className="text-sm text-slate-400">
|
<span className="text-sm text-slate-400">
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ import { nanoid } from "nanoid";
|
|||||||
import {
|
import {
|
||||||
WorkflowBlockTypes,
|
WorkflowBlockTypes,
|
||||||
WorkflowParameterTypes,
|
WorkflowParameterTypes,
|
||||||
|
WorkflowParameterValueType,
|
||||||
type AWSSecretParameter,
|
type AWSSecretParameter,
|
||||||
type OutputParameter,
|
type OutputParameter,
|
||||||
type Parameter,
|
type Parameter,
|
||||||
type WorkflowApiResponse,
|
type WorkflowApiResponse,
|
||||||
type WorkflowBlock,
|
type WorkflowBlock,
|
||||||
type WorkflowParameterValueType,
|
|
||||||
type WorkflowSettings,
|
type WorkflowSettings,
|
||||||
} from "../types/workflowTypes";
|
} from "../types/workflowTypes";
|
||||||
import {
|
import {
|
||||||
@@ -1960,6 +1960,31 @@ function getWorkflowErrors(nodes: Array<AppNode>): Array<string> {
|
|||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getLabelForWorkflowParameterType(type: WorkflowParameterValueType) {
|
||||||
|
if (type === WorkflowParameterValueType.String) {
|
||||||
|
return "string";
|
||||||
|
}
|
||||||
|
if (type === WorkflowParameterValueType.Float) {
|
||||||
|
return "float";
|
||||||
|
}
|
||||||
|
if (type === WorkflowParameterValueType.Integer) {
|
||||||
|
return "integer";
|
||||||
|
}
|
||||||
|
if (type === WorkflowParameterValueType.Boolean) {
|
||||||
|
return "boolean";
|
||||||
|
}
|
||||||
|
if (type === WorkflowParameterValueType.FileURL) {
|
||||||
|
return "file_url";
|
||||||
|
}
|
||||||
|
if (type === WorkflowParameterValueType.JSON) {
|
||||||
|
return "json";
|
||||||
|
}
|
||||||
|
if (type === WorkflowParameterValueType.CredentialId) {
|
||||||
|
return "credential";
|
||||||
|
}
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
convert,
|
convert,
|
||||||
convertEchoParameters,
|
convertEchoParameters,
|
||||||
@@ -1971,6 +1996,7 @@ export {
|
|||||||
getBlockNameOfOutputParameterKey,
|
getBlockNameOfOutputParameterKey,
|
||||||
getDefaultValueForParameterType,
|
getDefaultValueForParameterType,
|
||||||
getElements,
|
getElements,
|
||||||
|
getLabelForWorkflowParameterType,
|
||||||
getWorkflowSettings,
|
getWorkflowSettings,
|
||||||
getOutputParameterKey,
|
getOutputParameterKey,
|
||||||
getPreviousNodeIds,
|
getPreviousNodeIds,
|
||||||
|
|||||||
Reference in New Issue
Block a user