@lingk/sync 1.1.39 → 1.1.41

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.
package/build/loadData.js CHANGED
@@ -46,12 +46,12 @@ module.exports =
46
46
  /***/ 0:
47
47
  /***/ function(module, exports, __webpack_require__) {
48
48
 
49
- module.exports = __webpack_require__(75);
49
+ module.exports = __webpack_require__(58);
50
50
 
51
51
 
52
52
  /***/ },
53
53
 
54
- /***/ 75:
54
+ /***/ 58:
55
55
  /***/ function(module, exports) {
56
56
 
57
57
  'use strict';
@@ -79,240 +79,246 @@ module.exports =
79
79
  return rsc.name === bundle.resourceLabel;
80
80
  });
81
81
  if (bundleResource) {
82
+ (function () {
82
83
 
83
- //get bundle destinationKeys
84
- var destinationKeys = [];
85
- var __destinationKeys = [];
86
- var destinationKeysParents = [];
87
- bundle.destinationKeys.forEach(function (dk, i) {
88
- if (bundle.customExternalKeys) {
89
- var deNestedProp = deNest(dk, bundle.destinationKeysParents && JSON.parse(bundle.destinationKeysParents[i]), bundleResource);
90
- if (deNestedProp.property) {
91
- destinationKeys.push(deNestedProp.property);
92
- __destinationKeys.push(deNestedProp.__property);
93
- destinationKeysParents.push(deNestedProp.parentsArray);
84
+ //get bundle destinationKeys
85
+ var destinationKeys = [];
86
+ var __destinationKeys = [];
87
+ var destinationKeysParents = [];
88
+ bundle.destinationKeys.forEach(function (dk, i) {
89
+ if (bundle.customExternalKeys) {
90
+ var deNestedProp = deNest(dk, bundle.destinationKeysParents && JSON.parse(bundle.destinationKeysParents[i]), bundleResource);
91
+ if (deNestedProp.property) {
92
+ destinationKeys.push(deNestedProp.property);
93
+ __destinationKeys.push(deNestedProp.__property);
94
+ destinationKeysParents.push(deNestedProp.parentsArray);
95
+ }
96
+ } else {
97
+ destinationKeys.push('Lingk External Id');
98
+ __destinationKeys.push('Lingk_External_Id__c');
94
99
  }
95
- } else {
96
- destinationKeys.push('Lingk External Id');
97
- __destinationKeys.push('Lingk_External_Id__c');
98
- }
99
- });
100
-
101
- //get bundle sourceKeys
102
- var sourceKeys = [];
103
- var __sourceKeys = [];
104
- var sourceKeysObjects = [];
105
- var __sourceKeysObjects = [];
106
- var sourceKeysParents = [];
107
- bundle.sourceKeys.forEach(function (sk, i) {
108
- var sourceKeyResourceObj = bundle.resources.find(function (r) {
109
- return r.resourceName === bundle.sourceKeysObjects[i];
110
100
  });
111
- if (sourceKeyResourceObj) {
112
- var sourceKeyResourceProvider = sourceKeyResourceObj.provider.replace('Reader', '').toLowerCase();
113
- var primaryDataSourceMetadata = sourceKeyResourceProvider === DP.toLowerCase() ? DM : sourceKeyResourceProvider === SP.toLowerCase() ? SM : null;
114
101
 
115
- if (primaryDataSourceMetadata) {
116
- var sourceKeyResource = primaryDataSourceMetadata.find(function (r) {
117
- return r.name === sourceKeyResourceObj.resourceLabel && r.type === sourceKeyResourceObj.resourceName;
118
- });
119
- if (sourceKeyResource) {
102
+ //get bundle sourceKeys
103
+ var sourceKeys = [];
104
+ var __sourceKeys = [];
105
+ var sourceKeysObjects = [];
106
+ var __sourceKeysObjects = [];
107
+ var sourceKeysParents = [];
108
+ bundle.sourceKeys.forEach(function (sk, i) {
109
+ var sourceKeyResourceObj = bundle.resources.find(function (r) {
110
+ return r.resourceName === bundle.sourceKeysObjects[i];
111
+ });
112
+ if (sourceKeyResourceObj) {
113
+ var sourceKeyResourceProvider = sourceKeyResourceObj.provider.replace('Reader', '').toLowerCase();
114
+ var primaryDataSourceMetadata = sourceKeyResourceProvider === DP.toLowerCase() ? DM : sourceKeyResourceProvider === SP.toLowerCase() ? SM : null;
115
+
116
+ if (primaryDataSourceMetadata) {
117
+ var sourceKeyResource = primaryDataSourceMetadata.find(function (r) {
118
+ return r.name === sourceKeyResourceObj.resourceLabel && r.type === sourceKeyResourceObj.resourceName;
119
+ });
120
+ if (sourceKeyResource) {
120
121
 
121
- var deNestedProp = deNest(sk, bundle.sourceKeysParents && JSON.parse(bundle.sourceKeysParents[i]), sourceKeyResource);
122
- if (deNestedProp.property) {
123
- sourceKeys.push(deNestedProp.property);
124
- __sourceKeys.push(deNestedProp.__property);
125
- sourceKeysObjects.push(sourceKeyResource.name);
126
- __sourceKeysObjects.push(sourceKeyResource.type);
127
- sourceKeysParents.push(deNestedProp.parentsArray);
122
+ var deNestedProp = deNest(sk, bundle.sourceKeysParents && JSON.parse(bundle.sourceKeysParents[i]), sourceKeyResource);
123
+ if (deNestedProp.property) {
124
+ sourceKeys.push(deNestedProp.property);
125
+ __sourceKeys.push(deNestedProp.__property);
126
+ sourceKeysObjects.push(sourceKeyResource.name);
127
+ __sourceKeysObjects.push(sourceKeyResource.type);
128
+ sourceKeysParents.push(deNestedProp.parentsArray);
129
+ }
128
130
  }
129
131
  }
130
132
  }
131
- }
132
- });
133
+ });
133
134
 
134
- var resources = [];
135
- bundle.resources && bundle.resources.forEach(function (rsc, rscIndex) {
135
+ var resources = [];
136
+ bundle.resources && bundle.resources.forEach(function (rsc, rscIndex) {
136
137
 
137
- //get resource and joinKey for bundleResource (check both metadatas)
138
- var resourceProvider = rsc.provider.replace('Reader', '').toLowerCase();
139
- var dataSourceMetadata = resourceProvider === DP.toLowerCase() ? DM : resourceProvider === SP.toLowerCase() ? SM : null;
138
+ //get resource and joinKey for bundleResource (check both metadatas)
139
+ var resourceProvider = rsc.provider.replace('Reader', '').toLowerCase();
140
+ var dataSourceMetadata = resourceProvider === DP.toLowerCase() ? DM : resourceProvider === SP.toLowerCase() ? SM : null;
140
141
 
141
- var rscResource = null;
142
- var deNestedJoinKey = {};
143
- var joinKeyResourceName = null;
144
- var __joinKeyResourceName = null;
145
- if (dataSourceMetadata) {
146
- rscResource = dataSourceMetadata.find(function (r) {
147
- return r.name === rsc.resourceLabel;
148
- });
142
+ var rscResource = null;
143
+ var deNestedJoinKey = {};
144
+ var joinKeyResourceName = null;
145
+ var __joinKeyResourceName = null;
146
+ if (dataSourceMetadata) {
147
+ rscResource = dataSourceMetadata.find(function (r) {
148
+ return r.name === rsc.resourceLabel;
149
+ });
149
150
 
150
- if (rsc.joinKeyName) {
151
+ if (rsc.joinKeyName) {
151
152
 
152
- if (rsc.joinKeyIsParameter) {
153
- // joinKeyName coming from parameter from another resource
154
- deNestedJoinKey = { property: rsc.joinKeyName };
155
- joinKeyResourceName = rsc.joinKeyResource;
156
- __joinKeyResourceName = rsc.joinKeyResource;
157
- } else {
158
- // joinKeyName coming from field on this resource
159
- //if(rsc.resourceName===rsc.joinKeyResource){
160
- var joinKeyResource = dataSourceMetadata.find(function (r) {
161
- return r.type === rsc.resourceName && r.name === rsc.resourceLabel;
162
- });
163
- if (joinKeyResource) {
164
- deNestedJoinKey = deNest(rsc.joinKeyName, rsc.joinKeyParents, joinKeyResource);
165
- joinKeyResourceName = joinKeyResource.name;
166
- __joinKeyResourceName = joinKeyResource.type;
153
+ if (rsc.joinKeyIsParameter) {
154
+ // joinKeyName coming from parameter from another resource
155
+ deNestedJoinKey = { property: rsc.joinKeyName };
156
+ joinKeyResourceName = rsc.joinKeyResource;
157
+ __joinKeyResourceName = rsc.joinKeyResource;
158
+ } else {
159
+ // joinKeyName coming from field on this resource
160
+ //if(rsc.resourceName===rsc.joinKeyResource){
161
+ var joinKeyResource = dataSourceMetadata.find(function (r) {
162
+ return r.type === rsc.resourceName && r.name === rsc.resourceLabel;
163
+ });
164
+ if (joinKeyResource) {
165
+ deNestedJoinKey = deNest(rsc.joinKeyName, rsc.joinKeyParents, joinKeyResource);
166
+ joinKeyResourceName = joinKeyResource.name;
167
+ __joinKeyResourceName = joinKeyResource.type;
168
+ }
169
+ //}
167
170
  }
168
- //}
169
171
  }
170
- }
171
- } // end if dataSourceMetadata
172
+ } // end if dataSourceMetadata
172
173
 
173
- //get resource and primaryKey for parent resource for join
174
- var primaryResourceProviderLast_Index = rsc.parentNameAndProvider.lastIndexOf('_');
175
- var primaryResourceProvider = rsc.parentNameAndProvider.substr(primaryResourceProviderLast_Index + 1, rsc.parentNameAndProvider.length);
176
- var primaryDataSourceMetadata = primaryResourceProvider.toLowerCase() === DP.toLowerCase() ? DM : primaryResourceProvider.toLowerCase() === SP.toLowerCase() ? SM : null;
174
+ //get resource and primaryKey for parent resource for join
175
+ var primaryResourceProviderLast_Index = rsc.parentNameAndProvider.lastIndexOf('_');
176
+ var primaryResourceProvider = rsc.parentNameAndProvider.substr(primaryResourceProviderLast_Index + 1, rsc.parentNameAndProvider.length);
177
+ var primaryDataSourceMetadata = primaryResourceProvider.toLowerCase() === DP.toLowerCase() ? DM : primaryResourceProvider.toLowerCase() === SP.toLowerCase() ? SM : null;
177
178
 
178
- var deNestedPrimaryKey = {};
179
- var primaryKeyResourceName = null;
180
- var __primaryKeyResourceName = null;
181
- if (primaryDataSourceMetadata) {
182
- if (rsc.primaryKeyName) {
179
+ var deNestedPrimaryKey = {};
180
+ var primaryKeyResourceName = null;
181
+ var __primaryKeyResourceName = null;
182
+ if (primaryDataSourceMetadata) {
183
+ if (rsc.primaryKeyName) {
183
184
 
184
- if (rsc.primaryKeyIsParameter) {
185
- //primaryKeyName coming from parameter (another resource)
186
- deNestedPrimaryKey = { property: rsc.primaryKeyName };
187
- primaryKeyResourceName = rsc.primaryKeyResource;
188
- __primaryKeyResourceName = rsc.primaryKeyResource;
189
- } else {
190
- // primaryKeyName coming from resource IN THIS BUNDLE
191
- var primaryKeyResourceResource = bundle.resources.find(function (r) {
192
- return rsc.primaryKeyResource === r.resourceName;
193
- });
194
- if (primaryKeyResourceResource) {
195
- //if(primaryResourceName===rsc.primaryKeyResource){
196
- var rscPrimaryResource = primaryDataSourceMetadata.find(function (r) {
197
- return r.name === primaryKeyResourceResource.resourceLabel;
198
- });
199
- if (rscPrimaryResource) {
200
- deNestedPrimaryKey = deNest(rsc.primaryKeyName, rsc.primaryKeyParents, rscPrimaryResource);
201
- primaryKeyResourceName = rscPrimaryResource.name;
202
- __primaryKeyResourceName = rscPrimaryResource.type;
203
- }
185
+ if (rsc.primaryKeyIsParameter) {
186
+ //primaryKeyName coming from parameter (another resource)
187
+ deNestedPrimaryKey = { property: rsc.primaryKeyName };
188
+ primaryKeyResourceName = rsc.primaryKeyResource;
189
+ __primaryKeyResourceName = rsc.primaryKeyResource;
190
+ } else {
191
+ (function () {
192
+ // primaryKeyName coming from resource IN THIS BUNDLE
193
+ var primaryKeyResourceResource = bundle.resources.find(function (r) {
194
+ return rsc.primaryKeyResource === r.resourceName;
195
+ });
196
+ if (primaryKeyResourceResource) {
197
+ //if(primaryResourceName===rsc.primaryKeyResource){
198
+ var rscPrimaryResource = primaryDataSourceMetadata.find(function (r) {
199
+ return r.name === primaryKeyResourceResource.resourceLabel;
200
+ });
201
+ if (rscPrimaryResource) {
202
+ deNestedPrimaryKey = deNest(rsc.primaryKeyName, rsc.primaryKeyParents, rscPrimaryResource);
203
+ primaryKeyResourceName = rscPrimaryResource.name;
204
+ __primaryKeyResourceName = rscPrimaryResource.type;
205
+ }
206
+ }
207
+ })();
204
208
  }
205
209
  }
206
210
  }
207
- }
208
211
 
209
- if (rscResource) {
210
- resources.push(Object.assign({
211
- name: rscResource.name,
212
- __name: rscResource.type,
213
- provider: resourceProvider
214
- }, deNestedJoinKey.property && { joinKeyName: deNestedJoinKey.property }, deNestedJoinKey.__property && { __joinKeyName: deNestedJoinKey.__property }, joinKeyResourceName && { joinKeyResource: joinKeyResourceName }, __joinKeyResourceName && { __joinKeyResource: __joinKeyResourceName }, deNestedJoinKey.parentsArray && deNestedJoinKey.parentsArray.length > 0 && { joinKeyParents: deNestedJoinKey.parentsArray }, deNestedPrimaryKey.property && { primaryKeyName: deNestedPrimaryKey.property }, deNestedPrimaryKey.__property && { __primaryKeyName: deNestedPrimaryKey.__property }, primaryKeyResourceName && { primaryKeyResource: primaryKeyResourceName }, __primaryKeyResourceName && { __primaryKeyResource: __primaryKeyResourceName }, deNestedPrimaryKey.parentsArray && deNestedPrimaryKey.parentsArray.length > 0 && { primaryKeyParents: deNestedPrimaryKey.parentsArray }, {
215
- joinType: rsc.joinType || 'LEFT JOIN'
216
- }, rscResource.parentRef && { parentRef: rscResource.parentRef }, rsc.parameterFilters && { parameterFilters: rsc.parameterFilters }, {
217
- level: rsc.level || (rscIndex === 0 ? 0 : 1),
218
- parentNameAndProvider: rsc.parentNameAndProvider
219
- }));
220
- //console.log(resources[resources.length-1])
221
- }
222
- }); // end bundle.resource.forEach
212
+ if (rscResource) {
213
+ resources.push(Object.assign({
214
+ name: rscResource.name,
215
+ __name: rscResource.type,
216
+ provider: resourceProvider
217
+ }, deNestedJoinKey.property && { joinKeyName: deNestedJoinKey.property }, deNestedJoinKey.__property && { __joinKeyName: deNestedJoinKey.__property }, joinKeyResourceName && { joinKeyResource: joinKeyResourceName }, __joinKeyResourceName && { __joinKeyResource: __joinKeyResourceName }, deNestedJoinKey.parentsArray && deNestedJoinKey.parentsArray.length > 0 && { joinKeyParents: deNestedJoinKey.parentsArray }, deNestedPrimaryKey.property && { primaryKeyName: deNestedPrimaryKey.property }, deNestedPrimaryKey.__property && { __primaryKeyName: deNestedPrimaryKey.__property }, primaryKeyResourceName && { primaryKeyResource: primaryKeyResourceName }, __primaryKeyResourceName && { __primaryKeyResource: __primaryKeyResourceName }, deNestedPrimaryKey.parentsArray && deNestedPrimaryKey.parentsArray.length > 0 && { primaryKeyParents: deNestedPrimaryKey.parentsArray }, {
218
+ joinType: rsc.joinType || 'LEFT JOIN'
219
+ }, rscResource.parentRef && { parentRef: rscResource.parentRef }, rsc.parameterFilters && { parameterFilters: rsc.parameterFilters }, {
220
+ level: rsc.level || (rscIndex === 0 ? 0 : 1),
221
+ parentNameAndProvider: rsc.parentNameAndProvider
222
+ }));
223
+ //console.log(resources[resources.length-1])
224
+ }
225
+ }); // end bundle.resource.forEach
223
226
 
224
- var mappings = [];
225
- savedMapping.mappings && savedMapping.mappings.filter(function (map) {
226
- return map.bundleIndex === index;
227
- }).forEach(function (m) {
228
- var dataSourceMetadata = m.isDestinationResource ? DM : SM;
229
- if (isReverse) {
230
- dataSourceMetadata = m.isDestinationResource ? SM : DM;
231
- }
227
+ var mappings = [];
228
+ savedMapping.mappings && savedMapping.mappings.filter(function (map) {
229
+ return map.bundleIndex === index;
230
+ }).forEach(function (m) {
231
+ var dataSourceMetadata = m.isDestinationResource ? DM : SM;
232
+ if (isReverse) {
233
+ dataSourceMetadata = m.isDestinationResource ? SM : DM;
234
+ }
232
235
 
233
- // source key / parents
234
- var resourceFromBundle = bundle.resources.find(function (br) {
235
- return br.resourceName === m.resourceFromName;
236
- });
237
- var sourceResource = resourceFromBundle && dataSourceMetadata.find(function (rsc) {
238
- return rsc.name === resourceFromBundle.resourceLabel;
239
- });
240
- var deNestedSourceProp = deNest(m.propertyFromName, m.propertyFromParents, sourceResource);
236
+ // source key / parents
237
+ var resourceFromBundle = bundle.resources.find(function (br) {
238
+ return br.resourceName === m.resourceFromName;
239
+ });
240
+ var sourceResource = resourceFromBundle && dataSourceMetadata.find(function (rsc) {
241
+ return rsc.name === resourceFromBundle.resourceLabel;
242
+ });
243
+ var deNestedSourceProp = deNest(m.propertyFromName, m.propertyFromParents, sourceResource);
241
244
 
242
- // destintation key / parents
243
- var deNestedDestProp = deNest(m.propertyToName, m.propertyToParents, bundleResource);
245
+ // destintation key / parents
246
+ var deNestedDestProp = deNest(m.propertyToName, m.propertyToParents, bundleResource);
244
247
 
245
- var transformations = [{ type: 'none' }];
246
- if (m.transformations && m.transformations.length > 0) {
247
- var trans = m.transformations[0];
248
- if (trans.type === 'concat') {
249
- var s = trans.args[1].split('->');
250
- var transConcatResourceName = s[s.length - 2];
251
- var nestedFields = s[s.length - 1].split('.');
252
- var field = nestedFields[nestedFields.length - 1];
253
- nestedFields.pop();
254
- var concatRsc = savedBundles.bundles[m.bundleIndex].resources.find(function (r) {
255
- return r.resourceLabel === transConcatResourceName;
256
- });
257
- if (concatRsc) {
258
- var concatRscProvider = concatRsc.provider.replace('Reader', '').toLowerCase();
259
- var concatRscMetadata = concatRscProvider === DP.toLowerCase() ? DM : concatRscProvider === SP.toLowerCase() ? SM : null;
260
- if (concatRscMetadata) {
261
- var transConcatResource = concatRscMetadata.find(function (r) {
262
- return r.type === concatRsc.resourceName;
263
- });
264
- var concatLabels = deNest(field, nestedFields, transConcatResource);
265
- var result = transConcatResource.name + '->';
266
- concatLabels.parentsArray.forEach(function (p) {
267
- return result += p + '.';
248
+ var transformations = [{ type: 'none' }];
249
+ if (m.transformations && m.transformations.length > 0) {
250
+ var trans = m.transformations[0];
251
+ if (trans.type === 'concat') {
252
+ (function () {
253
+ var s = trans.args[1].split('->');
254
+ var transConcatResourceName = s[s.length - 2];
255
+ var nestedFields = s[s.length - 1].split('.');
256
+ var field = nestedFields[nestedFields.length - 1];
257
+ nestedFields.pop();
258
+ var concatRsc = savedBundles.bundles[m.bundleIndex].resources.find(function (r) {
259
+ return r.resourceLabel === transConcatResourceName;
268
260
  });
269
- result += concatLabels.property;
270
- transformations = [{ type: 'concat', args: [trans.args[0], result] }];
271
- }
261
+ if (concatRsc) {
262
+ var concatRscProvider = concatRsc.provider.replace('Reader', '').toLowerCase();
263
+ var concatRscMetadata = concatRscProvider === DP.toLowerCase() ? DM : concatRscProvider === SP.toLowerCase() ? SM : null;
264
+ if (concatRscMetadata) {
265
+ var transConcatResource = concatRscMetadata.find(function (r) {
266
+ return r.type === concatRsc.resourceName;
267
+ });
268
+ var concatLabels = deNest(field, nestedFields, transConcatResource);
269
+ var result = transConcatResource.name + '->';
270
+ concatLabels.parentsArray.forEach(function (p) {
271
+ return result += p + '.';
272
+ });
273
+ result += concatLabels.property;
274
+ transformations = [{ type: 'concat', args: [trans.args[0], result] }];
275
+ }
276
+ }
277
+ })();
278
+ } else {
279
+ transformations = m.transformations;
272
280
  }
273
- } else {
274
- transformations = m.transformations;
275
281
  }
276
- }
277
282
 
278
- if (sourceResource && deNestedSourceProp.property && deNestedDestProp.property) {
279
- mappings.push(Object.assign({
280
- resourceFromName: sourceResource.name,
281
- __resourceFromName: sourceResource.type,
282
- propertyFromName: deNestedSourceProp.property,
283
- __propertyFromName: deNestedSourceProp.__property
284
- }, deNestedSourceProp.parentsArray && deNestedSourceProp.parentsArray.length > 0 && { propertyFromParents: deNestedSourceProp.parentsArray }, {
285
- resourceToName: bundleResource.name,
286
- __resourceToName: bundleResource.type,
287
- propertyToName: deNestedDestProp.property,
288
- __propertyToName: deNestedDestProp.__property
289
- }, deNestedDestProp.parentsArray && deNestedDestProp.parentsArray.length > 0 && { propertyToParents: deNestedDestProp.parentsArray }, m.isDestinationResource && { dataSourceIsDestinationEntity: true }, m.isExternalKeyMapping && { isExternalKeyMapping: true }, m.isUnique && { isUnique: true }, {
290
- transformations: transformations
291
- }));
292
- }
293
- }); // end wizard.savedMappings.forEach
294
- resourceGroups.push(Object.assign({
295
- name: bundleResource.name,
296
- __name: bundleResource.type,
297
- resources: resources, mappings: mappings,
298
- customExternalKeys: bundle.customExternalKeys || false
299
- }, bundle.customExternalKeys === true && {
300
- sourceKeys: sourceKeys, __sourceKeys: __sourceKeys,
301
- sourceKeysObjects: sourceKeysObjects, __sourceKeysObjects: __sourceKeysObjects,
302
- sourceKeysParents: sourceKeysParents,
303
- destinationKeys: destinationKeys, __destinationKeys: __destinationKeys,
304
- destinationKeysParents: destinationKeysParents
305
- }, bundle.customExternalKeys === false && {
306
- lingkSourceKey: sourceKeys[0], __lingkSourceKey: __sourceKeys[0],
307
- lingkSourceKeyObject: sourceKeysObjects[0],
308
- __lingkSourceKeyObject: __sourceKeysObjects[0],
309
- lingkSourceKeyParents: sourceKeysParents[0]
310
- }, {
311
- provider: bundle.provider,
312
- //...bundle.recordTypeId && {recordTypeId: bundle.recordTypeId},
313
- deleteEnabled: bundle.deleteEnabled || false,
314
- writeMode: bundle.writeMode || (bundle.deleteEnabled ? 'delete' : 'default')
315
- })); // end push each bundle (contains resources AND mappings)
283
+ if (sourceResource && deNestedSourceProp.property && deNestedDestProp.property) {
284
+ mappings.push(Object.assign({
285
+ resourceFromName: sourceResource.name,
286
+ __resourceFromName: sourceResource.type,
287
+ propertyFromName: deNestedSourceProp.property,
288
+ __propertyFromName: deNestedSourceProp.__property
289
+ }, deNestedSourceProp.parentsArray && deNestedSourceProp.parentsArray.length > 0 && { propertyFromParents: deNestedSourceProp.parentsArray }, {
290
+ resourceToName: bundleResource.name,
291
+ __resourceToName: bundleResource.type,
292
+ propertyToName: deNestedDestProp.property,
293
+ __propertyToName: deNestedDestProp.__property
294
+ }, deNestedDestProp.parentsArray && deNestedDestProp.parentsArray.length > 0 && { propertyToParents: deNestedDestProp.parentsArray }, m.isDestinationResource && { dataSourceIsDestinationEntity: true }, m.isExternalKeyMapping && { isExternalKeyMapping: true }, m.isUnique && { isUnique: true }, {
295
+ transformations: transformations
296
+ }));
297
+ }
298
+ }); // end wizard.savedMappings.forEach
299
+ resourceGroups.push(Object.assign({
300
+ name: bundleResource.name,
301
+ __name: bundleResource.type,
302
+ resources: resources, mappings: mappings,
303
+ customExternalKeys: bundle.customExternalKeys || false
304
+ }, bundle.customExternalKeys === true && {
305
+ sourceKeys: sourceKeys, __sourceKeys: __sourceKeys,
306
+ sourceKeysObjects: sourceKeysObjects, __sourceKeysObjects: __sourceKeysObjects,
307
+ sourceKeysParents: sourceKeysParents,
308
+ destinationKeys: destinationKeys, __destinationKeys: __destinationKeys,
309
+ destinationKeysParents: destinationKeysParents
310
+ }, bundle.customExternalKeys === false && {
311
+ lingkSourceKey: sourceKeys[0], __lingkSourceKey: __sourceKeys[0],
312
+ lingkSourceKeyObject: sourceKeysObjects[0],
313
+ __lingkSourceKeyObject: __sourceKeysObjects[0],
314
+ lingkSourceKeyParents: sourceKeysParents[0]
315
+ }, {
316
+ provider: bundle.provider,
317
+ //...bundle.recordTypeId && {recordTypeId: bundle.recordTypeId},
318
+ deleteEnabled: bundle.deleteEnabled || false,
319
+ writeMode: bundle.writeMode || (bundle.deleteEnabled ? 'delete' : 'default')
320
+ })); // end push each bundle (contains resources AND mappings)
321
+ })();
316
322
  } // end if bundleResource
317
323
  }); // end forEach over bundles
318
324
 
@@ -325,31 +331,33 @@ module.exports =
325
331
  var parentsArray = [];
326
332
  if (rsc) {
327
333
  if (parents && parents.length > 0) {
328
- var nestedRsc = rsc;
329
- var tempParentsArray = [];
330
- parents.forEach(function (ps) {
331
- var pProp = nestedRsc.properties && nestedRsc.properties.find(function (p) {
332
- return p.name === ps;
334
+ (function () {
335
+ var nestedRsc = rsc;
336
+ var tempParentsArray = [];
337
+ parents.forEach(function (ps) {
338
+ var pProp = nestedRsc.properties && nestedRsc.properties.find(function (p) {
339
+ return p.name === ps;
340
+ });
341
+ tempParentsArray.push(pProp.label);
342
+ nestedRsc = pProp.object;
333
343
  });
334
- tempParentsArray.push(pProp.label);
335
- nestedRsc = pProp.object;
336
- });
337
- parentsArray = tempParentsArray;
338
- var sourceKeyProperty = nestedRsc.properties && nestedRsc.properties.find(function (p) {
344
+ parentsArray = tempParentsArray;
345
+ var sourceKeyProperty = nestedRsc.properties && nestedRsc.properties.find(function (p) {
346
+ return p.name === prop;
347
+ });
348
+ if (sourceKeyProperty) {
349
+ property = sourceKeyProperty.label;
350
+ __property = sourceKeyProperty.name;
351
+ }
352
+ })();
353
+ } else {
354
+ var sourceKeyProperty = rsc.properties && rsc.properties.find(function (p) {
339
355
  return p.name === prop;
340
356
  });
341
357
  if (sourceKeyProperty) {
342
358
  property = sourceKeyProperty.label;
343
359
  __property = sourceKeyProperty.name;
344
360
  }
345
- } else {
346
- var _sourceKeyProperty = rsc.properties && rsc.properties.find(function (p) {
347
- return p.name === prop;
348
- });
349
- if (_sourceKeyProperty) {
350
- property = _sourceKeyProperty.label;
351
- __property = _sourceKeyProperty.name;
352
- }
353
361
  }
354
362
  }
355
363
  if (prop === 'Lingk_External_Id__c') {