feat: Add dynamic fields structure to step arguments

This commit is contained in:
Faruk AYDIN
2023-02-08 23:27:12 +01:00
committed by Ali BARIN
parent 29a319a850
commit d16e292231
9 changed files with 144 additions and 19 deletions

View File

@@ -51,25 +51,20 @@ export default defineAction({
value: false,
},
],
},
{
label: 'Bot name',
key: 'botName',
type: 'string' as const,
required: true,
value: 'Automatisch',
description:
'Specify the bot name which appears as a bold username above the message inside Slack. Defaults to Automatisch.',
variables: true,
},
{
label: 'Bot icon',
key: 'botIcon',
type: 'string' as const,
required: false,
description:
'Either an image url or an emoji available to your team (surrounded by :). For example, https://example.com/icon_256.png or :robot_face:',
variables: true,
source: {
type: 'query',
name: 'getDynamicFields',
arguments: [
{
name: 'key',
value: 'listFieldsAfterSendAsBot',
},
{
name: 'parameters.sendAsBot',
value: '{parameters.sendAsBot}',
},
],
},
},
],

View File

@@ -0,0 +1,3 @@
import listFieldsAfterSendAsBot from './send-as-bot';
export default [listFieldsAfterSendAsBot];

View File

@@ -0,0 +1,44 @@
import { IGlobalVariable, IField, IJSONObject } from '@automatisch/types';
export default {
name: 'List fields after send as bot',
key: 'listFieldsAfterSendAsBot',
async run($: IGlobalVariable) {
const sendAsBot = $.step.parameters.sendAsBot as boolean;
const remainingArguments: {
data: IJSONObject[];
error: IJSONObject | null;
} = {
data: [],
error: null,
};
if (sendAsBot) {
remainingArguments.data = [
{
label: 'Bot name',
key: 'botName',
type: 'string' as const,
required: true,
value: 'Automatisch',
description:
'Specify the bot name which appears as a bold username above the message inside Slack. Defaults to Automatisch.',
variables: true,
},
{
label: 'Bot icon',
key: 'botIcon',
type: 'string' as const,
required: false,
description:
'Either an image url or an emoji available to your team (surrounded by :). For example, https://example.com/icon_256.png or :robot_face:',
variables: true,
},
];
}
return remainingArguments;
},
};

View File

@@ -3,6 +3,7 @@ import addAuthHeader from './common/add-auth-header';
import actions from './actions';
import auth from './auth';
import dynamicData from './dynamic-data';
import dynamicFields from './dynamic-fields';
export default defineApp({
name: 'Slack',
@@ -17,4 +18,5 @@ export default defineApp({
auth,
actions,
dynamicData,
dynamicFields,
});