@segment/action-destinations 3.71.1-alpha.0 → 3.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/destinations/salesforce/account/generated-types.d.ts +4 -0
  2. package/dist/destinations/salesforce/account/index.js +10 -4
  3. package/dist/destinations/salesforce/account/index.js.map +1 -1
  4. package/dist/destinations/salesforce/cases/generated-types.d.ts +4 -0
  5. package/dist/destinations/salesforce/cases/index.js +11 -4
  6. package/dist/destinations/salesforce/cases/index.js.map +1 -1
  7. package/dist/destinations/salesforce/contact/generated-types.d.ts +4 -0
  8. package/dist/destinations/salesforce/contact/index.js +14 -6
  9. package/dist/destinations/salesforce/contact/index.js.map +1 -1
  10. package/dist/destinations/salesforce/customObject/generated-types.d.ts +4 -0
  11. package/dist/destinations/salesforce/customObject/index.d.ts +1 -1
  12. package/dist/destinations/salesforce/customObject/index.js +6 -0
  13. package/dist/destinations/salesforce/customObject/index.js.map +1 -1
  14. package/dist/destinations/salesforce/lead/generated-types.d.ts +4 -0
  15. package/dist/destinations/salesforce/lead/index.js +10 -4
  16. package/dist/destinations/salesforce/lead/index.js.map +1 -1
  17. package/dist/destinations/salesforce/opportunity/generated-types.d.ts +4 -0
  18. package/dist/destinations/salesforce/opportunity/index.js +10 -4
  19. package/dist/destinations/salesforce/opportunity/index.js.map +1 -1
  20. package/dist/destinations/salesforce/sf-object-to-shape.d.ts +0 -1
  21. package/dist/destinations/salesforce/sf-object-to-shape.js +1 -9
  22. package/dist/destinations/salesforce/sf-object-to-shape.js.map +1 -1
  23. package/dist/destinations/salesforce/sf-operations.d.ts +0 -3
  24. package/dist/destinations/salesforce/sf-operations.js +8 -42
  25. package/dist/destinations/salesforce/sf-operations.js.map +1 -1
  26. package/dist/destinations/salesforce/sf-properties.d.ts +2 -0
  27. package/dist/destinations/salesforce/sf-properties.js +25 -1
  28. package/dist/destinations/salesforce/sf-properties.js.map +1 -1
  29. package/dist/destinations/salesforce/sf-utils.d.ts +2 -0
  30. package/dist/destinations/salesforce/sf-utils.js +90 -0
  31. package/dist/destinations/salesforce/sf-utils.js.map +1 -0
  32. package/package.json +4 -4
@@ -3,6 +3,10 @@ export interface Payload {
3
3
  traits?: {
4
4
  [k: string]: unknown;
5
5
  };
6
+ bulkUpsertExternalId?: {
7
+ externalIdName?: string;
8
+ externalIdValue?: string;
9
+ };
6
10
  name?: string;
7
11
  account_number?: string;
8
12
  number_of_employees?: number;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
7
  const sf_operations_1 = __importDefault(require("../sf-operations"));
8
8
  const sf_properties_1 = require("../sf-properties");
9
+ const OBJECT_NAME = 'Account';
9
10
  const action = {
10
11
  title: 'Account',
11
12
  description: 'Represents an individual account, which is an organization or person involved with your business.',
@@ -13,6 +14,7 @@ const action = {
13
14
  fields: {
14
15
  operation: sf_properties_1.operation,
15
16
  traits: sf_properties_1.traits,
17
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
16
18
  name: {
17
19
  label: 'Name',
18
20
  description: 'Name of the account. **This is required to create an account.**',
@@ -170,17 +172,17 @@ const action = {
170
172
  if (!payload.name) {
171
173
  throw new actions_core_1.IntegrationError('Missing name value', 'Misconfigured required field', 400);
172
174
  }
173
- return await sf.createRecord(payload, 'Account');
175
+ return await sf.createRecord(payload, OBJECT_NAME);
174
176
  }
175
177
  sf_properties_1.validateLookup(payload);
176
178
  if (payload.operation === 'update') {
177
- return await sf.updateRecord(payload, 'Account');
179
+ return await sf.updateRecord(payload, OBJECT_NAME);
178
180
  }
179
181
  if (payload.operation === 'upsert') {
180
182
  if (!payload.name) {
181
183
  throw new actions_core_1.IntegrationError('Missing name value', 'Misconfigured required field', 400);
182
184
  }
183
- return await sf.upsertRecord(payload, 'Account');
185
+ return await sf.upsertRecord(payload, OBJECT_NAME);
184
186
  }
185
187
  },
186
188
  performBatch: async (request, { settings, payload }) => {
@@ -189,7 +191,11 @@ const action = {
189
191
  if (!payload[0].name) {
190
192
  throw new actions_core_1.IntegrationError('Missing name value', 'Misconfigured required field', 400);
191
193
  }
192
- return await sf.bulkUpsert(payload, 'Account');
194
+ return await sf.bulkUpsert(payload, OBJECT_NAME);
195
+ }
196
+ else {
197
+ const errorMsg = 'Bulk Upsert action must be used with batching';
198
+ throw new actions_core_1.IntegrationError(errorMsg, errorMsg, 400);
193
199
  }
194
200
  }
195
201
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/account/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/account/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export interface Payload {
3
3
  traits?: {
4
4
  [k: string]: unknown;
5
5
  };
6
+ bulkUpsertExternalId?: {
7
+ externalIdName?: string;
8
+ externalIdValue?: string;
9
+ };
6
10
  description?: string;
7
11
  customFields?: {
8
12
  [k: string]: unknown;
@@ -5,12 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const sf_properties_1 = require("../sf-properties");
7
7
  const sf_operations_1 = __importDefault(require("../sf-operations"));
8
+ const actions_core_1 = require("@segment/actions-core");
9
+ const OBJECT_NAME = 'Case';
8
10
  const action = {
9
11
  title: 'Case',
10
12
  description: 'Represents a case, which is a customer issue or problem.',
11
13
  fields: {
12
14
  operation: sf_properties_1.operation,
13
15
  traits: sf_properties_1.traits,
16
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
14
17
  description: {
15
18
  label: 'Description',
16
19
  description: 'A text description of the case.',
@@ -21,20 +24,24 @@ const action = {
21
24
  perform: async (request, { settings, payload }) => {
22
25
  const sf = new sf_operations_1.default(settings.instanceUrl, request);
23
26
  if (payload.operation === 'create') {
24
- return await sf.createRecord(payload, 'Case');
27
+ return await sf.createRecord(payload, OBJECT_NAME);
25
28
  }
26
29
  sf_properties_1.validateLookup(payload);
27
30
  if (payload.operation === 'update') {
28
- return await sf.updateRecord(payload, 'Case');
31
+ return await sf.updateRecord(payload, OBJECT_NAME);
29
32
  }
30
33
  if (payload.operation === 'upsert') {
31
- return await sf.upsertRecord(payload, 'Case');
34
+ return await sf.upsertRecord(payload, OBJECT_NAME);
32
35
  }
33
36
  },
34
37
  performBatch: async (request, { settings, payload }) => {
35
38
  const sf = new sf_operations_1.default(settings.instanceUrl, request);
36
39
  if (payload[0].operation === 'bulkUpsert') {
37
- return await sf.bulkUpsert(payload, 'Case');
40
+ return await sf.bulkUpsert(payload, OBJECT_NAME);
41
+ }
42
+ else {
43
+ const errorMsg = 'Bulk Upsert action must be used with batching';
44
+ throw new actions_core_1.IntegrationError(errorMsg, errorMsg, 400);
38
45
  }
39
46
  }
40
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/cases/index.ts"],"names":[],"mappings":";;;;;AAGA,oDAAkF;AAClF,qEAAyC;AAEzC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,0DAA0D;IACvE,MAAM,EAAE;QACN,SAAS,EAAE,yBAAS;QACpB,MAAM,EAAE,sBAAM;QACd,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,QAAQ;SACf;QACD,YAAY,EAAE,4BAAY;KAC3B;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;SAC9C;QAED,8BAAc,CAAC,OAAO,CAAC,CAAA;QAEvB,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;SAC9C;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;SAC9C;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,EAAE;YACzC,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;SAC5C;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/cases/index.ts"],"names":[],"mappings":";;;;;AAGA,oDAAwG;AACxG,qEAAyC;AACzC,wDAAwD;AAExD,MAAM,WAAW,GAAG,MAAM,CAAA;AAE1B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,0DAA0D;IACvE,MAAM,EAAE;QACN,SAAS,EAAE,yBAAS;QACpB,MAAM,EAAE,sBAAM;QACd,oBAAoB,EAAE,oCAAoB;QAC1C,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,QAAQ;SACf;QACD,YAAY,EAAE,4BAAY;KAC3B;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SACnD;QAED,8BAAc,CAAC,OAAO,CAAC,CAAA;QAEvB,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SACnD;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SACnD;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,EAAE;YACzC,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SACjD;aAAM;YACL,MAAM,QAAQ,GAAG,+CAA+C,CAAA;YAChE,MAAM,IAAI,+BAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;SACpD;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -3,6 +3,10 @@ export interface Payload {
3
3
  traits?: {
4
4
  [k: string]: unknown;
5
5
  };
6
+ bulkUpsertExternalId?: {
7
+ externalIdName?: string;
8
+ externalIdValue?: string;
9
+ };
6
10
  last_name?: string;
7
11
  first_name?: string;
8
12
  account_id?: string;
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
7
  const sf_properties_1 = require("../sf-properties");
8
8
  const sf_operations_1 = __importDefault(require("../sf-operations"));
9
+ const OBJECT_NAME = 'Contact';
9
10
  const action = {
10
11
  title: 'Contact',
11
12
  description: 'Represents a contact, which is a person associated with an account.',
12
13
  fields: {
13
14
  operation: sf_properties_1.operation,
14
15
  traits: sf_properties_1.traits,
16
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
15
17
  last_name: {
16
18
  label: 'Last Name',
17
19
  description: "The contact's last name up to 80 characters. **This is required to create a contact.**",
@@ -121,25 +123,31 @@ const action = {
121
123
  if (!payload.last_name) {
122
124
  throw new actions_core_1.IntegrationError('Missing last_name value', 'Misconfigured required field', 400);
123
125
  }
124
- return await sf.createRecord(payload, 'Contact');
126
+ return await sf.createRecord(payload, OBJECT_NAME);
125
127
  }
126
128
  sf_properties_1.validateLookup(payload);
127
129
  if (payload.operation === 'update') {
128
- return await sf.updateRecord(payload, 'Contact');
130
+ return await sf.updateRecord(payload, OBJECT_NAME);
129
131
  }
130
132
  if (payload.operation === 'upsert') {
131
133
  if (!payload.last_name) {
132
134
  throw new actions_core_1.IntegrationError('Missing last_name value', 'Misconfigured required field', 400);
133
135
  }
134
- return await sf.upsertRecord(payload, 'Contact');
136
+ return await sf.upsertRecord(payload, OBJECT_NAME);
135
137
  }
136
138
  },
137
139
  performBatch: async (request, { settings, payload }) => {
138
140
  const sf = new sf_operations_1.default(settings.instanceUrl, request);
139
- if (!payload[0].last_name) {
140
- throw new actions_core_1.IntegrationError('Missing last_name value', 'Misconfigured required field', 400);
141
+ if (payload[0].operation === 'bulkUpsert') {
142
+ if (!payload[0].last_name) {
143
+ throw new actions_core_1.IntegrationError('Missing last_name value', 'Misconfigured required field', 400);
144
+ }
145
+ return await sf.bulkUpsert(payload, OBJECT_NAME);
146
+ }
147
+ else {
148
+ const errorMsg = 'Bulk Upsert action must be used with batching';
149
+ throw new actions_core_1.IntegrationError(errorMsg, errorMsg, 400);
141
150
  }
142
- return await sf.bulkUpsert(payload, 'Contact');
143
151
  }
144
152
  };
145
153
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/contact/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/contact/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export interface Payload {
3
3
  traits?: {
4
4
  [k: string]: unknown;
5
5
  };
6
+ bulkUpsertExternalId?: {
7
+ externalIdName?: string;
8
+ externalIdValue?: string;
9
+ };
6
10
  customObjectName: string;
7
11
  customFields: {
8
12
  [k: string]: unknown;
@@ -1,4 +1,4 @@
1
- import type { ActionDefinition } from '@segment/actions-core';
1
+ import { ActionDefinition } from '@segment/actions-core';
2
2
  import type { Settings } from '../generated-types';
3
3
  import type { Payload } from './generated-types';
4
4
  declare const action: ActionDefinition<Settings, Payload>;
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const actions_core_1 = require("@segment/actions-core");
6
7
  const sf_properties_1 = require("../sf-properties");
7
8
  const sf_operations_1 = __importDefault(require("../sf-operations"));
8
9
  const action = {
@@ -11,6 +12,7 @@ const action = {
11
12
  fields: {
12
13
  operation: sf_properties_1.operation,
13
14
  traits: sf_properties_1.traits,
15
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
14
16
  customObjectName: {
15
17
  label: 'Salesforce Object',
16
18
  description: 'The API name of the Salesforce object that records will be added or updated within. This can be a standard or custom object. Custom objects must be predefined in your Salesforce account and should end with "__c".',
@@ -37,6 +39,10 @@ const action = {
37
39
  if (payload[0].operation === 'bulkUpsert') {
38
40
  return await sf.bulkUpsert(payload, payload[0].customObjectName);
39
41
  }
42
+ else {
43
+ const errorMsg = 'Bulk Upsert action must be used with batching';
44
+ throw new actions_core_1.IntegrationError(errorMsg, errorMsg, 400);
45
+ }
40
46
  }
41
47
  };
42
48
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/customObject/index.ts"],"names":[],"mappings":";;;;;AAGA,oDAAkF;AAClF,qEAAyC;AAEzC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,sIAAsI;IACxI,MAAM,EAAE;QACN,SAAS,EAAE,yBAAS;QACpB,MAAM,EAAE,sBAAM;QACd,gBAAgB,EAAE;YAChB,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,sNAAsN;YACxN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE,EAAE,GAAG,4BAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAClD;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAChE;QAED,8BAAc,CAAC,OAAO,CAAC,CAAA;QAEvB,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAChE;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAChE;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,EAAE;YACzC,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;SACjE;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/customObject/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA0E;AAG1E,oDAAwG;AACxG,qEAAyC;AAEzC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,sIAAsI;IACxI,MAAM,EAAE;QACN,SAAS,EAAE,yBAAS;QACpB,MAAM,EAAE,sBAAM;QACd,oBAAoB,EAAE,oCAAoB;QAC1C,gBAAgB,EAAE;YAChB,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,sNAAsN;YACxN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE,EAAE,GAAG,4BAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAClD;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAChE;QAED,8BAAc,CAAC,OAAO,CAAC,CAAA;QAEvB,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAChE;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAChE;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,EAAE;YACzC,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;SACjE;aAAM;YACL,MAAM,QAAQ,GAAG,+CAA+C,CAAA;YAChE,MAAM,IAAI,+BAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;SACpD;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -3,6 +3,10 @@ export interface Payload {
3
3
  traits?: {
4
4
  [k: string]: unknown;
5
5
  };
6
+ bulkUpsertExternalId?: {
7
+ externalIdName?: string;
8
+ externalIdValue?: string;
9
+ };
6
10
  company?: string;
7
11
  last_name?: string;
8
12
  first_name?: string;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
7
  const sf_properties_1 = require("../sf-properties");
8
8
  const sf_operations_1 = __importDefault(require("../sf-operations"));
9
+ const OBJECT_NAME = 'Lead';
9
10
  const action = {
10
11
  title: 'Lead',
11
12
  description: 'Represents a prospect or lead.',
@@ -13,6 +14,7 @@ const action = {
13
14
  fields: {
14
15
  operation: sf_properties_1.operation,
15
16
  traits: sf_properties_1.traits,
17
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
16
18
  company: {
17
19
  label: 'Company',
18
20
  description: "The lead's company. **This is required to create a lead.**",
@@ -129,17 +131,17 @@ const action = {
129
131
  if (!payload.company || !payload.last_name) {
130
132
  throw new actions_core_1.IntegrationError('Missing company or last_name value', 'Misconfigured required field', 400);
131
133
  }
132
- return await sf.createRecord(payload, 'Lead');
134
+ return await sf.createRecord(payload, OBJECT_NAME);
133
135
  }
134
136
  sf_properties_1.validateLookup(payload);
135
137
  if (payload.operation === 'update') {
136
- return await sf.updateRecord(payload, 'Lead');
138
+ return await sf.updateRecord(payload, OBJECT_NAME);
137
139
  }
138
140
  if (payload.operation === 'upsert') {
139
141
  if (!payload.company || !payload.last_name) {
140
142
  throw new actions_core_1.IntegrationError('Missing company or last_name value', 'Misconfigured required field', 400);
141
143
  }
142
- return await sf.upsertRecord(payload, 'Lead');
144
+ return await sf.upsertRecord(payload, OBJECT_NAME);
143
145
  }
144
146
  },
145
147
  performBatch: async (request, { settings, payload }) => {
@@ -148,7 +150,11 @@ const action = {
148
150
  if (!payload[0].company || !payload[0].last_name) {
149
151
  throw new actions_core_1.IntegrationError('Missing company or last_name value', 'Misconfigured required field', 400);
150
152
  }
151
- return await sf.bulkUpsert(payload, 'Lead');
153
+ return await sf.bulkUpsert(payload, OBJECT_NAME);
154
+ }
155
+ else {
156
+ const errorMsg = 'Bulk Upsert action must be used with batching';
157
+ throw new actions_core_1.IntegrationError(errorMsg, errorMsg, 400);
152
158
  }
153
159
  }
154
160
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/lead/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/lead/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export interface Payload {
3
3
  traits?: {
4
4
  [k: string]: unknown;
5
5
  };
6
+ bulkUpsertExternalId?: {
7
+ externalIdName?: string;
8
+ externalIdValue?: string;
9
+ };
6
10
  close_date?: string;
7
11
  name?: string;
8
12
  stage_name?: string;
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
7
  const sf_operations_1 = __importDefault(require("../sf-operations"));
8
8
  const sf_properties_1 = require("../sf-properties");
9
+ const OBJECT_NAME = 'Opportunity';
9
10
  const action = {
10
11
  title: 'Opportunity',
11
12
  description: 'Represents an opportunity, which is a sale or pending deal.',
12
13
  fields: {
13
14
  operation: sf_properties_1.operation,
14
15
  traits: sf_properties_1.traits,
16
+ bulkUpsertExternalId: sf_properties_1.bulkUpsertExternalId,
15
17
  close_date: {
16
18
  label: 'Close Date',
17
19
  description: 'Date when the opportunity is expected to close. Use yyyy-MM-dd format. **This is required to create an opportunity.**',
@@ -45,17 +47,17 @@ const action = {
45
47
  if (!payload.close_date || !payload.name || !payload.stage_name) {
46
48
  throw new actions_core_1.IntegrationError('Missing close_date, name or stage_name value', 'Misconfigured required field', 400);
47
49
  }
48
- return await sf.createRecord(payload, 'Opportunity');
50
+ return await sf.createRecord(payload, OBJECT_NAME);
49
51
  }
50
52
  sf_properties_1.validateLookup(payload);
51
53
  if (payload.operation === 'update') {
52
- return await sf.updateRecord(payload, 'Opportunity');
54
+ return await sf.updateRecord(payload, OBJECT_NAME);
53
55
  }
54
56
  if (payload.operation === 'upsert') {
55
57
  if (!payload.close_date || !payload.name || !payload.stage_name) {
56
58
  throw new actions_core_1.IntegrationError('Missing close_date, name or stage_name value', 'Misconfigured required field', 400);
57
59
  }
58
- return await sf.upsertRecord(payload, 'Opportunity');
60
+ return await sf.upsertRecord(payload, OBJECT_NAME);
59
61
  }
60
62
  },
61
63
  performBatch: async (request, { settings, payload }) => {
@@ -64,7 +66,11 @@ const action = {
64
66
  if (!payload[0].close_date || !payload[0].name || !payload[0].stage_name) {
65
67
  throw new actions_core_1.IntegrationError('Missing close_date, name or stage_name value', 'Misconfigured required field', 400);
66
68
  }
67
- return await sf.bulkUpsert(payload, 'Opportunity');
69
+ return await sf.bulkUpsert(payload, OBJECT_NAME);
70
+ }
71
+ else {
72
+ const errorMsg = 'Bulk Upsert action must be used with batching';
73
+ throw new actions_core_1.IntegrationError(errorMsg, errorMsg, 400);
68
74
  }
69
75
  }
70
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/opportunity/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA0E;AAE1E,qEAAyC;AACzC,oDAAkF;AAGlF,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,6DAA6D;IAC1E,MAAM,EAAE;QACN,SAAS,EAAE,yBAAS;QACpB,MAAM,EAAE,sBAAM;QACd,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EACT,uHAAuH;YACzH,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,4EAA4E;YACzF,IAAI,EAAE,QAAQ;SACf;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,kFAAkF;YAC/F,IAAI,EAAE,QAAQ;SACf;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,8BAA8B;YAC3C,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;SACf;QACD,YAAY,EAAE,4BAAY;KAC3B;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC/D,MAAM,IAAI,+BAAgB,CAAC,8CAA8C,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAA;aAChH;YACD,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;SACrD;QAED,8BAAc,CAAC,OAAO,CAAC,CAAA;QAEvB,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;SACrD;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC/D,MAAM,IAAI,+BAAgB,CAAC,8CAA8C,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAA;aAChH;YACD,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;SACrD;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,GAAe,IAAI,uBAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBACxE,MAAM,IAAI,+BAAgB,CAAC,8CAA8C,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAA;aAChH;YAED,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;SACnD;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce/opportunity/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  import { GenericPayload, GenericBaseShape } from './sf-types';
2
2
  export declare const mapObjectToShape: (payload: GenericPayload, sobject: string) => GenericBaseShape;
3
- export declare const snakeCaseToCamelCase: (key: string) => string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.snakeCaseToCamelCase = exports.mapObjectToShape = void 0;
3
+ exports.mapObjectToShape = void 0;
4
4
  const LeadShape = (payload) => {
5
5
  return {
6
6
  LastName: payload.last_name,
@@ -76,12 +76,4 @@ const mapObjectToShape = (payload, sobject) => {
76
76
  return shapeFunction(payload);
77
77
  };
78
78
  exports.mapObjectToShape = mapObjectToShape;
79
- const snakeCaseToCamelCase = (key) => {
80
- const tokens = key.split('_');
81
- tokens.forEach((token, i, arr) => {
82
- arr[i] = token.charAt(0).toUpperCase() + token.slice(1);
83
- });
84
- return tokens.join('');
85
- };
86
- exports.snakeCaseToCamelCase = snakeCaseToCamelCase;
87
79
  //# sourceMappingURL=sf-object-to-shape.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sf-object-to-shape.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/sf-object-to-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sf-object-to-shape.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/sf-object-to-shape.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,6 @@ export default class Salesforce {
12
12
  private createBulkJob;
13
13
  private uploadBulkCSV;
14
14
  private closeBulkJob;
15
- private buildCSVData;
16
- private buildRow;
17
- private buildHeader;
18
15
  private baseUpdate;
19
16
  private buildJSONData;
20
17
  private escapeQuotes;
@@ -3,12 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.API_VERSION = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
5
  const sf_object_to_shape_1 = require("./sf-object-to-shape");
6
+ const sf_utils_1 = require("./sf-utils");
6
7
  exports.API_VERSION = 'v53.0';
7
- const isSettingsKey = new Map([
8
- ['operation', true],
9
- ['traits', true],
10
- ['externalIdFieldName', true]
11
- ]);
12
8
  class Salesforce {
13
9
  constructor(instanceUrl, request) {
14
10
  this.createRecord = async (payload, sobject) => {
@@ -45,15 +41,14 @@ class Salesforce {
45
41
  return await this.baseUpdate(recordId, sobject, payload);
46
42
  };
47
43
  this.bulkUpsert = async (payloads, sobject) => {
48
- if (!payloads[0].traits ||
49
- Object.keys(payloads[0].traits).length === 0 ||
50
- !payloads[0].traits['externalIdFieldName'] ||
51
- !payloads[0].traits['externalIdFieldValue']) {
52
- throw new actions_core_1.IntegrationError('Undefined traits.externalIdFieldName or externalIdFieldValue when using bulkUpsert operation', 'Undefined traits.externalIdFieldName externalIdFieldValue', 400);
44
+ if (!payloads[0].bulkUpsertExternalId ||
45
+ !payloads[0].bulkUpsertExternalId.externalIdName ||
46
+ !payloads[0].bulkUpsertExternalId.externalIdValue) {
47
+ throw new actions_core_1.IntegrationError('Undefined bulkUpsertExternalId.externalIdName or externalIdValue when using bulkUpsert operation', 'Undefined bulkUpsertExternalId.externalIdName externalIdValue', 400);
53
48
  }
54
- const externalIdFieldName = payloads[0].traits['externalIdFieldName'];
49
+ const externalIdFieldName = payloads[0].bulkUpsertExternalId.externalIdName;
55
50
  const jobId = await this.createBulkJob(sobject, externalIdFieldName);
56
- const csv = this.buildCSVData(payloads, externalIdFieldName);
51
+ const csv = sf_utils_1.buildCSVData(payloads, externalIdFieldName);
57
52
  await this.uploadBulkCSV(jobId, csv);
58
53
  return await this.closeBulkJob(jobId);
59
54
  };
@@ -84,41 +79,12 @@ class Salesforce {
84
79
  };
85
80
  this.closeBulkJob = async (jobId) => {
86
81
  return this.request(`${this.instanceUrl}services/data/${exports.API_VERSION}/jobs/ingest/${jobId}`, {
87
- method: 'patch',
82
+ method: 'PATCH',
88
83
  json: {
89
84
  state: 'UploadComplete'
90
85
  }
91
86
  });
92
87
  };
93
- this.buildCSVData = (payloads, externalIdFieldName) => {
94
- let headers = this.buildHeader(payloads, externalIdFieldName) + '\n';
95
- payloads.forEach((payload) => {
96
- console.log('payload', payload);
97
- headers += this.buildRow(payload) + '\n';
98
- });
99
- return headers;
100
- };
101
- this.buildRow = (payload) => {
102
- let row = '';
103
- Object.entries(payload).forEach(([key, value]) => {
104
- if (!isSettingsKey.get(key)) {
105
- row += `"${value}",`;
106
- }
107
- });
108
- row += `"${payload?.traits?.externalIdFieldValue}"`;
109
- return row;
110
- };
111
- this.buildHeader = (payloads, externalIdFieldName) => {
112
- let header = '';
113
- Object.keys(payloads[0]).forEach((key) => {
114
- console.log('CSV: ', key);
115
- if (!isSettingsKey.get(key)) {
116
- header += `"${sf_object_to_shape_1.snakeCaseToCamelCase(key)}",`;
117
- }
118
- });
119
- header += `"${externalIdFieldName}"`;
120
- return header;
121
- };
122
88
  this.baseUpdate = async (recordId, sobject, payload) => {
123
89
  const json = this.buildJSONData(payload, sobject);
124
90
  return this.request(`${this.instanceUrl}services/data/${exports.API_VERSION}/sobjects/${sobject}/${recordId}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"sf-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/sf-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sf-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/sf-operations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { InputField } from '@segment/actions-core/src/destination-kit/types';
2
2
  export declare const operation: InputField;
3
+ export declare const bulkUpsertExternalId: InputField;
4
+ export declare const bulkUpdateRecordId: InputField;
3
5
  export declare const traits: InputField;
4
6
  export declare const customFields: InputField;
5
7
  interface Payload {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateLookup = exports.customFields = exports.traits = exports.operation = void 0;
3
+ exports.validateLookup = exports.customFields = exports.traits = exports.bulkUpdateRecordId = exports.bulkUpsertExternalId = exports.operation = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
5
  exports.operation = {
6
6
  label: 'Operation',
@@ -14,6 +14,30 @@ exports.operation = {
14
14
  { label: 'Bulk Upsert', value: 'bulkUpsert' }
15
15
  ]
16
16
  };
17
+ exports.bulkUpsertExternalId = {
18
+ label: 'Bulk Upsert External Id',
19
+ description: 'The external id field name and mapping to use for bulk upsert.',
20
+ type: 'object',
21
+ defaultObjectUI: 'keyvalue:only',
22
+ additionalProperties: false,
23
+ properties: {
24
+ externalIdName: {
25
+ label: 'External Id Name',
26
+ description: 'The external id field name as defined in Salesforce.',
27
+ type: 'string'
28
+ },
29
+ externalIdValue: {
30
+ label: 'External Id Value',
31
+ description: 'The external id field value to use for bulk upsert.',
32
+ type: 'string'
33
+ }
34
+ }
35
+ };
36
+ exports.bulkUpdateRecordId = {
37
+ label: 'Bulk Update Record Id',
38
+ description: 'The record id value to use for bulk update.',
39
+ type: 'string'
40
+ };
17
41
  exports.traits = {
18
42
  label: 'Record Matchers',
19
43
  description: `The fields used to find Salesforce records for updates. **This is required if the operation is Update or Upsert.**
@@ -1 +1 @@
1
- {"version":3,"file":"sf-properties.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/sf-properties.ts"],"names":[],"mappings":";;;AACA,wDAAwD;AAE3C,QAAA,SAAS,GAAe;IACnC,KAAK,EAAE,WAAW;IAClB,WAAW,EACT,kHAAkH;IACpH,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;KAC9C;CACF,CAAA;AAEY,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE;;;;;;;;GAQZ;IACD,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;CACjC,CAAA;AAEY,QAAA,YAAY,GAAe;IACtC,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE;;;;;;;GAOZ;IACD,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,UAAU;CAC5B,CAAA;AAOM,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE;IACjD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;QACpE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,IAAI,+BAAgB,CACxB,wDAAwD,EACxD,8BAA8B,EAC9B,GAAG,CACJ,CAAA;SACF;KACF;AACH,CAAC,CAAA;AAVY,QAAA,cAAc,kBAU1B"}
1
+ {"version":3,"file":"sf-properties.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/sf-properties.ts"],"names":[],"mappings":";;;AACA,wDAAwD;AAE3C,QAAA,SAAS,GAAe;IACnC,KAAK,EAAE,WAAW;IAClB,WAAW,EACT,kHAAkH;IACpH,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;KAC9C;CACF,CAAA;AAEY,QAAA,oBAAoB,GAAe;IAC9C,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,gEAAgE;IAC7E,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;IAChC,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,cAAc,EAAE;YACd,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,QAAQ;SACf;QACD,eAAe,EAAE;YACf,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAA;AAEY,QAAA,kBAAkB,GAAe;IAC5C,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,6CAA6C;IAC1D,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE;;;;;;;;GAQZ;IACD,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;CACjC,CAAA;AAEY,QAAA,YAAY,GAAe;IACtC,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE;;;;;;;GAOZ;IACD,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,UAAU;CAC5B,CAAA;AAOM,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE;IACjD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;QACpE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,IAAI,+BAAgB,CACxB,wDAAwD,EACxD,8BAA8B,EAC9B,GAAG,CACJ,CAAA;SACF;KACF;AACH,CAAC,CAAA;AAVY,QAAA,cAAc,kBAU1B"}
@@ -0,0 +1,2 @@
1
+ import { GenericPayload } from './sf-types';
2
+ export declare const buildCSVData: (payloads: GenericPayload[], externalIdFieldName: string) => string;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildCSVData = void 0;
7
+ const actions_core_1 = require("@segment/actions-core");
8
+ const camelCase_1 = __importDefault(require("lodash/camelCase"));
9
+ const isSettingsKey = new Set(['operation', 'traits', 'customFields', 'bulkUpsertExternalId']);
10
+ const NO_VALUE = `#N/A`;
11
+ const validateHeaderField = (field) => {
12
+ if (field.includes(',')) {
13
+ throw new actions_core_1.IntegrationError(`Invalid character in field name: ${field}`, `Invalid character in field name: ${field}`, 400);
14
+ }
15
+ };
16
+ const buildHeaderMap = (payloads) => {
17
+ const headerMap = new Map();
18
+ for (let i = payloads.length - 1; i >= 0; i--) {
19
+ const payload = payloads[i];
20
+ Object.entries(payload).forEach(([key, value]) => {
21
+ if (!isSettingsKey.has(key)) {
22
+ const pascalKey = snakeCaseToPascalCase(key);
23
+ const actualValue = value;
24
+ if (headerMap.has(pascalKey)) {
25
+ headerMap.get(pascalKey)?.push([actualValue, i]);
26
+ }
27
+ else {
28
+ headerMap.set(pascalKey, [[actualValue, i]]);
29
+ }
30
+ }
31
+ if (key === 'customFields') {
32
+ const customFields = value;
33
+ Object.entries(customFields).forEach(([customFieldName, customFieldValue]) => {
34
+ validateHeaderField(customFieldName);
35
+ if (!headerMap.has(customFieldName)) {
36
+ headerMap.set(customFieldName, [[customFieldValue, i]]);
37
+ }
38
+ else {
39
+ headerMap.get(customFieldName)?.push([customFieldValue, i]);
40
+ }
41
+ });
42
+ }
43
+ });
44
+ }
45
+ return headerMap;
46
+ };
47
+ const buildHeaders = (headerMap) => {
48
+ let headers = '';
49
+ for (const [key, _] of headerMap.entries()) {
50
+ headers += `${key},`;
51
+ }
52
+ return headers;
53
+ };
54
+ const buildCSVFromHeaderMap = (payloads, headerMap, n) => {
55
+ let rows = '';
56
+ for (let i = 0; i < n; i++) {
57
+ let row = '';
58
+ for (const [key, _] of headerMap.entries()) {
59
+ let noValueFound = true;
60
+ if (headerMap.has(key)) {
61
+ const column = headerMap.get(key);
62
+ if (column !== undefined && column.length > 0 && column[column.length - 1][1] === i) {
63
+ const value = column.pop();
64
+ if (value !== undefined) {
65
+ row += `"${value[0]}",`;
66
+ noValueFound = false;
67
+ }
68
+ }
69
+ }
70
+ if (noValueFound) {
71
+ row += `${NO_VALUE},`;
72
+ }
73
+ }
74
+ const externalIdFieldValue = payloads[i].bulkUpsertExternalId?.externalIdValue;
75
+ rows += `${row}"${externalIdFieldValue}"\n`;
76
+ }
77
+ return rows;
78
+ };
79
+ const buildCSVData = (payloads, externalIdFieldName) => {
80
+ const headerMap = buildHeaderMap(payloads);
81
+ let csv = buildHeaders(headerMap);
82
+ csv += `${externalIdFieldName}\n` + buildCSVFromHeaderMap(payloads, headerMap, payloads.length);
83
+ return csv;
84
+ };
85
+ exports.buildCSVData = buildCSVData;
86
+ const snakeCaseToPascalCase = (key) => {
87
+ const token = camelCase_1.default(key);
88
+ return token.charAt(0).toUpperCase() + token.slice(1);
89
+ };
90
+ //# sourceMappingURL=sf-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-utils.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/sf-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@segment/action-destinations",
3
3
  "description": "Destination Actions engine and definitions.",
4
- "version": "3.71.1-alpha.0",
4
+ "version": "3.72.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -37,8 +37,8 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@amplitude/ua-parser-js": "^0.7.25",
40
- "@segment/actions-core": "^3.23.2-alpha.0",
41
- "@segment/actions-shared": "^1.6.1-alpha.0",
40
+ "@segment/actions-core": "^3.24.0",
41
+ "@segment/actions-shared": "^1.7.0",
42
42
  "cheerio": "^1.0.0-rc.10",
43
43
  "dayjs": "^1.10.7",
44
44
  "escape-goat": "^3",
@@ -61,5 +61,5 @@
61
61
  "<rootDir>/test/setup-after-env.ts"
62
62
  ]
63
63
  },
64
- "gitHead": "bd7d607a6d75af67e679236db628ef3a796414cb"
64
+ "gitHead": "87215e422813e5fbc86dc147a7236bcd3eddf084"
65
65
  }