- {Objects.isEmpty(execution.executable.inputs) ? (
+ {Objects.isEmpty(execution.inputs) ? (
Not described
) : (
-
+
)}
@@ -152,14 +164,13 @@ const ExecutionView = () => {
-
+
+
+
+
+
+
- {isExecutableScript(execution.executable.id) && (
-
- )}
diff --git a/ui.frontend/src/pages/ScriptView.tsx b/ui.frontend/src/pages/ScriptView.tsx
index ac2a1ec69..85237ca35 100644
--- a/ui.frontend/src/pages/ScriptView.tsx
+++ b/ui.frontend/src/pages/ScriptView.tsx
@@ -100,8 +100,8 @@ const ScriptView = () => {
code: {
id: script.id,
content: script.content,
- inputs: inputs,
},
+ inputs: inputs,
},
});
const queuedExecution = response.data.data.executions[0]!;
@@ -147,7 +147,7 @@ const ScriptView = () => {
}
>
- View in history
+ View history
)}
diff --git a/ui.frontend/src/utils/api.types.ts b/ui.frontend/src/utils/api.types.ts
index 9e4392c40..8176ce4d5 100644
--- a/ui.frontend/src/utils/api.types.ts
+++ b/ui.frontend/src/utils/api.types.ts
@@ -3,7 +3,6 @@ import { isProduction } from './node.ts';
export type Executable = {
id: string;
content: string;
- inputs: InputValues;
};
export const ScriptRoot = '/conf/acm/settings/script';
@@ -59,6 +58,23 @@ export type Input = {
validator?: string;
};
+export type Outputs = {
+ [key: string]: Output;
+};
+
+export type Output = {
+ name: string;
+ label: string;
+ description?: string;
+ mimeType: string;
+ downloadName: string;
+};
+
+export const OutputNames = {
+ ARCHIVE: 'acm-archive',
+ CONSOLE: 'acm-console',
+} as const;
+
export type MinMaxInput = Input & {
min: number;
max: number;
@@ -207,6 +223,8 @@ export type Execution = {
duration: number;
output: string;
error: string | null;
+ inputs: InputValues;
+ outputs: Outputs;
};
export const UserIdServicePrefix = 'acm-';