@contrail/flexplm 1.3.0 → 1.3.1-alpha.3e8dbdd
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/lib/cli/commands/compile.d.ts +1 -0
- package/lib/cli/commands/compile.js +71 -0
- package/lib/cli/commands/compile.spec.d.ts +1 -0
- package/lib/cli/commands/compile.spec.js +80 -0
- package/lib/cli/commands/create.d.ts +1 -0
- package/lib/cli/commands/create.js +75 -0
- package/lib/cli/commands/create.spec.d.ts +1 -0
- package/lib/cli/commands/create.spec.js +78 -0
- package/lib/cli/commands/upload.d.ts +10 -0
- package/lib/cli/commands/upload.js +226 -0
- package/lib/cli/commands/upload.spec.d.ts +1 -0
- package/lib/cli/commands/upload.spec.js +88 -0
- package/lib/cli/index.d.ts +2 -0
- package/lib/cli/index.js +64 -0
- package/lib/cli/index.spec.d.ts +1 -0
- package/lib/cli/index.spec.js +79 -0
- package/lib/cli/template/mapping-template.ts.template +62 -0
- package/lib/entity-processor/base-entity-processor.d.ts +89 -42
- package/lib/entity-processor/base-entity-processor.js +438 -385
- package/lib/entity-processor/base-entity-processor.spec.d.ts +1 -1
- package/lib/entity-processor/base-entity-processor.spec.js +398 -397
- package/lib/flexplm-request.d.ts +3 -3
- package/lib/flexplm-request.js +34 -34
- package/lib/flexplm-utils.d.ts +5 -5
- package/lib/flexplm-utils.js +33 -33
- package/lib/flexplm-utils.spec.d.ts +1 -1
- package/lib/flexplm-utils.spec.js +26 -26
- package/lib/index.d.ts +23 -22
- package/lib/index.js +39 -38
- package/lib/interfaces/interfaces.d.ts +105 -105
- package/lib/interfaces/interfaces.js +2 -2
- package/lib/interfaces/item-family-changes.d.ts +20 -20
- package/lib/interfaces/item-family-changes.js +56 -56
- package/lib/interfaces/mapping-file.d.ts +460 -0
- package/lib/interfaces/mapping-file.js +2 -0
- package/lib/interfaces/publish-change-data.d.ts +19 -19
- package/lib/interfaces/publish-change-data.js +32 -32
- package/lib/publish/base-process-publish-assortment-callback.d.ts +9 -9
- package/lib/publish/base-process-publish-assortment-callback.js +38 -38
- package/lib/publish/base-process-publish-assortment.d.ts +118 -93
- package/lib/publish/base-process-publish-assortment.js +998 -944
- package/lib/publish/base-process-publish-assortment.spec.d.ts +1 -1
- package/lib/publish/base-process-publish-assortment.spec.js +1688 -1670
- package/lib/publish/mockData.d.ts +1389 -1389
- package/lib/publish/mockData.js +4524 -4519
- package/lib/transform/identifier-conversion-spec-mockData.js +472 -444
- package/lib/transform/identifier-conversion.d.ts +51 -15
- package/lib/transform/identifier-conversion.js +248 -212
- package/lib/transform/identifier-conversion.spec.d.ts +1 -1
- package/lib/transform/identifier-conversion.spec.js +343 -339
- package/lib/util/config-defaults.d.ts +8 -8
- package/lib/util/config-defaults.js +88 -85
- package/lib/util/config-defaults.spec.d.ts +1 -1
- package/lib/util/config-defaults.spec.js +302 -293
- package/lib/util/data-converter-spec-mockData.js +219 -205
- package/lib/util/data-converter.d.ts +136 -39
- package/lib/util/data-converter.js +718 -592
- package/lib/util/data-converter.spec.d.ts +1 -1
- package/lib/util/data-converter.spec.js +906 -904
- package/lib/util/error-response-object.d.ts +9 -4
- package/lib/util/error-response-object.js +54 -47
- package/lib/util/error-response-object.spec.d.ts +1 -1
- package/lib/util/error-response-object.spec.js +99 -99
- package/lib/util/event-short-message-status.d.ts +19 -19
- package/lib/util/event-short-message-status.js +24 -23
- package/lib/util/federation.d.ts +15 -15
- package/lib/util/federation.js +157 -149
- package/lib/util/flexplm-connect.d.ts +29 -22
- package/lib/util/flexplm-connect.js +190 -176
- package/lib/util/flexplm-connect.spec.d.ts +1 -1
- package/lib/util/flexplm-connect.spec.js +88 -88
- package/lib/util/logger-config.d.ts +1 -1
- package/lib/util/logger-config.js +27 -26
- package/lib/util/map-util-spec-mockData.js +219 -205
- package/lib/util/map-utils.d.ts +33 -6
- package/lib/util/map-utils.js +42 -15
- package/lib/util/map-utils.spec.d.ts +1 -1
- package/lib/util/map-utils.spec.js +89 -89
- package/lib/util/mockData.d.ts +80 -80
- package/lib/util/mockData.js +103 -103
- package/lib/util/thumbnail-util.d.ts +55 -34
- package/lib/util/thumbnail-util.js +242 -215
- package/lib/util/thumbnail-util.spec.d.ts +1 -1
- package/lib/util/thumbnail-util.spec.js +440 -434
- package/lib/util/type-conversion-utils-spec-mockData.js +259 -259
- package/lib/util/type-conversion-utils.d.ts +163 -23
- package/lib/util/type-conversion-utils.js +408 -265
- package/lib/util/type-conversion-utils.spec.d.ts +1 -1
- package/lib/util/type-conversion-utils.spec.js +868 -868
- package/lib/util/type-defaults.d.ts +74 -16
- package/lib/util/type-defaults.js +279 -221
- package/lib/util/type-defaults.spec.d.ts +1 -1
- package/lib/util/type-defaults.spec.js +516 -516
- package/lib/util/type-utils.d.ts +34 -13
- package/lib/util/type-utils.js +137 -114
- package/lib/util/type-utils.spec.d.ts +1 -1
- package/lib/util/type-utils.spec.js +192 -190
- package/package.json +21 -6
- package/scripts/copy-template.js +10 -0
- package/.claude/settings.local.json +0 -8
- package/.github/pull_request_template.md +0 -31
- package/.github/workflows/flexplm-lib.yml +0 -27
- package/.github/workflows/publish-to-npm.yml +0 -124
- package/CHANGELOG.md +0 -32
- package/publish.bat +0 -5
- package/publish.sh +0 -5
- package/src/entity-processor/base-entity-processor.spec.ts +0 -460
- package/src/entity-processor/base-entity-processor.ts +0 -515
- package/src/flexplm-request.ts +0 -28
- package/src/flexplm-utils.spec.ts +0 -27
- package/src/flexplm-utils.ts +0 -29
- package/src/index.ts +0 -22
- package/src/interfaces/interfaces.ts +0 -122
- package/src/interfaces/item-family-changes.ts +0 -67
- package/src/interfaces/publish-change-data.ts +0 -43
- package/src/publish/base-process-publish-assortment-callback.ts +0 -50
- package/src/publish/base-process-publish-assortment.spec.ts +0 -1992
- package/src/publish/base-process-publish-assortment.ts +0 -1134
- package/src/publish/mockData.ts +0 -4561
- package/src/transform/identifier-conversion-spec-mockData.ts +0 -496
- package/src/transform/identifier-conversion.spec.ts +0 -354
- package/src/transform/identifier-conversion.ts +0 -282
- package/src/util/config-defaults.spec.ts +0 -350
- package/src/util/config-defaults.ts +0 -93
- package/src/util/data-converter-spec-mockData.ts +0 -231
- package/src/util/data-converter.spec.ts +0 -1041
- package/src/util/data-converter.ts +0 -762
- package/src/util/error-response-object.spec.ts +0 -116
- package/src/util/error-response-object.ts +0 -50
- package/src/util/event-short-message-status.ts +0 -22
- package/src/util/federation.ts +0 -172
- package/src/util/flexplm-connect.spec.ts +0 -132
- package/src/util/flexplm-connect.ts +0 -208
- package/src/util/logger-config.ts +0 -20
- package/src/util/map-util-spec-mockData.ts +0 -231
- package/src/util/map-utils.spec.ts +0 -103
- package/src/util/map-utils.ts +0 -41
- package/src/util/mockData.ts +0 -101
- package/src/util/thumbnail-util.spec.ts +0 -508
- package/src/util/thumbnail-util.ts +0 -272
- package/src/util/type-conversion-utils-spec-mockData.ts +0 -271
- package/src/util/type-conversion-utils.spec.ts +0 -968
- package/src/util/type-conversion-utils.ts +0 -460
- package/src/util/type-defaults.spec.ts +0 -669
- package/src/util/type-defaults.ts +0 -281
- package/src/util/type-utils.spec.ts +0 -227
- package/src/util/type-utils.ts +0 -144
- package/tsconfig.json +0 -29
- package/tslint.json +0 -57
package/lib/util/type-utils.d.ts
CHANGED
|
@@ -1,13 +1,34 @@
|
|
|
1
|
-
import { TypeClientOptions } from '@contrail/sdk';
|
|
2
|
-
import { TypeProperty } from '@contrail/types';
|
|
3
|
-
export declare class TypeUtils {
|
|
4
|
-
private typesObj;
|
|
5
|
-
constructor();
|
|
6
|
-
getTypeById(id: any): Promise<import("@contrail/types").Type>;
|
|
7
|
-
getByRootAndPath(options: TypeClientOptions): Promise<import("@contrail/types").Type>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { TypeClientOptions } from '@contrail/sdk';
|
|
2
|
+
import { TypeProperty } from '@contrail/types';
|
|
3
|
+
export declare class TypeUtils {
|
|
4
|
+
private typesObj;
|
|
5
|
+
constructor();
|
|
6
|
+
getTypeById(id: any): Promise<import("@contrail/types").Type>;
|
|
7
|
+
getByRootAndPath(options: TypeClientOptions): Promise<import("@contrail/types").Type>;
|
|
8
|
+
/** Deprecated: use TypeConversionUtils.getObjectTypePath() */
|
|
9
|
+
static getFlexPLMTypePath(entity: any): any;
|
|
10
|
+
/** Deprecated: use TypeConversionUtils.getObjectClass()
|
|
11
|
+
*
|
|
12
|
+
* @param entityType
|
|
13
|
+
* @param newData
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
getEventObjectClass(entityType: string, newData: any): string;
|
|
17
|
+
/** Gets the VibeIQ entity type for the object data
|
|
18
|
+
* @param data: object data
|
|
19
|
+
*/
|
|
20
|
+
getEntityTypeClientOptionsUsingMapping(transformMapFile: any, mapFileUtil: any, data: any): Promise<TypeClientOptions>;
|
|
21
|
+
/** Gets the VibeIQ entity type for the object data
|
|
22
|
+
* @param objectClass: string object class
|
|
23
|
+
* @param data: object data
|
|
24
|
+
*/
|
|
25
|
+
getEntityTypeClientOptions(objectClass: string, data: any): TypeClientOptions;
|
|
26
|
+
/** This will filter the properties based the newData entity.
|
|
27
|
+
* It is assumed the type is correct for the entity
|
|
28
|
+
*
|
|
29
|
+
* @param type entire type object
|
|
30
|
+
* @param newData the entity being processed
|
|
31
|
+
* @returns TypeProperty[] of applicable properties
|
|
32
|
+
*/
|
|
33
|
+
filterTypeProperties(type: any, newData: any): TypeProperty[];
|
|
34
|
+
}
|
package/lib/util/type-utils.js
CHANGED
|
@@ -1,114 +1,137 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TypeUtils = void 0;
|
|
4
|
-
const app_framework_1 = require("@contrail/app-framework");
|
|
5
|
-
const sdk_1 = require("@contrail/sdk");
|
|
6
|
-
const type_conversion_utils_1 = require("./type-conversion-utils");
|
|
7
|
-
class TypeUtils {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.typesObj = new sdk_1.Types();
|
|
10
|
-
}
|
|
11
|
-
async getTypeById(id) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (newData.roles.includes('family')) {
|
|
37
|
-
objectClass = '
|
|
38
|
-
}
|
|
39
|
-
else if (newData.roles.includes('color')) {
|
|
40
|
-
objectClass = '
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else if ('
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
tco = {
|
|
79
|
-
root: '
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeUtils = void 0;
|
|
4
|
+
const app_framework_1 = require("@contrail/app-framework");
|
|
5
|
+
const sdk_1 = require("@contrail/sdk");
|
|
6
|
+
const type_conversion_utils_1 = require("./type-conversion-utils");
|
|
7
|
+
class TypeUtils {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.typesObj = new sdk_1.Types();
|
|
10
|
+
}
|
|
11
|
+
async getTypeById(id) {
|
|
12
|
+
// this.logger.log('!-getTypeById: ' + id);
|
|
13
|
+
const type = await this.typesObj.getType({
|
|
14
|
+
id,
|
|
15
|
+
relations: ['typeProperties', 'typeInterfaces']
|
|
16
|
+
});
|
|
17
|
+
return type;
|
|
18
|
+
}
|
|
19
|
+
async getByRootAndPath(options) {
|
|
20
|
+
const type = await this.typesObj.getByRootAndPath(options);
|
|
21
|
+
return type;
|
|
22
|
+
}
|
|
23
|
+
/** Deprecated: use TypeConversionUtils.getObjectTypePath() */
|
|
24
|
+
static getFlexPLMTypePath(entity) {
|
|
25
|
+
return entity['flexPLMTypePath'] || entity['flexTypePath'] || '';
|
|
26
|
+
}
|
|
27
|
+
/** Deprecated: use TypeConversionUtils.getObjectClass()
|
|
28
|
+
*
|
|
29
|
+
* @param entityType
|
|
30
|
+
* @param newData
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
getEventObjectClass(entityType, newData) {
|
|
34
|
+
let objectClass = '';
|
|
35
|
+
if ('item' === entityType) {
|
|
36
|
+
if (newData.roles.includes('family')) {
|
|
37
|
+
objectClass = 'LCSProduct';
|
|
38
|
+
}
|
|
39
|
+
else if (newData.roles.includes('color')) {
|
|
40
|
+
objectClass = 'LCSSKU';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else if ('project-item' === entityType) {
|
|
44
|
+
if (newData.roles.includes('family')) {
|
|
45
|
+
objectClass = 'LCSProductSeasonLink';
|
|
46
|
+
}
|
|
47
|
+
else if (newData.roles.includes('color')) {
|
|
48
|
+
objectClass = 'LCSSKUSeasonLink';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if ('color' === entityType) {
|
|
52
|
+
objectClass = 'LCSColor';
|
|
53
|
+
}
|
|
54
|
+
else if ('custom-entity' === entityType) {
|
|
55
|
+
objectClass = 'LCSRevisableEntity';
|
|
56
|
+
}
|
|
57
|
+
return objectClass;
|
|
58
|
+
}
|
|
59
|
+
/** Gets the VibeIQ entity type for the object data
|
|
60
|
+
* @param data: object data
|
|
61
|
+
*/
|
|
62
|
+
async getEntityTypeClientOptionsUsingMapping(transformMapFile, mapFileUtil, data) {
|
|
63
|
+
const root = await type_conversion_utils_1.TypeConversionUtils.getEntityClassFromObject(transformMapFile, mapFileUtil, data);
|
|
64
|
+
const path = await type_conversion_utils_1.TypeConversionUtils.getEntityTypePathFromOjbect(transformMapFile, mapFileUtil, data);
|
|
65
|
+
let tco = {
|
|
66
|
+
root,
|
|
67
|
+
path
|
|
68
|
+
};
|
|
69
|
+
return tco;
|
|
70
|
+
}
|
|
71
|
+
/** Gets the VibeIQ entity type for the object data
|
|
72
|
+
* @param objectClass: string object class
|
|
73
|
+
* @param data: object data
|
|
74
|
+
*/
|
|
75
|
+
getEntityTypeClientOptions(objectClass, data) {
|
|
76
|
+
let tco;
|
|
77
|
+
if (['LCSProduct', 'LCSSKU'].includes(objectClass)) {
|
|
78
|
+
tco = {
|
|
79
|
+
root: 'item'
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
else if ('LCSSeason' === objectClass) {
|
|
83
|
+
tco = {
|
|
84
|
+
root: 'assortment'
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
else if ('LCSColor' === objectClass) {
|
|
88
|
+
tco = {
|
|
89
|
+
root: 'color'
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
else if (['LCSBusinessObject', 'LCSRevisableEntity', 'LCSLast'].includes(objectClass)) {
|
|
93
|
+
//TODO need to write logic using mapping file
|
|
94
|
+
tco = {
|
|
95
|
+
root: 'custom-entity'
|
|
96
|
+
};
|
|
97
|
+
console.log('data: ' + data);
|
|
98
|
+
}
|
|
99
|
+
return tco;
|
|
100
|
+
}
|
|
101
|
+
/** This will filter the properties based the newData entity.
|
|
102
|
+
* It is assumed the type is correct for the entity
|
|
103
|
+
*
|
|
104
|
+
* @param type entire type object
|
|
105
|
+
* @param newData the entity being processed
|
|
106
|
+
* @returns TypeProperty[] of applicable properties
|
|
107
|
+
*/
|
|
108
|
+
filterTypeProperties(type, newData) {
|
|
109
|
+
let filteredProps = type['typeProperties'];
|
|
110
|
+
const typePath = type['typePath'];
|
|
111
|
+
const roles = newData['roles'];
|
|
112
|
+
if (typePath && (typePath.startsWith('item') || typePath.startsWith('project-item'))) {
|
|
113
|
+
if (app_framework_1.Logger.isDebugOn()) {
|
|
114
|
+
console.debug('filterTypeProperties():id: ' + newData?.id
|
|
115
|
+
+ ', typePath: ' + typePath
|
|
116
|
+
+ ', newData.roles: ' + newData?.roles);
|
|
117
|
+
}
|
|
118
|
+
if (roles) {
|
|
119
|
+
const isFamily = roles.includes('family');
|
|
120
|
+
if (app_framework_1.Logger.isDebugOn()) {
|
|
121
|
+
console.debug('isFamily: ' + isFamily);
|
|
122
|
+
}
|
|
123
|
+
filteredProps = filteredProps.filter(prop => {
|
|
124
|
+
const propertyLevel = prop.propertyLevel;
|
|
125
|
+
const applies = (isFamily && 'option' != propertyLevel) ||
|
|
126
|
+
(!isFamily && 'family' != propertyLevel);
|
|
127
|
+
return applies;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.error('filterTypeProperties():Entity missing role-id: ' + newData['id']);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return filteredProps;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.TypeUtils = TypeUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|