From 3d9249192c956109fe225a026ea563a58e69f97e Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Sat, 5 Nov 2022 02:40:46 +0100 Subject: [PATCH] feat(salesforce): add list objects data --- .../backend/src/apps/salesforce/data/index.ts | 5 ++++ .../salesforce/data/list-objects/index.ts | 28 +++++++++++++++++++ packages/backend/src/apps/salesforce/index.ts | 2 ++ 3 files changed, 35 insertions(+) create mode 100644 packages/backend/src/apps/salesforce/data/index.ts create mode 100644 packages/backend/src/apps/salesforce/data/list-objects/index.ts diff --git a/packages/backend/src/apps/salesforce/data/index.ts b/packages/backend/src/apps/salesforce/data/index.ts new file mode 100644 index 00000000..7e2630e4 --- /dev/null +++ b/packages/backend/src/apps/salesforce/data/index.ts @@ -0,0 +1,5 @@ +import listObjects from './list-objects'; + +export default [ + listObjects, +]; diff --git a/packages/backend/src/apps/salesforce/data/list-objects/index.ts b/packages/backend/src/apps/salesforce/data/list-objects/index.ts new file mode 100644 index 00000000..143dab0f --- /dev/null +++ b/packages/backend/src/apps/salesforce/data/list-objects/index.ts @@ -0,0 +1,28 @@ +import { IGlobalVariable } from '@automatisch/types'; + +type TResponse = { + sobjects: TObject[]; +} + +type TObject = { + name: string; + label: string; +} + +export default { + name: 'List objects', + key: 'listObjects', + + async run($: IGlobalVariable) { + const response = await $.http.get('/services/data/v56.0/sobjects'); + + const objects = response.data.sobjects.map((object) => { + return { + value: object.name, + name: object.label, + }; + }); + + return { data: objects }; + }, +}; diff --git a/packages/backend/src/apps/salesforce/index.ts b/packages/backend/src/apps/salesforce/index.ts index 2a89e164..2f259c29 100644 --- a/packages/backend/src/apps/salesforce/index.ts +++ b/packages/backend/src/apps/salesforce/index.ts @@ -1,6 +1,7 @@ import defineApp from '../../helpers/define-app'; import addAuthHeader from './common/add-auth-header'; import auth from './auth'; +import data from './data'; export default defineApp({ name: 'Salesforce', @@ -13,4 +14,5 @@ export default defineApp({ primaryColor: '00A1E0', beforeRequest: [addAuthHeader], auth, + data, });