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, });