@lingk/sync 0.2.3 → 0.2.5
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/credentialSections.js +32 -20
- package/build/credentialSections.js.map +1 -1
- package/build/lightning.js +90 -90
- package/build/lightning.js.map +1 -1
- package/build/lightningStyles.js.map +1 -1
- package/build/lingk.js +30 -30
- package/build/lingk.js.map +1 -1
- package/build/lingkStyles.js.map +1 -1
- package/build/loadData.js +323 -0
- package/build/loadData.js.map +1 -0
- package/build/main.js +1113 -1162
- package/build/main.js.map +1 -1
- package/build/metadataFunctions.js +2 -2
- package/build/metadataFunctions.js.map +1 -1
- package/build/reducer.js +6 -6
- package/build/reducer.js.map +1 -1
- package/build/saveData.js +339 -0
- package/build/saveData.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
module.exports =
|
|
2
|
+
/******/ (function(modules) { // webpackBootstrap
|
|
3
|
+
/******/ // The module cache
|
|
4
|
+
/******/ var installedModules = {};
|
|
5
|
+
/******/
|
|
6
|
+
/******/ // The require function
|
|
7
|
+
/******/ function __webpack_require__(moduleId) {
|
|
8
|
+
/******/
|
|
9
|
+
/******/ // Check if module is in cache
|
|
10
|
+
/******/ if(installedModules[moduleId])
|
|
11
|
+
/******/ return installedModules[moduleId].exports;
|
|
12
|
+
/******/
|
|
13
|
+
/******/ // Create a new module (and put it into the cache)
|
|
14
|
+
/******/ var module = installedModules[moduleId] = {
|
|
15
|
+
/******/ exports: {},
|
|
16
|
+
/******/ id: moduleId,
|
|
17
|
+
/******/ loaded: false
|
|
18
|
+
/******/ };
|
|
19
|
+
/******/
|
|
20
|
+
/******/ // Execute the module function
|
|
21
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
22
|
+
/******/
|
|
23
|
+
/******/ // Flag the module as loaded
|
|
24
|
+
/******/ module.loaded = true;
|
|
25
|
+
/******/
|
|
26
|
+
/******/ // Return the exports of the module
|
|
27
|
+
/******/ return module.exports;
|
|
28
|
+
/******/ }
|
|
29
|
+
/******/
|
|
30
|
+
/******/
|
|
31
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
32
|
+
/******/ __webpack_require__.m = modules;
|
|
33
|
+
/******/
|
|
34
|
+
/******/ // expose the module cache
|
|
35
|
+
/******/ __webpack_require__.c = installedModules;
|
|
36
|
+
/******/
|
|
37
|
+
/******/ // __webpack_public_path__
|
|
38
|
+
/******/ __webpack_require__.p = "";
|
|
39
|
+
/******/
|
|
40
|
+
/******/ // Load entry module and return exports
|
|
41
|
+
/******/ return __webpack_require__(0);
|
|
42
|
+
/******/ })
|
|
43
|
+
/************************************************************************/
|
|
44
|
+
/******/ ({
|
|
45
|
+
|
|
46
|
+
/***/ 0:
|
|
47
|
+
/***/ function(module, exports, __webpack_require__) {
|
|
48
|
+
|
|
49
|
+
module.exports = __webpack_require__(45);
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/***/ },
|
|
53
|
+
|
|
54
|
+
/***/ 45:
|
|
55
|
+
/***/ function(module, exports) {
|
|
56
|
+
|
|
57
|
+
'use strict';
|
|
58
|
+
|
|
59
|
+
Object.defineProperty(exports, "__esModule", {
|
|
60
|
+
value: true
|
|
61
|
+
});
|
|
62
|
+
function loadData(savedBundles, savedMapping, sourceProvider, destinationProvider, sourceMetadata, destinationMetadata, isReverse) {
|
|
63
|
+
|
|
64
|
+
var SM = sourceMetadata;
|
|
65
|
+
var DM = destinationMetadata;
|
|
66
|
+
var SP = sourceProvider;
|
|
67
|
+
var DP = destinationProvider;
|
|
68
|
+
if (isReverse) {
|
|
69
|
+
SM = destinationMetadata;
|
|
70
|
+
DM = sourceMetadata;
|
|
71
|
+
SP = destinationProvider;
|
|
72
|
+
DP = sourceProvider;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var resourceGroups = [];
|
|
76
|
+
savedBundles.bundles.forEach(function (bundle, index) {
|
|
77
|
+
// get bundle resource
|
|
78
|
+
var bundleResource = DM.find(function (rsc) {
|
|
79
|
+
return rsc.name === bundle.resourceLabel;
|
|
80
|
+
});
|
|
81
|
+
if (bundleResource) {
|
|
82
|
+
(function () {
|
|
83
|
+
|
|
84
|
+
//get bundle destinationKeys
|
|
85
|
+
var destinationKeys = [];
|
|
86
|
+
bundle.destinationKeys.forEach(function (dk) {
|
|
87
|
+
var bundleDestinationProperty = bundleResource.properties.find(function (prop) {
|
|
88
|
+
return prop.name === dk;
|
|
89
|
+
});
|
|
90
|
+
if (bundleDestinationProperty) {
|
|
91
|
+
destinationKeys.push(bundleDestinationProperty.label);
|
|
92
|
+
} else {
|
|
93
|
+
destinationKeys.push('Lingk External Id');
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
var sourceKeys = [];
|
|
98
|
+
var sourceKeysObjects = [];
|
|
99
|
+
var sourceKeysParents = [];
|
|
100
|
+
bundle.sourceKeys.forEach(function (sk, i) {
|
|
101
|
+
var sourceKeyResourceObj = bundle.resources.find(function (r) {
|
|
102
|
+
return r.resourceName === bundle.sourceKeysObjects[i];
|
|
103
|
+
});
|
|
104
|
+
if (sourceKeyResourceObj) {
|
|
105
|
+
var sourceKeyResourceProvider = sourceKeyResourceObj.provider.replace('Reader', '').toLowerCase();
|
|
106
|
+
var primaryDataSourceMetadata = sourceKeyResourceProvider === DP.toLowerCase() ? DM : sourceKeyResourceProvider === SP.toLowerCase() ? SM : null;
|
|
107
|
+
|
|
108
|
+
if (primaryDataSourceMetadata) {
|
|
109
|
+
var sourceKeyResource = primaryDataSourceMetadata.find(function (r) {
|
|
110
|
+
return r.type === bundle.sourceKeysObjects[i];
|
|
111
|
+
});
|
|
112
|
+
if (sourceKeyResource) {
|
|
113
|
+
sourceKeysObjects.push(sourceKeyResource.name);
|
|
114
|
+
var deNestedProp = deNest(sk, bundle.sourceKeysParents && JSON.parse(bundle.sourceKeysParents[i]), sourceKeyResource);
|
|
115
|
+
sourceKeys.push(deNestedProp.property);
|
|
116
|
+
sourceKeysParents.push(deNestedProp.parentsArray);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
var resources = [];
|
|
123
|
+
bundle.resources && bundle.resources.forEach(function (rsc, rscIndex) {
|
|
124
|
+
|
|
125
|
+
//get resource and joinKey for bundleResource (check both metadatas)
|
|
126
|
+
var resourceProvider = rsc.provider.replace('Reader', '').toLowerCase();
|
|
127
|
+
var dataSourceMetadata = resourceProvider === DP.toLowerCase() ? DM : resourceProvider === SP.toLowerCase() ? SM : null;
|
|
128
|
+
|
|
129
|
+
var rscResource = null;
|
|
130
|
+
var deNestedJoinKey = {};
|
|
131
|
+
var joinKeyResourceName = null;
|
|
132
|
+
if (dataSourceMetadata) {
|
|
133
|
+
rscResource = dataSourceMetadata.find(function (r) {
|
|
134
|
+
return r.name === rsc.resourceLabel;
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
if (rsc.joinKeyName) {
|
|
138
|
+
// joinKeyName coming from parameter from another resource
|
|
139
|
+
deNestedJoinKey = { property: rsc.joinKeyName };
|
|
140
|
+
joinKeyResourceName = rsc.joinKeyResource;
|
|
141
|
+
|
|
142
|
+
// joinKeyName coming from field on this resource
|
|
143
|
+
if (rsc.resourceName === rsc.joinKeyResource) {
|
|
144
|
+
var joinKeyResource = dataSourceMetadata.find(function (r) {
|
|
145
|
+
return r.type === rsc.joinKeyResource;
|
|
146
|
+
});
|
|
147
|
+
if (joinKeyResource) {
|
|
148
|
+
deNestedJoinKey = deNest(rsc.joinKeyName, rsc.joinKeyParents, joinKeyResource);
|
|
149
|
+
joinKeyResourceName = joinKeyResource.name;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
} // end if dataSourceMetadata
|
|
154
|
+
|
|
155
|
+
//get resource and primaryKey for first resource in bundle (check both metadatas)
|
|
156
|
+
var primaryResourceProvider = bundle.resources[0].provider.replace('Reader', '').toLowerCase();
|
|
157
|
+
var primaryDataSourceMetadata = primaryResourceProvider === DP.toLowerCase() ? DM : primaryResourceProvider === SP.toLowerCase() ? SM : null;
|
|
158
|
+
|
|
159
|
+
var deNestedPrimaryKey = {};
|
|
160
|
+
var primaryKeyResourceName = null;
|
|
161
|
+
if (primaryDataSourceMetadata) {
|
|
162
|
+
if (rsc.primaryKeyName) {
|
|
163
|
+
//primaryKeyName coming from parameter (another resource)
|
|
164
|
+
deNestedPrimaryKey = { property: rsc.primaryKeyName };
|
|
165
|
+
primaryKeyResourceName = rsc.primaryKeyResource;
|
|
166
|
+
|
|
167
|
+
// primaryKeyName coming from field on this resource
|
|
168
|
+
if (bundle.resources[0].resourceLabel === rsc.primaryKeyResource) {
|
|
169
|
+
var rscPrimaryResource = primaryDataSourceMetadata.find(function (r) {
|
|
170
|
+
return r.type === rsc.primaryKeyResource;
|
|
171
|
+
});
|
|
172
|
+
if (rscPrimaryResource) {
|
|
173
|
+
deNestedPrimaryKey = deNest(rsc.primaryKeyName, rsc.primaryKeyParents, rscPrimaryResource);
|
|
174
|
+
primaryKeyResourceName = rscPrimaryResource.name;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (rscResource) {
|
|
181
|
+
resources.push(Object.assign({
|
|
182
|
+
name: rscResource.name,
|
|
183
|
+
provider: resourceProvider
|
|
184
|
+
}, deNestedJoinKey.property && { joinKeyName: deNestedJoinKey.property }, joinKeyResourceName && { joinKeyResource: joinKeyResourceName }, deNestedJoinKey.parentsArray && deNestedJoinKey.parentsArray.length > 0 && { joinKeyParents: deNestedJoinKey.parentsArray }, deNestedPrimaryKey.property && { primaryKeyName: deNestedPrimaryKey.property }, primaryKeyResourceName && { primaryKeyResource: primaryKeyResourceName }, deNestedPrimaryKey.parentsArray && deNestedPrimaryKey.parentsArray.length > 0 && { primaryKeyParents: deNestedPrimaryKey.parentsArray }, {
|
|
185
|
+
joinType: rsc.joinType || 'LEFT JOIN'
|
|
186
|
+
}, rscResource.parentRef && { parentRef: rscResource.parentRef }, rsc.parameterFilters && { parameterFilters: rsc.parameterFilters }, {
|
|
187
|
+
level: rsc.level || (rscIndex === 0 ? 0 : 1)
|
|
188
|
+
}, rsc.parentNameAndProvider && { parentNameAndProvider: rsc.parentNameAndProvider }));
|
|
189
|
+
}
|
|
190
|
+
}); // end bundle.resource.forEach
|
|
191
|
+
|
|
192
|
+
var mappings = [];
|
|
193
|
+
savedMapping.mappings && savedMapping.mappings.filter(function (map) {
|
|
194
|
+
return map.bundleIndex === index;
|
|
195
|
+
}).forEach(function (m) {
|
|
196
|
+
var dataSourceMetadata = m.isDestinationResource ? DM : SM;
|
|
197
|
+
if (isReverse) {
|
|
198
|
+
dataSourceMetadata = m.isDestinationResource ? SM : DM;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
var resourceFromBundle = bundle.resources.find(function (br) {
|
|
202
|
+
return br.resourceName === m.resourceFromName;
|
|
203
|
+
});
|
|
204
|
+
var sourceResource = resourceFromBundle && dataSourceMetadata.find(function (rsc) {
|
|
205
|
+
return rsc.name === resourceFromBundle.resourceLabel;
|
|
206
|
+
});
|
|
207
|
+
var deNestedProp = deNest(m.propertyFromName, m.propertyFromParents, sourceResource);
|
|
208
|
+
|
|
209
|
+
var sourceProperty = null;
|
|
210
|
+
if (sourceResource) {
|
|
211
|
+
sourceProperty = sourceResource.properties.find(function (prop) {
|
|
212
|
+
return prop.name === m.propertyFromName;
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
var destinationProperty = bundleResource.properties.find(function (prop) {
|
|
217
|
+
return prop.name === m.propertyToName;
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
var transformations = [{ type: 'none' }];
|
|
221
|
+
if (m.transformations && m.transformations.length > 0) {
|
|
222
|
+
var trans = m.transformations[0];
|
|
223
|
+
if (trans.type === 'concat') {
|
|
224
|
+
(function () {
|
|
225
|
+
var s = trans.args[1].split('->');
|
|
226
|
+
var transConcatResourceName = s[s.length - 2];
|
|
227
|
+
var nestedFields = s[s.length - 1].split('.');
|
|
228
|
+
var field = nestedFields[nestedFields.length - 1];
|
|
229
|
+
nestedFields.pop();
|
|
230
|
+
var concatRsc = savedBundles.bundles[m.bundleIndex].resources.find(function (r) {
|
|
231
|
+
return r.resourceLabel === transConcatResourceName;
|
|
232
|
+
});
|
|
233
|
+
var concatRscProvider = concatRsc.provider.replace('Reader', '').toLowerCase();
|
|
234
|
+
var concatRscMetadata = concatRscProvider === DP.toLowerCase() ? DM : concatRscProvider === SP.toLowerCase() ? SM : null;
|
|
235
|
+
if (concatRscMetadata) {
|
|
236
|
+
var transConcatResource = concatRscMetadata.find(function (r) {
|
|
237
|
+
return r.type === concatRsc.resourceName;
|
|
238
|
+
});
|
|
239
|
+
var concatLabels = deNest(field, nestedFields, transConcatResource);
|
|
240
|
+
var result = transConcatResource.name + '->';
|
|
241
|
+
concatLabels.parentsArray.forEach(function (p) {
|
|
242
|
+
return result += p + '.';
|
|
243
|
+
});
|
|
244
|
+
result += concatLabels.property;
|
|
245
|
+
transformations = [{ type: 'concat', args: [trans.args[0], result] }];
|
|
246
|
+
}
|
|
247
|
+
})();
|
|
248
|
+
} else {
|
|
249
|
+
transformations = m.transformations;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (sourceResource && sourceProperty && destinationProperty) {
|
|
254
|
+
mappings.push(Object.assign({
|
|
255
|
+
resourceFromName: sourceResource.name,
|
|
256
|
+
propertyFromName: deNestedProp.property
|
|
257
|
+
}, deNestedProp.parentsArray && deNestedProp.parentsArray.length > 0 && { propertyFromParents: deNestedProp.parentsArray }, {
|
|
258
|
+
resourceToName: bundleResource.name,
|
|
259
|
+
propertyToName: destinationProperty.label
|
|
260
|
+
}, m.isDestinationResource && { dataSourceIsDestinationEntity: true }, m.isExternalKeyMapping && { isExternalKeyMapping: true }, m.isUnique && { isUnique: true }, {
|
|
261
|
+
transformations: transformations
|
|
262
|
+
}));
|
|
263
|
+
}
|
|
264
|
+
}); // end wizard.savedMappings.forEach
|
|
265
|
+
resourceGroups.push(Object.assign({
|
|
266
|
+
name: bundleResource.name,
|
|
267
|
+
resources: resources, mappings: mappings,
|
|
268
|
+
customExternalKeys: bundle.customExternalKeys || false
|
|
269
|
+
}, bundle.customExternalKeys === true && { sourceKeys: sourceKeys, sourceKeysObjects: sourceKeysObjects, sourceKeysParents: sourceKeysParents, destinationKeys: destinationKeys }, bundle.customExternalKeys === false && { lingkSourceKey: sourceKeys[0], lingkSourceKeyObject: sourceKeysObjects[0],
|
|
270
|
+
lingkSourceKeyParents: sourceKeysParents[0] }, {
|
|
271
|
+
provider: bundle.provider
|
|
272
|
+
}, bundle.recordTypeId && { recordTypeId: bundle.recordTypeId }, {
|
|
273
|
+
deleteEnabled: bundle.deleteEnabled || false
|
|
274
|
+
})); // end push each bundle (contains resources AND mappings)
|
|
275
|
+
})();
|
|
276
|
+
} // end if bundleResource
|
|
277
|
+
}); // end forEach over bundles
|
|
278
|
+
|
|
279
|
+
return resourceGroups;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
function deNest(prop, parents, rsc) {
|
|
283
|
+
var property = '';
|
|
284
|
+
var parentsArray = [];
|
|
285
|
+
if (rsc) {
|
|
286
|
+
if (parents && parents.length > 0) {
|
|
287
|
+
(function () {
|
|
288
|
+
var nestedRsc = rsc;
|
|
289
|
+
var tempParentsArray = [];
|
|
290
|
+
parents.forEach(function (ps) {
|
|
291
|
+
var pProp = nestedRsc.properties && nestedRsc.properties.find(function (p) {
|
|
292
|
+
return p.name === ps;
|
|
293
|
+
});
|
|
294
|
+
tempParentsArray.push(pProp.label);
|
|
295
|
+
nestedRsc = pProp.object;
|
|
296
|
+
});
|
|
297
|
+
parentsArray = tempParentsArray;
|
|
298
|
+
var sourceKeyProperty = nestedRsc.properties && nestedRsc.properties.find(function (p) {
|
|
299
|
+
return p.name === prop;
|
|
300
|
+
});
|
|
301
|
+
if (sourceKeyProperty) {
|
|
302
|
+
property = sourceKeyProperty.label;
|
|
303
|
+
}
|
|
304
|
+
})();
|
|
305
|
+
} else {
|
|
306
|
+
var sourceKeyProperty = rsc.properties && rsc.properties.find(function (p) {
|
|
307
|
+
return p.name === prop;
|
|
308
|
+
});
|
|
309
|
+
if (sourceKeyProperty) {
|
|
310
|
+
property = sourceKeyProperty.label;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
if (prop === 'Lingk_External_Id__c') property = 'Lingk External Id';
|
|
315
|
+
return { property: property, parentsArray: parentsArray };
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
exports.default = loadData;
|
|
319
|
+
|
|
320
|
+
/***/ }
|
|
321
|
+
|
|
322
|
+
/******/ });
|
|
323
|
+
//# sourceMappingURL=loadData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap 13c2e76a2137ab533bf9?ba93*******","webpack:///./src/lib/wizard/stepTypes/utils/loadData.js?0bc1"],"names":["loadData","savedBundles","savedMapping","sourceProvider","destinationProvider","sourceMetadata","destinationMetadata","isReverse","SM","DM","SP","DP","resourceGroups","bundles","forEach","bundle","index","bundleResource","find","rsc","name","resourceLabel","destinationKeys","bundleDestinationProperty","properties","prop","dk","push","label","sourceKeys","sourceKeysObjects","sourceKeysParents","sk","i","sourceKeyResourceObj","resources","r","resourceName","sourceKeyResourceProvider","provider","replace","toLowerCase","primaryDataSourceMetadata","sourceKeyResource","type","deNestedProp","deNest","JSON","parse","property","parentsArray","rscIndex","resourceProvider","dataSourceMetadata","rscResource","deNestedJoinKey","joinKeyResourceName","joinKeyName","joinKeyResource","joinKeyParents","primaryResourceProvider","deNestedPrimaryKey","primaryKeyResourceName","primaryKeyName","primaryKeyResource","rscPrimaryResource","primaryKeyParents","length","joinType","parentRef","parameterFilters","level","parentNameAndProvider","mappings","filter","map","bundleIndex","m","isDestinationResource","resourceFromBundle","br","resourceFromName","sourceResource","propertyFromName","propertyFromParents","sourceProperty","destinationProperty","propertyToName","transformations","trans","s","args","split","transConcatResourceName","nestedFields","field","pop","concatRsc","concatRscProvider","concatRscMetadata","transConcatResource","concatLabels","result","p","resourceToName","dataSourceIsDestinationEntity","isExternalKeyMapping","isUnique","customExternalKeys","lingkSourceKey","lingkSourceKeyObject","lingkSourceKeyParents","recordTypeId","deleteEnabled","parents","nestedRsc","tempParentsArray","pProp","ps","object","sourceKeyProperty"],"mappings":"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","file":"loadData.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 13c2e76a2137ab533bf9","function loadData(savedBundles, savedMapping, sourceProvider, destinationProvider, sourceMetadata, destinationMetadata, isReverse) {\n\n let SM = sourceMetadata\n let DM = destinationMetadata\n let SP = sourceProvider\n let DP = destinationProvider\n if(isReverse){\n SM = destinationMetadata\n DM = sourceMetadata\n SP = destinationProvider\n DP = sourceProvider\n }\n\n const resourceGroups = []\n savedBundles.bundles.forEach((bundle, index)=>{\n // get bundle resource\n const bundleResource = DM.find(rsc => {\n return rsc.name === bundle.resourceLabel\n })\n if(bundleResource){\n\n //get bundle destinationKeys\n const destinationKeys = []\n bundle.destinationKeys.forEach(dk=>{\n const bundleDestinationProperty = bundleResource.properties.find(prop => prop.name===dk)\n if(bundleDestinationProperty){\n destinationKeys.push(bundleDestinationProperty.label)\n } else {\n destinationKeys.push('Lingk External Id')\n }\n })\n\n const sourceKeys = []\n const sourceKeysObjects = []\n const sourceKeysParents = []\n bundle.sourceKeys.forEach((sk,i)=>{\n const sourceKeyResourceObj = bundle.resources.find(r => r.resourceName===bundle.sourceKeysObjects[i])\n if(sourceKeyResourceObj){\n const sourceKeyResourceProvider = sourceKeyResourceObj.provider\n .replace('Reader','').toLowerCase()\n const primaryDataSourceMetadata = sourceKeyResourceProvider === \n DP.toLowerCase() ? DM : sourceKeyResourceProvider === \n SP.toLowerCase() ? SM : null\n\n if(primaryDataSourceMetadata){\n const sourceKeyResource = primaryDataSourceMetadata.find(r => r.type===bundle.sourceKeysObjects[i])\n if(sourceKeyResource){\n sourceKeysObjects.push(sourceKeyResource.name) \n const deNestedProp = deNest(\n sk,\n bundle.sourceKeysParents && JSON.parse(bundle.sourceKeysParents[i]),\n sourceKeyResource\n )\n sourceKeys.push(deNestedProp.property)\n sourceKeysParents.push(deNestedProp.parentsArray)\n }\n }\n\n }\n })\n\n const resources=[]\n bundle.resources && bundle.resources.forEach((rsc,rscIndex)=>{\n\n //get resource and joinKey for bundleResource (check both metadatas)\n const resourceProvider = rsc.provider.replace('Reader','').toLowerCase()\n const dataSourceMetadata = resourceProvider === DP.toLowerCase() ? DM : \n resourceProvider === SP.toLowerCase() ? SM : null\n\n let rscResource = null\n let deNestedJoinKey = {}\n let joinKeyResourceName = null\n if(dataSourceMetadata){\n rscResource = dataSourceMetadata.find(r => {\n return r.name===rsc.resourceLabel\n })\n\n if(rsc.joinKeyName){\n // joinKeyName coming from parameter from another resource\n deNestedJoinKey = {property:rsc.joinKeyName}\n joinKeyResourceName = rsc.joinKeyResource\n \n // joinKeyName coming from field on this resource\n if(rsc.resourceName===rsc.joinKeyResource){\n const joinKeyResource = dataSourceMetadata\n .find(r => r.type===rsc.joinKeyResource)\n if(joinKeyResource){\n deNestedJoinKey = deNest(\n rsc.joinKeyName, rsc.joinKeyParents, joinKeyResource \n )\n joinKeyResourceName = joinKeyResource.name\n }\n }\n }\n } // end if dataSourceMetadata\n \n //get resource and primaryKey for first resource in bundle (check both metadatas)\n const primaryResourceProvider = bundle.resources[0].provider\n .replace('Reader','').toLowerCase()\n const primaryDataSourceMetadata = primaryResourceProvider === DP.toLowerCase() ? DM : primaryResourceProvider === SP.toLowerCase() ? SM : null\n\n let deNestedPrimaryKey = {}\n let primaryKeyResourceName = null\n if(primaryDataSourceMetadata){\n if(rsc.primaryKeyName){\n //primaryKeyName coming from parameter (another resource)\n deNestedPrimaryKey = {property: rsc.primaryKeyName}\n primaryKeyResourceName = rsc.primaryKeyResource\n\n // primaryKeyName coming from field on this resource\n if(bundle.resources[0].resourceLabel===rsc.primaryKeyResource){\n const rscPrimaryResource = primaryDataSourceMetadata\n .find(r => r.type===rsc.primaryKeyResource)\n if(rscPrimaryResource){\n deNestedPrimaryKey = deNest(\n rsc.primaryKeyName, rsc.primaryKeyParents, rscPrimaryResource \n )\n primaryKeyResourceName = rscPrimaryResource.name\n }\n }\n }\n }\n\n if(rscResource){\n resources.push({\n name: rscResource.name,\n provider: resourceProvider,\n ...deNestedJoinKey.property && {joinKeyName: deNestedJoinKey.property},\n ...joinKeyResourceName && {joinKeyResource: joinKeyResourceName},\n ...(deNestedJoinKey.parentsArray && deNestedJoinKey.parentsArray.length>0) &&\n {joinKeyParents: deNestedJoinKey.parentsArray},\n ...deNestedPrimaryKey.property && {primaryKeyName: deNestedPrimaryKey.property},\n // primaryKeyResource is necessary because you can join on parameters\n // so it might be different than the actual primary resource name\n ...primaryKeyResourceName && {primaryKeyResource: primaryKeyResourceName},\n ...(deNestedPrimaryKey.parentsArray && deNestedPrimaryKey.parentsArray.length>0) &&\n {primaryKeyParents: deNestedPrimaryKey.parentsArray},\n joinType: rsc.joinType || 'LEFT JOIN',\n ...rscResource.parentRef && {parentRef: rscResource.parentRef},\n ...rsc.parameterFilters && {parameterFilters: rsc.parameterFilters},\n level: rsc.level || (rscIndex===0 ? 0 : 1),\n ...rsc.parentNameAndProvider && {parentNameAndProvider: rsc.parentNameAndProvider},\n })\n }\n }) // end bundle.resource.forEach\n\n const mappings=[]\n savedMapping.mappings && savedMapping.mappings.filter(map=>map.bundleIndex===index)\n .forEach(m=>{\n let dataSourceMetadata = m.isDestinationResource ? DM : SM\n if(isReverse){\n dataSourceMetadata = m.isDestinationResource ? SM : DM\n }\n\n const resourceFromBundle = bundle.resources.find(br=>\n br.resourceName===m.resourceFromName)\n const sourceResource = resourceFromBundle && dataSourceMetadata.find(rsc =>\n rsc.name===resourceFromBundle.resourceLabel)\n const deNestedProp = deNest(\n m.propertyFromName, m.propertyFromParents, sourceResource\n )\n\n let sourceProperty = null\n if(sourceResource){\n sourceProperty = sourceResource.properties.find(prop => \n prop.name===m.propertyFromName)\n }\n\n const destinationProperty = bundleResource.properties.find(prop => \n prop.name===m.propertyToName)\n\n let transformations = [{type:'none'}]\n if(m.transformations && m.transformations.length > 0){\n const trans = m.transformations[0]\n if(trans.type==='concat'){\n const s = trans.args[1].split('->')\n const transConcatResourceName = s[s.length-2]\n const nestedFields = s[s.length-1].split('.')\n const field = nestedFields[nestedFields.length-1]\n nestedFields.pop()\n const concatRsc = savedBundles.bundles[m.bundleIndex].resources\n .find(r=>r.resourceLabel===transConcatResourceName)\n const concatRscProvider = concatRsc.provider.replace('Reader','').toLowerCase()\n const concatRscMetadata = concatRscProvider === DP.toLowerCase() ? DM :concatRscProvider === SP.toLowerCase() ? SM : null\n if(concatRscMetadata){\n const transConcatResource = concatRscMetadata\n .find(r => r.type===concatRsc.resourceName)\n const concatLabels = deNest(\n field, nestedFields, transConcatResource\n )\n let result = transConcatResource.name + '->'\n concatLabels.parentsArray.forEach(p=>result+=`${p}.`)\n result += concatLabels.property\n transformations = [{type:'concat',args:[trans.args[0],result]}]\n }\n } else {\n transformations = m.transformations\n }\n \n }\n \n if(sourceResource && sourceProperty && destinationProperty){\n mappings.push({\n resourceFromName: sourceResource.name,\n propertyFromName: deNestedProp.property,\n ...(deNestedProp.parentsArray && deNestedProp.parentsArray.length>0) &&\n {propertyFromParents: deNestedProp.parentsArray},\n resourceToName: bundleResource.name,\n propertyToName: destinationProperty.label,\n ...m.isDestinationResource && {dataSourceIsDestinationEntity: true},\n ...m.isExternalKeyMapping && {isExternalKeyMapping: true},\n ...m.isUnique && {isUnique: true},\n transformations\n })\n }\n }) // end wizard.savedMappings.forEach\n resourceGroups.push({\n name: bundleResource.name,\n resources, mappings,\n customExternalKeys: bundle.customExternalKeys || false,\n ...(bundle.customExternalKeys===true) &&\n {sourceKeys, sourceKeysObjects, sourceKeysParents, destinationKeys},\n ...(bundle.customExternalKeys===false) && \n {lingkSourceKey: sourceKeys[0], lingkSourceKeyObject: sourceKeysObjects[0],\n lingkSourceKeyParents: sourceKeysParents[0]},\n provider: bundle.provider,\n ...bundle.recordTypeId && {recordTypeId: bundle.recordTypeId},\n deleteEnabled: bundle.deleteEnabled || false\n }) // end push each bundle (contains resources AND mappings)\n } // end if bundleResource\n\n }) // end forEach over bundles\n\n return resourceGroups\n}\n\nfunction deNest(prop, parents, rsc){\n let property = ''\n let parentsArray = []\n if(rsc){\n if(parents && parents.length>0){\n let nestedRsc = rsc\n const tempParentsArray = []\n parents.forEach(ps=>{\n const pProp = nestedRsc.properties && nestedRsc.properties.find(p=>p.name===ps)\n tempParentsArray.push(pProp.label)\n nestedRsc = pProp.object\n })\n parentsArray = tempParentsArray\n const sourceKeyProperty = nestedRsc.properties && nestedRsc.properties\n .find(p => p.name===prop)\n if(sourceKeyProperty){\n property = sourceKeyProperty.label\n }\n } else {\n const sourceKeyProperty = rsc.properties && rsc.properties\n .find(p => p.name===prop)\n if(sourceKeyProperty){\n property = sourceKeyProperty.label\n }\n }\n }\n if(prop==='Lingk_External_Id__c') property='Lingk External Id'\n return {property, parentsArray}\n}\n\nexport default loadData\n\n\n// WEBPACK FOOTER //\n// ./src/lib/wizard/stepTypes/utils/loadData.js"],"sourceRoot":""}
|