@contrail/flexplm 1.3.0 → 1.3.1

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 (84) hide show
  1. package/.github/workflows/flexplm-lib.yml +1 -1
  2. package/.github/workflows/publish-to-npm.yml +35 -38
  3. package/lib/entity-processor/base-entity-processor.d.ts +42 -42
  4. package/lib/entity-processor/base-entity-processor.js +385 -385
  5. package/lib/entity-processor/base-entity-processor.spec.d.ts +1 -1
  6. package/lib/entity-processor/base-entity-processor.spec.js +397 -397
  7. package/lib/flexplm-request.d.ts +3 -3
  8. package/lib/flexplm-request.js +34 -34
  9. package/lib/flexplm-utils.d.ts +5 -5
  10. package/lib/flexplm-utils.js +33 -33
  11. package/lib/flexplm-utils.spec.d.ts +1 -1
  12. package/lib/flexplm-utils.spec.js +26 -26
  13. package/lib/index.d.ts +22 -22
  14. package/lib/index.js +38 -38
  15. package/lib/interfaces/interfaces.d.ts +105 -105
  16. package/lib/interfaces/interfaces.js +2 -2
  17. package/lib/interfaces/item-family-changes.d.ts +20 -20
  18. package/lib/interfaces/item-family-changes.js +56 -56
  19. package/lib/interfaces/publish-change-data.d.ts +19 -19
  20. package/lib/interfaces/publish-change-data.js +32 -32
  21. package/lib/publish/base-process-publish-assortment-callback.d.ts +9 -9
  22. package/lib/publish/base-process-publish-assortment-callback.js +38 -38
  23. package/lib/publish/base-process-publish-assortment.d.ts +93 -93
  24. package/lib/publish/base-process-publish-assortment.js +944 -944
  25. package/lib/publish/base-process-publish-assortment.spec.d.ts +1 -1
  26. package/lib/publish/base-process-publish-assortment.spec.js +1670 -1670
  27. package/lib/publish/mockData.d.ts +1389 -1389
  28. package/lib/publish/mockData.js +4519 -4519
  29. package/lib/transform/identifier-conversion-spec-mockData.js +444 -444
  30. package/lib/transform/identifier-conversion.d.ts +15 -15
  31. package/lib/transform/identifier-conversion.js +212 -212
  32. package/lib/transform/identifier-conversion.spec.d.ts +1 -1
  33. package/lib/transform/identifier-conversion.spec.js +339 -339
  34. package/lib/util/config-defaults.d.ts +8 -8
  35. package/lib/util/config-defaults.js +85 -85
  36. package/lib/util/config-defaults.spec.d.ts +1 -1
  37. package/lib/util/config-defaults.spec.js +293 -293
  38. package/lib/util/data-converter-spec-mockData.js +205 -205
  39. package/lib/util/data-converter.d.ts +39 -39
  40. package/lib/util/data-converter.js +592 -592
  41. package/lib/util/data-converter.spec.d.ts +1 -1
  42. package/lib/util/data-converter.spec.js +904 -904
  43. package/lib/util/error-response-object.d.ts +4 -4
  44. package/lib/util/error-response-object.js +47 -47
  45. package/lib/util/error-response-object.spec.d.ts +1 -1
  46. package/lib/util/error-response-object.spec.js +99 -99
  47. package/lib/util/event-short-message-status.d.ts +19 -19
  48. package/lib/util/event-short-message-status.js +23 -23
  49. package/lib/util/federation.d.ts +15 -15
  50. package/lib/util/federation.js +149 -149
  51. package/lib/util/flexplm-connect.d.ts +22 -22
  52. package/lib/util/flexplm-connect.js +176 -176
  53. package/lib/util/flexplm-connect.spec.d.ts +1 -1
  54. package/lib/util/flexplm-connect.spec.js +88 -88
  55. package/lib/util/logger-config.d.ts +1 -1
  56. package/lib/util/logger-config.js +26 -26
  57. package/lib/util/map-util-spec-mockData.js +205 -205
  58. package/lib/util/map-utils.d.ts +6 -6
  59. package/lib/util/map-utils.js +15 -15
  60. package/lib/util/map-utils.spec.d.ts +1 -1
  61. package/lib/util/map-utils.spec.js +89 -89
  62. package/lib/util/mockData.d.ts +80 -80
  63. package/lib/util/mockData.js +103 -103
  64. package/lib/util/thumbnail-util.d.ts +34 -34
  65. package/lib/util/thumbnail-util.js +215 -215
  66. package/lib/util/thumbnail-util.spec.d.ts +1 -1
  67. package/lib/util/thumbnail-util.spec.js +434 -434
  68. package/lib/util/type-conversion-utils-spec-mockData.js +259 -259
  69. package/lib/util/type-conversion-utils.d.ts +23 -23
  70. package/lib/util/type-conversion-utils.js +265 -265
  71. package/lib/util/type-conversion-utils.spec.d.ts +1 -1
  72. package/lib/util/type-conversion-utils.spec.js +868 -868
  73. package/lib/util/type-defaults.d.ts +16 -16
  74. package/lib/util/type-defaults.js +221 -221
  75. package/lib/util/type-defaults.spec.d.ts +1 -1
  76. package/lib/util/type-defaults.spec.js +516 -516
  77. package/lib/util/type-utils.d.ts +13 -13
  78. package/lib/util/type-utils.js +114 -114
  79. package/lib/util/type-utils.spec.d.ts +1 -1
  80. package/lib/util/type-utils.spec.js +190 -190
  81. package/package.json +1 -1
  82. package/publish.sh +0 -0
  83. package/tsconfig.json +1 -6
  84. package/.claude/settings.local.json +0 -8
@@ -1,444 +1,444 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.mapping = {
4
- typeConversion: {
5
- vibe2flex: {
6
- 'custom-entity': {
7
- getMapKey: (entity) => {
8
- const typePath = entity['typePath'];
9
- let mapKey = '';
10
- switch (typePath) {
11
- case 'custom-entity:pack':
12
- mapKey = 'packaging';
13
- break;
14
- case 'custom-entity:prefix':
15
- mapKey = 'prefix';
16
- break;
17
- case 'custom-entity:catName':
18
- mapKey = 'catName';
19
- break;
20
- case 'custom-entity:partnerOrg':
21
- mapKey = 'partnerOrg';
22
- break;
23
- case 'custom-entity:catFamily':
24
- mapKey = 'catFamily';
25
- break;
26
- case 'custom-entity:formName':
27
- mapKey = 'formName';
28
- break;
29
- }
30
- return mapKey;
31
- }
32
- }
33
- }
34
- },
35
- LCSSeason: {
36
- vibe2flex: {
37
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
38
- rekey: {
39
- seasonName: 'flexPLMSeasonName',
40
- year: 'seasonYear'
41
- },
42
- getSoftType: () => 'Season',
43
- getClass: () => 'LCSSeason'
44
- },
45
- flex2vibe: {
46
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
47
- rekey: {
48
- flexPLMSeasonName: 'seasonName',
49
- seasonYear: 'year'
50
- }
51
- }
52
- },
53
- LCSProduct: {
54
- vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
55
- vibe2flex: {
56
- getClass: () => 'LCSProduct',
57
- getSoftType: (entity) => {
58
- const prodType = entity['prodType'];
59
- let val = '';
60
- switch (prodType) {
61
- case 'acc':
62
- val = 'Product\\Accesories';
63
- break;
64
- case 'app':
65
- val = 'Product\\Apparel';
66
- break;
67
- case 'eqp':
68
- val = 'Product\\Equipment';
69
- break;
70
- case 'foot':
71
- val = 'Product\\Footwear';
72
- break;
73
- }
74
- return val;
75
- },
76
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }, { processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' }],
77
- rekey: {
78
- productName: 'name',
79
- vibeIQIdentifier: 'itemNumber'
80
- },
81
- valueTransform: {
82
- transformEx: (row) => {
83
- return row['otherProp'] + 'xxx';
84
- }
85
- }
86
- },
87
- flex2vibe: {
88
- getClass: () => 'item',
89
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
90
- rekey: {
91
- itemNumber: 'vibeIQIdentifier',
92
- name: 'productName',
93
- }
94
- }
95
- },
96
- LCSSKU: {
97
- vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
98
- vibe2flex: {
99
- getClass: () => 'LCSSKU',
100
- getSoftType: (entity) => {
101
- const prodType = entity['prodType'];
102
- let val = '';
103
- switch (prodType) {
104
- case 'acc':
105
- val = 'Product\\Accesories';
106
- break;
107
- case 'app':
108
- val = 'Product\\Apparel';
109
- break;
110
- case 'eqp':
111
- val = 'Product\\Equipment';
112
- break;
113
- case 'foot':
114
- val = 'Product\\Footwear';
115
- break;
116
- }
117
- return val;
118
- },
119
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
120
- rekey: {
121
- skuName: 'optionName',
122
- vibeIQIdentifier: 'itemNumber'
123
- }
124
- },
125
- flex2vibe: {
126
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
127
- rekey: {
128
- itemNumber: 'vibeIQIdentifier',
129
- optionName: 'skuName',
130
- }
131
- }
132
- },
133
- packaging: {
134
- vibe2flex: {
135
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
136
- rekey: {
137
- retailPackType: 'packType',
138
- retailIntroDate: 'introDate'
139
- },
140
- getSoftType: () => 'Revisable Entity\\packaging',
141
- getClass: () => 'LCSRevisableEntity'
142
- },
143
- flex2vibe: {
144
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
145
- rekey: {
146
- packType: 'retailPackType',
147
- introDate: 'retailIntroDate'
148
- },
149
- getClass: () => 'custom-entity',
150
- getSoftType: () => 'custom-entity:pack',
151
- }
152
- },
153
- prefix: {
154
- vibe2flex: {
155
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
156
- rekey: {
157
- retailOwner: 'owner',
158
- retailIntroDate: 'introDate'
159
- },
160
- getSoftType: () => 'Revisable Entity\\prefix',
161
- getClass: () => 'LCSRevisableEntity'
162
- },
163
- flex2vibe: {
164
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
165
- rekey: {
166
- owner: 'retailOwner',
167
- introDate: 'retailIntroDate'
168
- },
169
- getClass: () => 'custom-entity',
170
- getSoftType: () => 'custom-entity:prefix',
171
- }
172
- },
173
- catName: {
174
- getIdentifierProperties: () => ['catName', 'catNumber'],
175
- getInformationalProperties: () => ['longName'],
176
- vibe2flex: {
177
- transformOrder: [],
178
- getSoftType: () => 'Last\\catName',
179
- getClass: () => 'LCSLast'
180
- },
181
- flex2vibe: {
182
- transformOrder: [],
183
- getClass: () => 'custom-entity',
184
- getSoftType: () => 'custom-entity:catName',
185
- }
186
- },
187
- partnerOrg: {
188
- vibe2flex: {
189
- transformOrder: [],
190
- getSoftType: () => 'Business Object\\partnerOrg',
191
- getClass: () => 'LCSLifecycleManaged'
192
- },
193
- flex2vibe: {
194
- transformOrder: [],
195
- getClass: () => 'custom-entity',
196
- getSoftType: () => 'custom-entity:partnerOrg',
197
- }
198
- },
199
- catFamily: {
200
- vibe2flex: {
201
- transformOrder: [],
202
- getSoftType: () => 'Revisable Entity\\catFamily',
203
- getClass: () => 'LCSRevisableEntity'
204
- },
205
- flex2vibe: {
206
- transformOrder: [],
207
- getClass: () => 'custom-entity',
208
- getSoftType: () => 'custom-entity:catFamily',
209
- }
210
- },
211
- formName: {
212
- vibe2flex: {
213
- transformOrder: [],
214
- getSoftType: () => 'Material\\form',
215
- getClass: () => 'LCSMaterial'
216
- },
217
- flex2vibe: {
218
- transformOrder: [],
219
- getClass: () => 'custom-entity',
220
- getSoftType: () => 'custom-entity:formName',
221
- }
222
- },
223
- };
224
- exports.mapping2 = {
225
- typeConversion: {
226
- vibe2flex: {
227
- 'custom-entity': {
228
- getMapKey: (entity) => {
229
- const typePath = entity['typePath'];
230
- let mapKey = '';
231
- switch (typePath) {
232
- case 'custom-entity:pack':
233
- mapKey = 'packaging';
234
- break;
235
- case 'custom-entity:prefix':
236
- mapKey = 'prefix';
237
- break;
238
- case 'custom-entity:catName':
239
- mapKey = 'catName';
240
- break;
241
- case 'custom-entity:partnerOrg':
242
- mapKey = 'partnerOrg';
243
- break;
244
- case 'custom-entity:catFamily':
245
- mapKey = 'catFamily';
246
- break;
247
- case 'custom-entity:formName':
248
- mapKey = 'formName';
249
- break;
250
- }
251
- return mapKey;
252
- }
253
- }
254
- }
255
- },
256
- LCSSeason: {
257
- getIdentifierProperties: () => ['brand', 'year', 'seasonType'],
258
- vibe2flex: {
259
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
260
- rekey: {
261
- seasonName: 'flexPLMSeasonName'
262
- },
263
- getSoftType: () => 'Season',
264
- getClass: () => 'LCSSeason'
265
- },
266
- flex2vibe: {
267
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
268
- rekey: {
269
- flexPLMSeasonName: 'seasonName'
270
- }
271
- }
272
- },
273
- LCSProduct: {
274
- vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
275
- vibe2flex: {
276
- getClass: () => 'LCSProduct',
277
- getSoftType: (entity) => {
278
- const prodType = entity['prodType'];
279
- let val = '';
280
- switch (prodType) {
281
- case 'acc':
282
- val = 'Product\\Accesories';
283
- break;
284
- case 'app':
285
- val = 'Product\\Apparel';
286
- break;
287
- case 'eqp':
288
- val = 'Product\\Equipment';
289
- break;
290
- case 'foot':
291
- val = 'Product\\Footwear';
292
- break;
293
- }
294
- return val;
295
- },
296
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }, { processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' }],
297
- rekey: {
298
- productName: 'name',
299
- vibeIQIdentifier: 'itemNumber'
300
- },
301
- valueTransform: {
302
- transformEx: (row) => {
303
- return row['otherProp'] + 'xxx';
304
- }
305
- }
306
- },
307
- flex2vibe: {
308
- getClass: () => 'item',
309
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
310
- rekey: {
311
- itemNumber: 'vibeIQIdentifier',
312
- name: 'productName',
313
- }
314
- }
315
- },
316
- LCSSKU: {
317
- vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
318
- getIdentifierProperties: () => ['uniqueIdentifierA', 'uniqueIdentifierB'],
319
- vibe2flex: {
320
- getClass: () => 'LCSSKU',
321
- getSoftType: (entity) => {
322
- const prodType = entity['prodType'];
323
- let val = '';
324
- switch (prodType) {
325
- case 'acc':
326
- val = 'Product\\Accesories';
327
- break;
328
- case 'app':
329
- val = 'Product\\Apparel';
330
- break;
331
- case 'eqp':
332
- val = 'Product\\Equipment';
333
- break;
334
- case 'foot':
335
- val = 'Product\\Footwear';
336
- break;
337
- }
338
- return val;
339
- },
340
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
341
- rekey: {
342
- skuName: 'optionName',
343
- vibeIQIdentifier: 'itemNumber'
344
- }
345
- },
346
- flex2vibe: {
347
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
348
- rekey: {
349
- itemNumber: 'vibeIQIdentifier',
350
- optionName: 'skuName',
351
- }
352
- }
353
- },
354
- packaging: {
355
- vibe2flex: {
356
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
357
- rekey: {
358
- retailPackType: 'packType',
359
- retailIntroDate: 'introDate'
360
- },
361
- getSoftType: () => 'Revisable Entity\\packaging',
362
- getClass: () => 'LCSRevisableEntity'
363
- },
364
- flex2vibe: {
365
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
366
- rekey: {
367
- packType: 'retailPackType',
368
- introDate: 'retailIntroDate'
369
- },
370
- getClass: () => 'custom-entity',
371
- getSoftType: () => 'custom-entity:pack',
372
- }
373
- },
374
- prefix: {
375
- vibe2flex: {
376
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
377
- rekey: {
378
- retailOwner: 'owner',
379
- retailIntroDate: 'introDate'
380
- },
381
- getSoftType: () => 'Revisable Entity\\prefix',
382
- getClass: () => 'LCSRevisableEntity'
383
- },
384
- flex2vibe: {
385
- transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
386
- rekey: {
387
- owner: 'retailOwner',
388
- introDate: 'retailIntroDate'
389
- },
390
- getClass: () => 'custom-entity',
391
- getSoftType: () => 'custom-entity:prefix',
392
- }
393
- },
394
- catName: {
395
- getIdentifierProperties: () => ['catName', 'catNumber'],
396
- getInformationalProperties: () => ['longName'],
397
- vibe2flex: {
398
- transformOrder: [],
399
- getSoftType: () => 'Last\\catName',
400
- getClass: () => 'LCSLast'
401
- },
402
- flex2vibe: {
403
- transformOrder: [],
404
- getClass: () => 'custom-entity',
405
- getSoftType: () => 'custom-entity:catName',
406
- }
407
- },
408
- partnerOrg: {
409
- vibe2flex: {
410
- transformOrder: [],
411
- getSoftType: () => 'Business Object\\partnerOrg',
412
- getClass: () => 'LCSLifecycleManaged'
413
- },
414
- flex2vibe: {
415
- transformOrder: [],
416
- getClass: () => 'custom-entity',
417
- getSoftType: () => 'custom-entity:partnerOrg',
418
- }
419
- },
420
- catFamily: {
421
- vibe2flex: {
422
- transformOrder: [],
423
- getSoftType: () => 'Revisable Entity\\catFamily',
424
- getClass: () => 'LCSRevisableEntity'
425
- },
426
- flex2vibe: {
427
- transformOrder: [],
428
- getClass: () => 'custom-entity',
429
- getSoftType: () => 'custom-entity:catFamily',
430
- }
431
- },
432
- formName: {
433
- vibe2flex: {
434
- transformOrder: [],
435
- getSoftType: () => 'Material\\form',
436
- getClass: () => 'LCSMaterial'
437
- },
438
- flex2vibe: {
439
- transformOrder: [],
440
- getClass: () => 'custom-entity',
441
- getSoftType: () => 'custom-entity:formName',
442
- }
443
- },
444
- };
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.mapping = {
4
+ typeConversion: {
5
+ vibe2flex: {
6
+ 'custom-entity': {
7
+ getMapKey: (entity) => {
8
+ const typePath = entity['typePath'];
9
+ let mapKey = '';
10
+ switch (typePath) {
11
+ case 'custom-entity:pack':
12
+ mapKey = 'packaging';
13
+ break;
14
+ case 'custom-entity:prefix':
15
+ mapKey = 'prefix';
16
+ break;
17
+ case 'custom-entity:catName':
18
+ mapKey = 'catName';
19
+ break;
20
+ case 'custom-entity:partnerOrg':
21
+ mapKey = 'partnerOrg';
22
+ break;
23
+ case 'custom-entity:catFamily':
24
+ mapKey = 'catFamily';
25
+ break;
26
+ case 'custom-entity:formName':
27
+ mapKey = 'formName';
28
+ break;
29
+ }
30
+ return mapKey;
31
+ }
32
+ }
33
+ }
34
+ },
35
+ LCSSeason: {
36
+ vibe2flex: {
37
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
38
+ rekey: {
39
+ seasonName: 'flexPLMSeasonName',
40
+ year: 'seasonYear'
41
+ },
42
+ getSoftType: () => 'Season',
43
+ getClass: () => 'LCSSeason'
44
+ },
45
+ flex2vibe: {
46
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
47
+ rekey: {
48
+ flexPLMSeasonName: 'seasonName',
49
+ seasonYear: 'year'
50
+ }
51
+ }
52
+ },
53
+ LCSProduct: {
54
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
55
+ vibe2flex: {
56
+ getClass: () => 'LCSProduct',
57
+ getSoftType: (entity) => {
58
+ const prodType = entity['prodType'];
59
+ let val = '';
60
+ switch (prodType) {
61
+ case 'acc':
62
+ val = 'Product\\Accesories';
63
+ break;
64
+ case 'app':
65
+ val = 'Product\\Apparel';
66
+ break;
67
+ case 'eqp':
68
+ val = 'Product\\Equipment';
69
+ break;
70
+ case 'foot':
71
+ val = 'Product\\Footwear';
72
+ break;
73
+ }
74
+ return val;
75
+ },
76
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }, { processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' }],
77
+ rekey: {
78
+ productName: 'name',
79
+ vibeIQIdentifier: 'itemNumber'
80
+ },
81
+ valueTransform: {
82
+ transformEx: (row) => {
83
+ return row['otherProp'] + 'xxx';
84
+ }
85
+ }
86
+ },
87
+ flex2vibe: {
88
+ getClass: () => 'item',
89
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
90
+ rekey: {
91
+ itemNumber: 'vibeIQIdentifier',
92
+ name: 'productName',
93
+ }
94
+ }
95
+ },
96
+ LCSSKU: {
97
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
98
+ vibe2flex: {
99
+ getClass: () => 'LCSSKU',
100
+ getSoftType: (entity) => {
101
+ const prodType = entity['prodType'];
102
+ let val = '';
103
+ switch (prodType) {
104
+ case 'acc':
105
+ val = 'Product\\Accesories';
106
+ break;
107
+ case 'app':
108
+ val = 'Product\\Apparel';
109
+ break;
110
+ case 'eqp':
111
+ val = 'Product\\Equipment';
112
+ break;
113
+ case 'foot':
114
+ val = 'Product\\Footwear';
115
+ break;
116
+ }
117
+ return val;
118
+ },
119
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
120
+ rekey: {
121
+ skuName: 'optionName',
122
+ vibeIQIdentifier: 'itemNumber'
123
+ }
124
+ },
125
+ flex2vibe: {
126
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
127
+ rekey: {
128
+ itemNumber: 'vibeIQIdentifier',
129
+ optionName: 'skuName',
130
+ }
131
+ }
132
+ },
133
+ packaging: {
134
+ vibe2flex: {
135
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
136
+ rekey: {
137
+ retailPackType: 'packType',
138
+ retailIntroDate: 'introDate'
139
+ },
140
+ getSoftType: () => 'Revisable Entity\\packaging',
141
+ getClass: () => 'LCSRevisableEntity'
142
+ },
143
+ flex2vibe: {
144
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
145
+ rekey: {
146
+ packType: 'retailPackType',
147
+ introDate: 'retailIntroDate'
148
+ },
149
+ getClass: () => 'custom-entity',
150
+ getSoftType: () => 'custom-entity:pack',
151
+ }
152
+ },
153
+ prefix: {
154
+ vibe2flex: {
155
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
156
+ rekey: {
157
+ retailOwner: 'owner',
158
+ retailIntroDate: 'introDate'
159
+ },
160
+ getSoftType: () => 'Revisable Entity\\prefix',
161
+ getClass: () => 'LCSRevisableEntity'
162
+ },
163
+ flex2vibe: {
164
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
165
+ rekey: {
166
+ owner: 'retailOwner',
167
+ introDate: 'retailIntroDate'
168
+ },
169
+ getClass: () => 'custom-entity',
170
+ getSoftType: () => 'custom-entity:prefix',
171
+ }
172
+ },
173
+ catName: {
174
+ getIdentifierProperties: () => ['catName', 'catNumber'],
175
+ getInformationalProperties: () => ['longName'],
176
+ vibe2flex: {
177
+ transformOrder: [],
178
+ getSoftType: () => 'Last\\catName',
179
+ getClass: () => 'LCSLast'
180
+ },
181
+ flex2vibe: {
182
+ transformOrder: [],
183
+ getClass: () => 'custom-entity',
184
+ getSoftType: () => 'custom-entity:catName',
185
+ }
186
+ },
187
+ partnerOrg: {
188
+ vibe2flex: {
189
+ transformOrder: [],
190
+ getSoftType: () => 'Business Object\\partnerOrg',
191
+ getClass: () => 'LCSLifecycleManaged'
192
+ },
193
+ flex2vibe: {
194
+ transformOrder: [],
195
+ getClass: () => 'custom-entity',
196
+ getSoftType: () => 'custom-entity:partnerOrg',
197
+ }
198
+ },
199
+ catFamily: {
200
+ vibe2flex: {
201
+ transformOrder: [],
202
+ getSoftType: () => 'Revisable Entity\\catFamily',
203
+ getClass: () => 'LCSRevisableEntity'
204
+ },
205
+ flex2vibe: {
206
+ transformOrder: [],
207
+ getClass: () => 'custom-entity',
208
+ getSoftType: () => 'custom-entity:catFamily',
209
+ }
210
+ },
211
+ formName: {
212
+ vibe2flex: {
213
+ transformOrder: [],
214
+ getSoftType: () => 'Material\\form',
215
+ getClass: () => 'LCSMaterial'
216
+ },
217
+ flex2vibe: {
218
+ transformOrder: [],
219
+ getClass: () => 'custom-entity',
220
+ getSoftType: () => 'custom-entity:formName',
221
+ }
222
+ },
223
+ };
224
+ exports.mapping2 = {
225
+ typeConversion: {
226
+ vibe2flex: {
227
+ 'custom-entity': {
228
+ getMapKey: (entity) => {
229
+ const typePath = entity['typePath'];
230
+ let mapKey = '';
231
+ switch (typePath) {
232
+ case 'custom-entity:pack':
233
+ mapKey = 'packaging';
234
+ break;
235
+ case 'custom-entity:prefix':
236
+ mapKey = 'prefix';
237
+ break;
238
+ case 'custom-entity:catName':
239
+ mapKey = 'catName';
240
+ break;
241
+ case 'custom-entity:partnerOrg':
242
+ mapKey = 'partnerOrg';
243
+ break;
244
+ case 'custom-entity:catFamily':
245
+ mapKey = 'catFamily';
246
+ break;
247
+ case 'custom-entity:formName':
248
+ mapKey = 'formName';
249
+ break;
250
+ }
251
+ return mapKey;
252
+ }
253
+ }
254
+ }
255
+ },
256
+ LCSSeason: {
257
+ getIdentifierProperties: () => ['brand', 'year', 'seasonType'],
258
+ vibe2flex: {
259
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
260
+ rekey: {
261
+ seasonName: 'flexPLMSeasonName'
262
+ },
263
+ getSoftType: () => 'Season',
264
+ getClass: () => 'LCSSeason'
265
+ },
266
+ flex2vibe: {
267
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
268
+ rekey: {
269
+ flexPLMSeasonName: 'seasonName'
270
+ }
271
+ }
272
+ },
273
+ LCSProduct: {
274
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
275
+ vibe2flex: {
276
+ getClass: () => 'LCSProduct',
277
+ getSoftType: (entity) => {
278
+ const prodType = entity['prodType'];
279
+ let val = '';
280
+ switch (prodType) {
281
+ case 'acc':
282
+ val = 'Product\\Accesories';
283
+ break;
284
+ case 'app':
285
+ val = 'Product\\Apparel';
286
+ break;
287
+ case 'eqp':
288
+ val = 'Product\\Equipment';
289
+ break;
290
+ case 'foot':
291
+ val = 'Product\\Footwear';
292
+ break;
293
+ }
294
+ return val;
295
+ },
296
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }, { processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' }],
297
+ rekey: {
298
+ productName: 'name',
299
+ vibeIQIdentifier: 'itemNumber'
300
+ },
301
+ valueTransform: {
302
+ transformEx: (row) => {
303
+ return row['otherProp'] + 'xxx';
304
+ }
305
+ }
306
+ },
307
+ flex2vibe: {
308
+ getClass: () => 'item',
309
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
310
+ rekey: {
311
+ itemNumber: 'vibeIQIdentifier',
312
+ name: 'productName',
313
+ }
314
+ }
315
+ },
316
+ LCSSKU: {
317
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
318
+ getIdentifierProperties: () => ['uniqueIdentifierA', 'uniqueIdentifierB'],
319
+ vibe2flex: {
320
+ getClass: () => 'LCSSKU',
321
+ getSoftType: (entity) => {
322
+ const prodType = entity['prodType'];
323
+ let val = '';
324
+ switch (prodType) {
325
+ case 'acc':
326
+ val = 'Product\\Accesories';
327
+ break;
328
+ case 'app':
329
+ val = 'Product\\Apparel';
330
+ break;
331
+ case 'eqp':
332
+ val = 'Product\\Equipment';
333
+ break;
334
+ case 'foot':
335
+ val = 'Product\\Footwear';
336
+ break;
337
+ }
338
+ return val;
339
+ },
340
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
341
+ rekey: {
342
+ skuName: 'optionName',
343
+ vibeIQIdentifier: 'itemNumber'
344
+ }
345
+ },
346
+ flex2vibe: {
347
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
348
+ rekey: {
349
+ itemNumber: 'vibeIQIdentifier',
350
+ optionName: 'skuName',
351
+ }
352
+ }
353
+ },
354
+ packaging: {
355
+ vibe2flex: {
356
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
357
+ rekey: {
358
+ retailPackType: 'packType',
359
+ retailIntroDate: 'introDate'
360
+ },
361
+ getSoftType: () => 'Revisable Entity\\packaging',
362
+ getClass: () => 'LCSRevisableEntity'
363
+ },
364
+ flex2vibe: {
365
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
366
+ rekey: {
367
+ packType: 'retailPackType',
368
+ introDate: 'retailIntroDate'
369
+ },
370
+ getClass: () => 'custom-entity',
371
+ getSoftType: () => 'custom-entity:pack',
372
+ }
373
+ },
374
+ prefix: {
375
+ vibe2flex: {
376
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
377
+ rekey: {
378
+ retailOwner: 'owner',
379
+ retailIntroDate: 'introDate'
380
+ },
381
+ getSoftType: () => 'Revisable Entity\\prefix',
382
+ getClass: () => 'LCSRevisableEntity'
383
+ },
384
+ flex2vibe: {
385
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
386
+ rekey: {
387
+ owner: 'retailOwner',
388
+ introDate: 'retailIntroDate'
389
+ },
390
+ getClass: () => 'custom-entity',
391
+ getSoftType: () => 'custom-entity:prefix',
392
+ }
393
+ },
394
+ catName: {
395
+ getIdentifierProperties: () => ['catName', 'catNumber'],
396
+ getInformationalProperties: () => ['longName'],
397
+ vibe2flex: {
398
+ transformOrder: [],
399
+ getSoftType: () => 'Last\\catName',
400
+ getClass: () => 'LCSLast'
401
+ },
402
+ flex2vibe: {
403
+ transformOrder: [],
404
+ getClass: () => 'custom-entity',
405
+ getSoftType: () => 'custom-entity:catName',
406
+ }
407
+ },
408
+ partnerOrg: {
409
+ vibe2flex: {
410
+ transformOrder: [],
411
+ getSoftType: () => 'Business Object\\partnerOrg',
412
+ getClass: () => 'LCSLifecycleManaged'
413
+ },
414
+ flex2vibe: {
415
+ transformOrder: [],
416
+ getClass: () => 'custom-entity',
417
+ getSoftType: () => 'custom-entity:partnerOrg',
418
+ }
419
+ },
420
+ catFamily: {
421
+ vibe2flex: {
422
+ transformOrder: [],
423
+ getSoftType: () => 'Revisable Entity\\catFamily',
424
+ getClass: () => 'LCSRevisableEntity'
425
+ },
426
+ flex2vibe: {
427
+ transformOrder: [],
428
+ getClass: () => 'custom-entity',
429
+ getSoftType: () => 'custom-entity:catFamily',
430
+ }
431
+ },
432
+ formName: {
433
+ vibe2flex: {
434
+ transformOrder: [],
435
+ getSoftType: () => 'Material\\form',
436
+ getClass: () => 'LCSMaterial'
437
+ },
438
+ flex2vibe: {
439
+ transformOrder: [],
440
+ getClass: () => 'custom-entity',
441
+ getSoftType: () => 'custom-entity:formName',
442
+ }
443
+ },
444
+ };