@contrail/flexplm 1.3.0-alpha.0 → 1.3.0-alpha.4

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 (124) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/.github/pull_request_template.md +31 -31
  3. package/.github/workflows/flexplm-lib.yml +27 -27
  4. package/CHANGELOG.md +1 -1
  5. package/lib/entity-processor/base-entity-processor.d.ts +42 -0
  6. package/lib/entity-processor/base-entity-processor.js +377 -0
  7. package/lib/entity-processor/base-entity-processor.spec.d.ts +1 -0
  8. package/lib/entity-processor/base-entity-processor.spec.js +426 -0
  9. package/lib/flexplm-request.d.ts +3 -0
  10. package/lib/flexplm-request.js +34 -0
  11. package/lib/flexplm-utils.d.ts +5 -0
  12. package/lib/flexplm-utils.js +33 -0
  13. package/lib/flexplm-utils.spec.d.ts +1 -0
  14. package/lib/flexplm-utils.spec.js +26 -0
  15. package/lib/index.d.ts +22 -0
  16. package/lib/index.js +38 -0
  17. package/lib/interfaces/interfaces.d.ts +105 -0
  18. package/lib/interfaces/interfaces.js +2 -0
  19. package/lib/interfaces/item-family-changes.d.ts +20 -0
  20. package/lib/interfaces/item-family-changes.js +56 -0
  21. package/lib/interfaces/publish-change-data.d.ts +19 -0
  22. package/lib/interfaces/publish-change-data.js +32 -0
  23. package/lib/publish/base-process-publish-assortment-callback.d.ts +9 -0
  24. package/lib/publish/base-process-publish-assortment-callback.js +38 -0
  25. package/lib/publish/base-process-publish-assortment.d.ts +93 -0
  26. package/lib/publish/base-process-publish-assortment.js +944 -0
  27. package/lib/publish/base-process-publish-assortment.spec.d.ts +1 -0
  28. package/lib/publish/base-process-publish-assortment.spec.js +1670 -0
  29. package/lib/publish/mockData.d.ts +1389 -0
  30. package/lib/publish/mockData.js +4519 -0
  31. package/lib/transform/identifier-conversion-spec-mockData.d.ts +0 -0
  32. package/lib/transform/identifier-conversion-spec-mockData.js +444 -0
  33. package/lib/transform/identifier-conversion.d.ts +15 -0
  34. package/lib/transform/identifier-conversion.js +212 -0
  35. package/lib/transform/identifier-conversion.spec.d.ts +1 -0
  36. package/lib/transform/identifier-conversion.spec.js +339 -0
  37. package/lib/util/config-defaults.d.ts +8 -0
  38. package/lib/util/config-defaults.js +85 -0
  39. package/lib/util/config-defaults.spec.d.ts +1 -0
  40. package/lib/util/config-defaults.spec.js +293 -0
  41. package/lib/util/data-converter-spec-mockData.d.ts +0 -0
  42. package/lib/util/data-converter-spec-mockData.js +205 -0
  43. package/lib/util/data-converter.d.ts +39 -0
  44. package/lib/util/data-converter.js +592 -0
  45. package/lib/util/data-converter.spec.d.ts +1 -0
  46. package/lib/util/data-converter.spec.js +904 -0
  47. package/lib/util/error-response-object.d.ts +4 -0
  48. package/lib/util/error-response-object.js +47 -0
  49. package/lib/util/error-response-object.spec.d.ts +1 -0
  50. package/lib/util/error-response-object.spec.js +99 -0
  51. package/lib/util/event-short-message-status.d.ts +18 -0
  52. package/lib/util/event-short-message-status.js +22 -0
  53. package/lib/util/federation.d.ts +15 -0
  54. package/lib/util/federation.js +149 -0
  55. package/lib/util/flexplm-connect.d.ts +22 -0
  56. package/lib/util/flexplm-connect.js +176 -0
  57. package/lib/util/flexplm-connect.spec.d.ts +1 -0
  58. package/lib/util/flexplm-connect.spec.js +88 -0
  59. package/lib/util/logger-config.d.ts +1 -0
  60. package/lib/util/logger-config.js +26 -0
  61. package/lib/util/map-util-spec-mockData.d.ts +0 -0
  62. package/lib/util/map-util-spec-mockData.js +205 -0
  63. package/lib/util/map-utils.d.ts +6 -0
  64. package/lib/util/map-utils.js +15 -0
  65. package/lib/util/map-utils.spec.d.ts +1 -0
  66. package/lib/util/map-utils.spec.js +89 -0
  67. package/lib/util/mockData.d.ts +80 -0
  68. package/lib/util/mockData.js +103 -0
  69. package/lib/util/thumbnail-util.d.ts +34 -0
  70. package/lib/util/thumbnail-util.js +211 -0
  71. package/lib/util/thumbnail-util.spec.d.ts +1 -0
  72. package/lib/util/thumbnail-util.spec.js +398 -0
  73. package/lib/util/type-conversion-utils-spec-mockData.d.ts +0 -0
  74. package/lib/util/type-conversion-utils-spec-mockData.js +259 -0
  75. package/lib/util/type-conversion-utils.d.ts +23 -0
  76. package/lib/util/type-conversion-utils.js +266 -0
  77. package/lib/util/type-conversion-utils.spec.d.ts +1 -0
  78. package/lib/util/type-conversion-utils.spec.js +868 -0
  79. package/lib/util/type-defaults.d.ts +16 -0
  80. package/lib/util/type-defaults.js +221 -0
  81. package/lib/util/type-defaults.spec.d.ts +1 -0
  82. package/lib/util/type-defaults.spec.js +516 -0
  83. package/lib/util/type-utils.d.ts +13 -0
  84. package/lib/util/type-utils.js +114 -0
  85. package/lib/util/type-utils.spec.d.ts +1 -0
  86. package/lib/util/type-utils.spec.js +190 -0
  87. package/package.json +1 -1
  88. package/publish.bat +4 -4
  89. package/publish.sh +4 -4
  90. package/src/entity-processor/base-entity-processor.spec.ts +157 -0
  91. package/src/entity-processor/base-entity-processor.ts +21 -2
  92. package/src/flexplm-request.ts +28 -28
  93. package/src/flexplm-utils.spec.ts +27 -27
  94. package/src/flexplm-utils.ts +29 -29
  95. package/src/index.ts +21 -21
  96. package/src/interfaces/item-family-changes.ts +66 -66
  97. package/src/interfaces/publish-change-data.ts +42 -42
  98. package/src/publish/base-process-publish-assortment-callback.ts +50 -50
  99. package/src/transform/identifier-conversion-spec-mockData.ts +495 -495
  100. package/src/transform/identifier-conversion.spec.ts +353 -353
  101. package/src/transform/identifier-conversion.ts +281 -281
  102. package/src/util/config-defaults.spec.ts +350 -350
  103. package/src/util/config-defaults.ts +92 -92
  104. package/src/util/data-converter-spec-mockData.ts +230 -230
  105. package/src/util/error-response-object.spec.ts +115 -115
  106. package/src/util/error-response-object.ts +49 -49
  107. package/src/util/federation.ts +172 -172
  108. package/src/util/logger-config.ts +19 -19
  109. package/src/util/map-util-spec-mockData.ts +230 -230
  110. package/src/util/map-utils.spec.ts +102 -102
  111. package/src/util/map-utils.ts +40 -40
  112. package/src/util/mockData.ts +101 -97
  113. package/src/util/thumbnail-util.spec.ts +190 -0
  114. package/src/util/thumbnail-util.ts +126 -5
  115. package/src/util/type-conversion-utils.spec.ts +25 -25
  116. package/src/util/type-conversion-utils.ts +10 -9
  117. package/src/util/type-defaults.spec.ts +668 -668
  118. package/src/util/type-defaults.ts +280 -280
  119. package/src/util/type-utils.spec.ts +227 -227
  120. package/src/util/type-utils.ts +144 -144
  121. package/tsconfig.json +28 -26
  122. package/tslint.json +57 -57
  123. package/scripts/output.png +0 -0
  124. package/scripts/test-get-request.ts +0 -35
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setLoggerConfig = void 0;
4
+ const app_framework_1 = require("@contrail/app-framework");
5
+ async function setLoggerConfig(appConfig) {
6
+ let logLevel = app_framework_1.LogLevel.INFO;
7
+ if (!appConfig.logLevel) {
8
+ }
9
+ else if (appConfig.logLevel === 'error') {
10
+ logLevel = app_framework_1.LogLevel.ERROR;
11
+ }
12
+ else if (appConfig.logLevel === 'warn') {
13
+ logLevel = app_framework_1.LogLevel.WARN;
14
+ }
15
+ else if (appConfig.logLevel === 'info') {
16
+ logLevel = app_framework_1.LogLevel.INFO;
17
+ }
18
+ else if (appConfig.logLevel === 'debug') {
19
+ logLevel = app_framework_1.LogLevel.DEBUG;
20
+ }
21
+ else {
22
+ console.log('could not parse log level:', appConfig);
23
+ }
24
+ app_framework_1.Logger.setConfig({ logLevel: logLevel });
25
+ }
26
+ exports.setLoggerConfig = setLoggerConfig;
File without changes
@@ -0,0 +1,205 @@
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
+ LCSProduct: {
36
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
37
+ vibe2flex: {
38
+ getClass: () => 'LCSProduct',
39
+ getSoftType: (entity) => {
40
+ const prodType = entity['prodType'];
41
+ let val = '';
42
+ switch (prodType) {
43
+ case 'acc':
44
+ val = 'Product\\Accesories';
45
+ break;
46
+ case 'app':
47
+ val = 'Product\\Apparel';
48
+ break;
49
+ case 'eqp':
50
+ val = 'Product\\Equipment';
51
+ break;
52
+ case 'foot':
53
+ val = 'Product\\Footwear';
54
+ break;
55
+ }
56
+ return val;
57
+ },
58
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }, { processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' }],
59
+ rekey: {
60
+ productName: 'name',
61
+ vibeIQIdentifier: 'itemNumber'
62
+ },
63
+ valueTransform: {
64
+ transformEx: (row) => {
65
+ return row['otherProp'] + 'xxx';
66
+ }
67
+ }
68
+ },
69
+ flex2vibe: {
70
+ getClass: () => 'item',
71
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
72
+ rekey: {
73
+ itemNumber: 'vibeIQIdentifier',
74
+ name: 'productName',
75
+ }
76
+ }
77
+ },
78
+ LCSSKU: {
79
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
80
+ vibe2flex: {
81
+ getClass: () => 'LCSSKU',
82
+ getSoftType: (entity) => {
83
+ const prodType = entity['prodType'];
84
+ let val = '';
85
+ switch (prodType) {
86
+ case 'acc':
87
+ val = 'Product\\Accesories';
88
+ break;
89
+ case 'app':
90
+ val = 'Product\\Apparel';
91
+ break;
92
+ case 'eqp':
93
+ val = 'Product\\Equipment';
94
+ break;
95
+ case 'foot':
96
+ val = 'Product\\Footwear';
97
+ break;
98
+ }
99
+ return val;
100
+ },
101
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
102
+ rekey: {
103
+ skuName: 'optionName',
104
+ vibeIQIdentifier: 'itemNumber'
105
+ }
106
+ },
107
+ flex2vibe: {
108
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
109
+ rekey: {
110
+ itemNumber: 'vibeIQIdentifier',
111
+ optionName: 'skuName',
112
+ }
113
+ }
114
+ },
115
+ packaging: {
116
+ vibe2flex: {
117
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
118
+ rekey: {
119
+ retailPackType: 'packType',
120
+ retailIntroDate: 'introDate'
121
+ },
122
+ getSoftType: () => 'Revisable Entity\\packaging',
123
+ getClass: () => 'LCSRevisableEntity'
124
+ },
125
+ flex2vibe: {
126
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
127
+ rekey: {
128
+ packType: 'retailPackType',
129
+ introDate: 'retailIntroDate'
130
+ },
131
+ getClass: () => 'custom-entity',
132
+ getSoftType: () => 'custom-entity:pack',
133
+ }
134
+ },
135
+ prefix: {
136
+ vibe2flex: {
137
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
138
+ rekey: {
139
+ retailOwner: 'owner',
140
+ retailIntroDate: 'introDate'
141
+ },
142
+ getSoftType: () => 'Revisable Entity\\prefix',
143
+ getClass: () => 'LCSRevisableEntity'
144
+ },
145
+ flex2vibe: {
146
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
147
+ rekey: {
148
+ owner: 'retailOwner',
149
+ introDate: 'retailIntroDate'
150
+ },
151
+ getClass: () => 'custom-entity',
152
+ getSoftType: () => 'custom-entity:prefix',
153
+ }
154
+ },
155
+ catName: {
156
+ getIdentifierProperties: () => ['catName', 'catNumber'],
157
+ getInformationalProperties: () => ['longName'],
158
+ vibe2flex: {
159
+ transformOrder: [],
160
+ getSoftType: () => 'Revisable Entity\\catName',
161
+ getClass: () => 'LCSLast'
162
+ },
163
+ flex2vibe: {
164
+ transformOrder: [],
165
+ getClass: () => 'custom-entity',
166
+ getSoftType: () => 'custom-entity:catName',
167
+ }
168
+ },
169
+ partnerOrg: {
170
+ vibe2flex: {
171
+ transformOrder: [],
172
+ getSoftType: () => 'Business Object\\partnerOrg',
173
+ getClass: () => 'LCSLifecycleManaged'
174
+ },
175
+ flex2vibe: {
176
+ transformOrder: [],
177
+ getClass: () => 'custom-entity',
178
+ getSoftType: () => 'custom-entity:partnerOrg',
179
+ }
180
+ },
181
+ catFamily: {
182
+ vibe2flex: {
183
+ transformOrder: [],
184
+ getSoftType: () => 'Revisable Entity\\catFamily',
185
+ getClass: () => 'LCSRevisableEntity'
186
+ },
187
+ flex2vibe: {
188
+ transformOrder: [],
189
+ getClass: () => 'custom-entity',
190
+ getSoftType: () => 'custom-entity:catFamily',
191
+ }
192
+ },
193
+ formName: {
194
+ vibe2flex: {
195
+ transformOrder: [],
196
+ getSoftType: () => 'Material\\form',
197
+ getClass: () => 'LCSMaterial'
198
+ },
199
+ flex2vibe: {
200
+ transformOrder: [],
201
+ getClass: () => 'custom-entity',
202
+ getSoftType: () => 'custom-entity:formName',
203
+ }
204
+ },
205
+ };
@@ -0,0 +1,6 @@
1
+ import { MapFileUtil } from '@contrail/transform-data';
2
+ export declare class MapUtil {
3
+ static applyTransformMap(transformMapFile: any, mapFileUtil: any, data: any, mapSectionKey: string, direction: string, transformTaskOrderKey?: string): Promise<any>;
4
+ static getMapKey(transformMapFile: any, mapFileUtil: MapFileUtil, data: any, type: string, direction: string): Promise<string>;
5
+ static getFullMapSection(transformMapFile: string, mapFileUtil: MapFileUtil, mapSectionKey: string): Promise<any>;
6
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MapUtil = void 0;
4
+ class MapUtil {
5
+ static async applyTransformMap(transformMapFile, mapFileUtil, data, mapSectionKey, direction, transformTaskOrderKey = 'transformOrder') {
6
+ return await mapFileUtil.applyTransformMap(transformMapFile, data, mapSectionKey, direction, transformTaskOrderKey);
7
+ }
8
+ static async getMapKey(transformMapFile, mapFileUtil, data, type, direction) {
9
+ return await mapFileUtil.getMapKey(transformMapFile, data, type, direction);
10
+ }
11
+ static async getFullMapSection(transformMapFile, mapFileUtil, mapSectionKey) {
12
+ return await mapFileUtil.getFullMapSection(transformMapFile, mapSectionKey);
13
+ }
14
+ }
15
+ exports.MapUtil = MapUtil;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const maps = require('./map-util-spec-mockData').mapping;
4
+ const mockData = {
5
+ file1: maps
6
+ };
7
+ const mockGetMapFileFunction = jest.fn(async (fileId) => {
8
+ return mockData[fileId];
9
+ });
10
+ const sdk_1 = require("@contrail/sdk");
11
+ const transform_data_1 = require("@contrail/transform-data");
12
+ const map_utils_1 = require("./map-utils");
13
+ describe('getMapKey', () => {
14
+ const transformMapFile = 'file1';
15
+ const mapFileUtil = new transform_data_1.MapFileUtil(new sdk_1.Entities());
16
+ let spy;
17
+ beforeAll(() => {
18
+ spy = jest.spyOn(mapFileUtil, 'getMapFile').mockImplementation(mockGetMapFileFunction);
19
+ });
20
+ beforeEach(() => {
21
+ spy.mockClear();
22
+ });
23
+ afterAll(() => {
24
+ spy.mockRestore();
25
+ });
26
+ it('custom-entity:pack', async () => {
27
+ const entity = {
28
+ typePath: 'custom-entity:pack',
29
+ entityType: 'custom-entity'
30
+ };
31
+ const expectedMapKey = 'packaging';
32
+ const results = await map_utils_1.MapUtil.getMapKey(transformMapFile, mapFileUtil, entity, entity.entityType, 'vibe2flex');
33
+ ;
34
+ expect(results).toEqual(expectedMapKey);
35
+ });
36
+ it('custom-entity:prefix', async () => {
37
+ const entity = {
38
+ typePath: 'custom-entity:prefix',
39
+ entityType: 'custom-entity'
40
+ };
41
+ const expectedMapKey = 'prefix';
42
+ const results = await map_utils_1.MapUtil.getMapKey(transformMapFile, mapFileUtil, entity, entity.entityType, 'vibe2flex');
43
+ ;
44
+ expect(results).toEqual(expectedMapKey);
45
+ });
46
+ it('color - no mapping exists', async () => {
47
+ const entity = {
48
+ typePath: 'color',
49
+ entityType: 'color'
50
+ };
51
+ const expectedMapKey = undefined;
52
+ const results = await map_utils_1.MapUtil.getMapKey(transformMapFile, mapFileUtil, entity, entity.entityType, 'vibe2flex');
53
+ ;
54
+ expect(results).toEqual(expectedMapKey);
55
+ });
56
+ });
57
+ describe('getFullMapSection', () => {
58
+ const transformMapFile = 'file1';
59
+ const mapFileUtil = new transform_data_1.MapFileUtil(new sdk_1.Entities());
60
+ let spy;
61
+ beforeAll(() => {
62
+ spy = jest.spyOn(mapFileUtil, 'getMapFile').mockImplementation(mockGetMapFileFunction);
63
+ });
64
+ beforeEach(() => {
65
+ spy.mockClear();
66
+ });
67
+ afterAll(() => {
68
+ spy.mockRestore();
69
+ });
70
+ it('custom-entity:pack', async () => {
71
+ const mapKey = 'packaging';
72
+ const mapSection = await map_utils_1.MapUtil.getFullMapSection(transformMapFile, mapFileUtil, mapKey);
73
+ expect(mapSection).toHaveProperty('vibe2flex');
74
+ expect(mapSection).toHaveProperty('flex2vibe');
75
+ });
76
+ it('custom-entity:catName', async () => {
77
+ const mapKey = 'catName';
78
+ const mapSection = await map_utils_1.MapUtil.getFullMapSection(transformMapFile, mapFileUtil, mapKey);
79
+ expect(mapSection).toHaveProperty('vibe2flex');
80
+ expect(mapSection).toHaveProperty('flex2vibe');
81
+ expect(mapSection).toHaveProperty('getIdentifierProperties');
82
+ expect(mapSection).toHaveProperty('getInformationalProperties');
83
+ });
84
+ it('color - no mapping exists', async () => {
85
+ const mapKey = 'color';
86
+ const mapSection = await map_utils_1.MapUtil.getFullMapSection(transformMapFile, mapFileUtil, mapKey);
87
+ expect(mapSection).toBeUndefined();
88
+ });
89
+ });
@@ -0,0 +1,80 @@
1
+ export declare const empty_custom_sizes: any[];
2
+ export declare const four_custom_sizes: {
3
+ size: number;
4
+ id: string;
5
+ slug: string;
6
+ name: string;
7
+ }[];
8
+ export declare const thumbnail_content_entity: {
9
+ fileName: string;
10
+ primaryFileId: string;
11
+ primaryFileUrl: string;
12
+ primaryFile: {
13
+ fileName: string;
14
+ id: string;
15
+ size: number;
16
+ };
17
+ tinyViewableId: string;
18
+ tinyViewableUrl: string;
19
+ tinyViewable: {
20
+ fileName: string;
21
+ id: string;
22
+ size: number;
23
+ };
24
+ smallViewableId: string;
25
+ smallViewableUrl: string;
26
+ smallViewable: {
27
+ fileName: string;
28
+ id: string;
29
+ size: number;
30
+ };
31
+ mediumViewableId: string;
32
+ mediumViewableUrl: string;
33
+ mediumViewable: {
34
+ fileName: string;
35
+ id: string;
36
+ size: number;
37
+ };
38
+ largeViewableId: string;
39
+ largeViewableUrl: string;
40
+ largeViewable: {
41
+ fileName: string;
42
+ id: string;
43
+ size: number;
44
+ };
45
+ CS_300Id: string;
46
+ CS_300Url: string;
47
+ CS_300: {
48
+ fileName: string;
49
+ id: string;
50
+ size: number;
51
+ };
52
+ CS_500Id: string;
53
+ CS_500Url: string;
54
+ CS_500: {
55
+ fileName: string;
56
+ id: string;
57
+ size: number;
58
+ };
59
+ CS_800Id: string;
60
+ CS_800Url: string;
61
+ CS_800: {
62
+ fileName: string;
63
+ id: string;
64
+ size: number;
65
+ };
66
+ CS_1000Id: string;
67
+ CS_1000Url: string;
68
+ CS_1000: {
69
+ fileName: string;
70
+ id: string;
71
+ size: number;
72
+ };
73
+ createdOn: string;
74
+ orgId: string;
75
+ id: string;
76
+ contentType: string;
77
+ createdById: string;
78
+ updatedById: string;
79
+ fileSize: number;
80
+ };
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.thumbnail_content_entity = exports.four_custom_sizes = exports.empty_custom_sizes = void 0;
4
+ exports.empty_custom_sizes = [];
5
+ exports.four_custom_sizes = [
6
+ {
7
+ size: 1000,
8
+ id: '-QwFOWnCs0Gb5jkA',
9
+ slug: 'CS_1000',
10
+ name: 'CS_1000'
11
+ },
12
+ {
13
+ size: 300,
14
+ id: 'AKXOowvhJRnkerG8',
15
+ slug: 'CS_300',
16
+ name: 'CS_300'
17
+ },
18
+ {
19
+ size: 500,
20
+ id: '9asQ65N188RIYgnh',
21
+ slug: 'CS_500',
22
+ name: 'CS_500'
23
+ },
24
+ {
25
+ size: 800,
26
+ id: 'xkzhwE4nJ6iRwfvP',
27
+ slug: 'CS_800',
28
+ name: 'CS_800'
29
+ }
30
+ ];
31
+ exports.thumbnail_content_entity = {
32
+ fileName: 'JACKET 300_SOLDIER OLIVE.png',
33
+ primaryFileId: 'yn2d5oHD4rXHRzyB',
34
+ primaryFileUrl: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2Ff646d3cd-e23a-4689-bd16-0301d2036720.png',
35
+ primaryFile: {
36
+ fileName: 'JACKET 300_SOLDIER OLIVE.png',
37
+ id: 'yn2d5oHD4rXHRzyB',
38
+ size: 1757973
39
+ },
40
+ tinyViewableId: '6HWzJrQ-Jx1iefmj',
41
+ tinyViewableUrl: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2Fb68f8652-f33f-452f-ae34-25397b4521eb.png',
42
+ tinyViewable: {
43
+ fileName: 'JACKET 300_SOLDIER OLIVE_tiny.png',
44
+ id: '6HWzJrQ-Jx1iefmj',
45
+ size: 1784
46
+ },
47
+ smallViewableId: 'D3WRW4iRmjLzp5VX',
48
+ smallViewableUrl: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2F541c53f8-fd85-418e-ae28-ad7410658b90.png',
49
+ smallViewable: {
50
+ fileName: 'JACKET 300_SOLDIER OLIVE_small.png',
51
+ id: 'D3WRW4iRmjLzp5VX',
52
+ size: 8699
53
+ },
54
+ mediumViewableId: 'AsRvJenpeqxksUNW',
55
+ mediumViewableUrl: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2Fe803c2d3-3e1b-4d9c-9bb9-2c488f1f295b.png',
56
+ mediumViewable: {
57
+ fileName: 'JACKET 300_SOLDIER OLIVE_medium.png',
58
+ id: 'AsRvJenpeqxksUNW',
59
+ size: 77558
60
+ },
61
+ largeViewableId: 'vo4N4mCd-tFrw101',
62
+ largeViewableUrl: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2Fb1b7a55c-b8ba-4857-be4e-e1c3f11d8e9a.png',
63
+ largeViewable: {
64
+ fileName: 'JACKET 300_SOLDIER OLIVE_large.png',
65
+ id: 'vo4N4mCd-tFrw101',
66
+ size: 1781538
67
+ },
68
+ CS_300Id: '6A5AG33nVu3Z6ogO',
69
+ CS_300Url: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2F3f2ea306-a77f-4cc3-a49a-75fb5d8b113c.png',
70
+ CS_300: {
71
+ fileName: 'JACKET 300_SOLDIER OLIVE_CS_300.png',
72
+ id: '6A5AG33nVu3Z6ogO',
73
+ size: 141153
74
+ },
75
+ CS_500Id: 'rBaHc1J2xdOWdbhI',
76
+ CS_500Url: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2F979c8c65-b63f-4220-aa2e-11520f2f68bf.png',
77
+ CS_500: {
78
+ fileName: 'JACKET 300_SOLDIER OLIVE_CS_500.png',
79
+ id: 'rBaHc1J2xdOWdbhI',
80
+ size: 382057
81
+ },
82
+ CS_800Id: 'ZPAeYI3JiqjQ7unY',
83
+ CS_800Url: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2Fc58eeffa-2592-4698-a058-19281cda447c.png',
84
+ CS_800: {
85
+ fileName: 'JACKET 300_SOLDIER OLIVE_CS_800.png',
86
+ id: 'ZPAeYI3JiqjQ7unY',
87
+ size: 1008702
88
+ },
89
+ CS_1000Id: 'Hg_CthwsD4ozopCb',
90
+ CS_1000Url: 'https://api.vibeiq.com/prod/api/files/downloadUrl/5LZnKVTNxvwMqufy%2Fcontent:cuRficeyoStwTF-f%2F2c827c7b-361b-4e05-b77d-4280294f9d9c.png',
91
+ CS_1000: {
92
+ fileName: 'JACKET 300_SOLDIER OLIVE_CS_1000.png',
93
+ id: 'Hg_CthwsD4ozopCb',
94
+ size: 1605889
95
+ },
96
+ createdOn: '2023-07-05T15:02:13.950Z',
97
+ orgId: '5LZnKVTNxvwMqufy',
98
+ id: 'cuRficeyoStwTF-f',
99
+ contentType: 'image/png',
100
+ createdById: 'SWIFPZeZzkBvrSLD',
101
+ updatedById: 'SWIFPZeZzkBvrSLD',
102
+ fileSize: 1757973
103
+ };
@@ -0,0 +1,34 @@
1
+ import { FCConfig } from '../interfaces/interfaces';
2
+ interface ContentCustomSize {
3
+ id: string;
4
+ slug: string;
5
+ name: string;
6
+ }
7
+ export declare class ThumbnailUtil {
8
+ private config;
9
+ private max_thumbnail_size;
10
+ private entities;
11
+ static NEW_THUMBNAIL_ID: string;
12
+ static EXISTING_THUMBNAIL_ID: string;
13
+ static REMOVE_THUMBNAIL: string;
14
+ static OOB_SIZES: {
15
+ slug: string;
16
+ }[];
17
+ constructor(config: FCConfig);
18
+ setOutboundThumbnail(data: any, event: any): Promise<any>;
19
+ isThumbnailNew(event: any, customSizes: any[]): boolean;
20
+ getFileId(primaryViewableId: string): Promise<string | undefined>;
21
+ getCustomSizes(): Promise<ContentCustomSize[]>;
22
+ getContentEntity(primaryViewableId: any, sizes: ContentCustomSize[]): Promise<any>;
23
+ logContentResults(content: any, relations: string[]): void;
24
+ syncThumbnailToVibeIQ({ entityId, primaryViewableId, event, entityName }: {
25
+ entityId: string;
26
+ primaryViewableId?: string;
27
+ event: any;
28
+ entityName: string;
29
+ }): Promise<any>;
30
+ private createContentFromFlexPLM;
31
+ private getPrimaryViewableUpdates;
32
+ private getClearPrimaryViewableUpdates;
33
+ }
34
+ export {};