From 927ceb67684ba04e3a558c6dbd0fe9c7ae8eb869 Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Sat, 5 Nov 2022 02:41:12 +0100 Subject: [PATCH] feat(salesforce): add list fields data --- .../backend/src/apps/salesforce/data/index.ts | 2 ++ .../apps/salesforce/data/list-fields/index.ts | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 packages/backend/src/apps/salesforce/data/list-fields/index.ts diff --git a/packages/backend/src/apps/salesforce/data/index.ts b/packages/backend/src/apps/salesforce/data/index.ts index 7e2630e4..018c88f6 100644 --- a/packages/backend/src/apps/salesforce/data/index.ts +++ b/packages/backend/src/apps/salesforce/data/index.ts @@ -1,5 +1,7 @@ import listObjects from './list-objects'; +import listFields from './list-fields'; export default [ listObjects, + listFields, ]; diff --git a/packages/backend/src/apps/salesforce/data/list-fields/index.ts b/packages/backend/src/apps/salesforce/data/list-fields/index.ts new file mode 100644 index 00000000..78238500 --- /dev/null +++ b/packages/backend/src/apps/salesforce/data/list-fields/index.ts @@ -0,0 +1,29 @@ +import { IGlobalVariable } from '@automatisch/types'; + +type TResponse = { + fields: TField[]; +} + +type TField = { + name: string; + label: string; +} + +export default { + name: 'List fields', + key: 'listFields', + + async run($: IGlobalVariable) { + const { object } = $.step.parameters; + const response = await $.http.get(`/services/data/v56.0/sobjects/${object}/describe`); + + const fields = response.data.fields.map((field) => { + return { + value: field.name, + name: field.label, + }; + }); + + return { data: fields }; + }, +};