@contrail/flexplm 1.5.1-alpha.c9b11be → 1.6.0-alpha.6f15d4e
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 +4 -0
- package/lib/cli/commands/compile.js +73 -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 +5 -0
- package/lib/cli/commands/create.js +77 -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 +17 -0
- package/lib/cli/commands/upload.js +228 -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 +5 -0
- package/lib/cli/index.js +70 -0
- package/lib/cli/index.spec.d.ts +1 -0
- package/lib/cli/index.spec.js +85 -0
- package/lib/cli/template/mapping-template.ts.template +62 -0
- package/lib/entity-processor/base-entity-processor.d.ts +65 -0
- package/lib/entity-processor/base-entity-processor.js +71 -0
- package/lib/entity-processor/base-entity-processor.spec.js +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/interfaces/mapping-file.d.ts +460 -0
- package/lib/interfaces/mapping-file.js +2 -0
- package/lib/publish/base-process-publish-assortment.d.ts +25 -1
- package/lib/publish/base-process-publish-assortment.js +67 -48
- package/lib/publish/base-process-publish-assortment.spec.js +22 -143
- package/lib/publish/mockData.js +5 -0
- package/lib/transform/identifier-conversion-spec-mockData.js +34 -6
- package/lib/transform/identifier-conversion.d.ts +36 -0
- package/lib/transform/identifier-conversion.js +36 -0
- package/lib/transform/identifier-conversion.spec.js +4 -0
- package/lib/util/config-defaults.js +3 -0
- package/lib/util/config-defaults.spec.js +9 -0
- package/lib/util/data-converter-spec-mockData.js +17 -3
- package/lib/util/data-converter.d.ts +97 -0
- package/lib/util/data-converter.js +127 -1
- package/lib/util/data-converter.spec.js +2 -0
- package/lib/util/error-response-object.d.ts +5 -0
- package/lib/util/error-response-object.js +7 -0
- package/lib/util/event-short-message-status.js +1 -0
- package/lib/util/federation.js +8 -0
- package/lib/util/flexplm-connect.d.ts +7 -0
- package/lib/util/flexplm-connect.js +14 -0
- package/lib/util/logger-config.js +1 -0
- package/lib/util/map-util-spec-mockData.js +17 -3
- package/lib/util/map-utils.d.ts +27 -0
- package/lib/util/map-utils.js +27 -0
- package/lib/util/thumbnail-util.d.ts +21 -0
- package/lib/util/thumbnail-util.js +28 -1
- package/lib/util/thumbnail-util.spec.js +6 -0
- package/lib/util/type-conversion-utils-spec-mockData.js +3 -3
- package/lib/util/type-conversion-utils.d.ts +151 -0
- package/lib/util/type-conversion-utils.js +154 -0
- package/lib/util/type-defaults.d.ts +66 -0
- package/lib/util/type-defaults.js +66 -0
- package/lib/util/type-defaults.spec.js +5 -5
- package/lib/util/type-utils.d.ts +21 -0
- package/lib/util/type-utils.js +23 -0
- package/lib/util/type-utils.spec.js +2 -0
- package/package.json +21 -6
- package/scripts/copy-template.js +10 -0
- package/.github/pull_request_template.md +0 -31
- package/.github/workflows/flexplm-lib.yml +0 -27
- package/.github/workflows/publish-to-npm.yml +0 -121
- package/CHANGELOG.md +0 -49
- package/publish.bat +0 -5
- package/publish.sh +0 -5
- package/src/entity-processor/base-entity-processor.spec.ts +0 -689
- package/src/entity-processor/base-entity-processor.ts +0 -583
- 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 -2154
- package/src/publish/base-process-publish-assortment.ts +0 -1173
- 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 -386
- package/src/transform/identifier-conversion.ts +0 -282
- package/src/util/config-defaults.spec.ts +0 -445
- package/src/util/config-defaults.ts +0 -106
- package/src/util/data-converter-spec-mockData.ts +0 -231
- package/src/util/data-converter.spec.ts +0 -1622
- package/src/util/data-converter.ts +0 -819
- 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 -272
- package/src/util/type-conversion-utils.spec.ts +0 -1031
- package/src/util/type-conversion-utils.ts +0 -490
- package/src/util/type-defaults.spec.ts +0 -797
- package/src/util/type-defaults.ts +0 -320
- package/src/util/type-utils.spec.ts +0 -227
- package/src/util/type-utils.ts +0 -144
- package/tsconfig.json +0 -24
- package/tslint.json +0 -57
|
@@ -5,9 +5,45 @@ export declare class IdentifierConversion {
|
|
|
5
5
|
static readonly INBOUND_ENTITY_MISSING_IDENIFIER_PROPS = "IdentifierConversion.getEntityCriteriaFromObject(): missing identifier properties: ";
|
|
6
6
|
static readonly MISSING_OBJECT = "IdentifierConversion.getEntityCriteriaFromObject(): missing: object";
|
|
7
7
|
static readonly MISSING_FLEXPLM_OBJECT_CLASS = "IdentifierConversion.getEntityCriteriaFromObject(): missing: flexPLMObjectClass";
|
|
8
|
+
/** Takes in an assortment and returns an object to query for an LCSSeason
|
|
9
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
10
|
+
* @param transformMapFile
|
|
11
|
+
* @param mapFileUtil
|
|
12
|
+
* @param dc
|
|
13
|
+
* @param assortment
|
|
14
|
+
* @param includeInformationKeys defaults true
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
8
17
|
static getSeasonIdentityObject(transformMapFile: string, mapFileUtil: MapFileUtil, dc: DataConverter, assortment: any, includeInformationKeys?: boolean): Promise<SeasonFederation>;
|
|
18
|
+
/** Takes in an assortment and returns an object to query for an SeasonGroup
|
|
19
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
20
|
+
* @param transformMapFile
|
|
21
|
+
* @param mapFileUtil
|
|
22
|
+
* @param dc
|
|
23
|
+
* @param assortment
|
|
24
|
+
* @param includeInformationKeys defaults true
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
9
27
|
static getSeasonGroupIdentityObject(transformMapFile: string, mapFileUtil: MapFileUtil, dc: DataConverter, assortment: any, includeInformationKeys?: boolean): Promise<SeasonGroupFederation>;
|
|
28
|
+
/** Takes in an item and returns an object to query for an LCSProduct
|
|
29
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
30
|
+
* @param transformMapFile
|
|
31
|
+
* @param mapFileUtil
|
|
32
|
+
* @param dc
|
|
33
|
+
* @param assortment
|
|
34
|
+
* @param includeInformationKeys defaults true
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
10
37
|
static getProductIdentityObject(transformMapFile: string, mapFileUtil: MapFileUtil, dc: DataConverter, itemFamilyObject: any, includeInformationKeys?: boolean): Promise<ProductFederation>;
|
|
38
|
+
/** Takes in an item and returns an object to query for an LCSSKU
|
|
39
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
40
|
+
* @param transformMapFile
|
|
41
|
+
* @param mapFileUtil
|
|
42
|
+
* @param dc
|
|
43
|
+
* @param assortment
|
|
44
|
+
* @param includeInformationKeys defaults true
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
11
47
|
static getSKUIdentityObject(transformMapFile: string, mapFileUtil: MapFileUtil, dc: DataConverter, itemObject: any, includeInformationKeys?: boolean): Promise<SkuFederation>;
|
|
12
48
|
static getEntityCriteriaFromObject(transformMapFile: string, mapFileUtil: MapFileUtil, dc: DataConverter, object: any): Promise<any>;
|
|
13
49
|
static getAssortmentCriteriaFromObject(transformMapFile: string, mapFileUtil: MapFileUtil, dc: DataConverter, object: any): Promise<any>;
|
|
@@ -5,6 +5,15 @@ const map_utils_1 = require("../util/map-utils");
|
|
|
5
5
|
const type_conversion_utils_1 = require("../util/type-conversion-utils");
|
|
6
6
|
const event_short_message_status_1 = require("../util/event-short-message-status");
|
|
7
7
|
class IdentifierConversion {
|
|
8
|
+
/** Takes in an assortment and returns an object to query for an LCSSeason
|
|
9
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
10
|
+
* @param transformMapFile
|
|
11
|
+
* @param mapFileUtil
|
|
12
|
+
* @param dc
|
|
13
|
+
* @param assortment
|
|
14
|
+
* @param includeInformationKeys defaults true
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
8
17
|
static async getSeasonIdentityObject(transformMapFile, mapFileUtil, dc, assortment, includeInformationKeys = true) {
|
|
9
18
|
if (!assortment) {
|
|
10
19
|
throw new Error('IdentifierConversion.getSeasonIdentityObject(): assortment must be provided.');
|
|
@@ -49,6 +58,15 @@ class IdentifierConversion {
|
|
|
49
58
|
}
|
|
50
59
|
return seasonObj;
|
|
51
60
|
}
|
|
61
|
+
/** Takes in an assortment and returns an object to query for an SeasonGroup
|
|
62
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
63
|
+
* @param transformMapFile
|
|
64
|
+
* @param mapFileUtil
|
|
65
|
+
* @param dc
|
|
66
|
+
* @param assortment
|
|
67
|
+
* @param includeInformationKeys defaults true
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
52
70
|
static async getSeasonGroupIdentityObject(transformMapFile, mapFileUtil, dc, assortment, includeInformationKeys = true) {
|
|
53
71
|
if (!assortment) {
|
|
54
72
|
throw new Error('IdentifierConversion.getSeasonGroupIdentityObject(): assortment must be provided.');
|
|
@@ -92,6 +110,15 @@ class IdentifierConversion {
|
|
|
92
110
|
}
|
|
93
111
|
return seasonGroupObj;
|
|
94
112
|
}
|
|
113
|
+
/** Takes in an item and returns an object to query for an LCSProduct
|
|
114
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
115
|
+
* @param transformMapFile
|
|
116
|
+
* @param mapFileUtil
|
|
117
|
+
* @param dc
|
|
118
|
+
* @param assortment
|
|
119
|
+
* @param includeInformationKeys defaults true
|
|
120
|
+
* @returns
|
|
121
|
+
*/
|
|
95
122
|
static async getProductIdentityObject(transformMapFile, mapFileUtil, dc, itemFamilyObject, includeInformationKeys = true) {
|
|
96
123
|
if (!itemFamilyObject) {
|
|
97
124
|
throw new Error('IdentifierConversion.getProductIdentityObject(): itemFamilyObject must be provided.');
|
|
@@ -129,6 +156,15 @@ class IdentifierConversion {
|
|
|
129
156
|
.applyTransformMap(transformMapFile, mapFileUtil, prodObj, mapKey, type_conversion_utils_1.TypeConversionUtils.VIBE2FLEX_DIRECTION);
|
|
130
157
|
return prodObj;
|
|
131
158
|
}
|
|
159
|
+
/** Takes in an item and returns an object to query for an LCSSKU
|
|
160
|
+
* This will only return the identifier properties, and information properties if specified.
|
|
161
|
+
* @param transformMapFile
|
|
162
|
+
* @param mapFileUtil
|
|
163
|
+
* @param dc
|
|
164
|
+
* @param assortment
|
|
165
|
+
* @param includeInformationKeys defaults true
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
132
168
|
static async getSKUIdentityObject(transformMapFile, mapFileUtil, dc, itemObject, includeInformationKeys = true) {
|
|
133
169
|
if (!itemObject) {
|
|
134
170
|
throw new Error('IdentifierConversion.getSKUIdentityObject(): itemObject must be provided.');
|
|
@@ -31,9 +31,11 @@ describe('getAssortmentFromObject', () => {
|
|
|
31
31
|
entityValues[key] = value;
|
|
32
32
|
}
|
|
33
33
|
else if (Array.isArray(value)) {
|
|
34
|
+
//multi select
|
|
34
35
|
entityValues[key] = value.map((v) => v.value);
|
|
35
36
|
}
|
|
36
37
|
else if (value.value) {
|
|
38
|
+
//single select
|
|
37
39
|
entityValues[key] = value.value;
|
|
38
40
|
}
|
|
39
41
|
}
|
|
@@ -167,9 +169,11 @@ describe('getItemCriteriaFromObject', () => {
|
|
|
167
169
|
entityValues[key] = value;
|
|
168
170
|
}
|
|
169
171
|
else if (Array.isArray(value)) {
|
|
172
|
+
//multi select
|
|
170
173
|
entityValues[key] = value.map((v) => v.value);
|
|
171
174
|
}
|
|
172
175
|
else if (value.value) {
|
|
176
|
+
//single select
|
|
173
177
|
entityValues[key] = value.value;
|
|
174
178
|
}
|
|
175
179
|
}
|
|
@@ -6,9 +6,11 @@ const util_1 = require("@contrail/util");
|
|
|
6
6
|
const type_defaults_1 = require("./type-defaults");
|
|
7
7
|
class ConfigDefaults {
|
|
8
8
|
static async setConfigDefaults(config) {
|
|
9
|
+
//Validate config
|
|
9
10
|
if (!config.apiHost || !config.userName || !config.password) {
|
|
10
11
|
throw new Error(ConfigDefaults.NEED_CONFIG_VALUES);
|
|
11
12
|
}
|
|
13
|
+
//List will be comma separated list in UI, so convert to array
|
|
12
14
|
if (config?.itemPreDevelopmentLifecycleStages && !(config?.itemPreDevelopmentLifecycleStages instanceof Array)) {
|
|
13
15
|
config.itemPreDevelopmentLifecycleStages = config.itemPreDevelopmentLifecycleStages.split(',');
|
|
14
16
|
}
|
|
@@ -26,6 +28,7 @@ class ConfigDefaults {
|
|
|
26
28
|
const pass = outputConfig.password;
|
|
27
29
|
outputConfig.userName = () => uName;
|
|
28
30
|
outputConfig.password = () => pass;
|
|
31
|
+
//Don't allow overwriting this.
|
|
29
32
|
outputConfig['OOBvibeEventEndpoint'] = '/rfa/vibeiq/vibeEvents';
|
|
30
33
|
type_defaults_1.TypeDefaults.applyConfig(outputConfig);
|
|
31
34
|
console.log('outputConfig: ' + JSON.stringify(outputConfig));
|
|
@@ -22,11 +22,13 @@ describe('all tests', () => {
|
|
|
22
22
|
describe('setConfigDefaults - required values', () => {
|
|
23
23
|
it('missing apiHost', async () => {
|
|
24
24
|
const config = {
|
|
25
|
+
//apiHost: 'http://test.com',
|
|
25
26
|
userName: 'vibeiq',
|
|
26
27
|
password: 'vibeiq',
|
|
27
28
|
plmEnviornment: 'SB'
|
|
28
29
|
};
|
|
29
30
|
try {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars
|
|
30
32
|
const fcConfig = await config_defaults_1.ConfigDefaults.setConfigDefaults(config);
|
|
31
33
|
}
|
|
32
34
|
catch (e) {
|
|
@@ -36,10 +38,12 @@ describe('all tests', () => {
|
|
|
36
38
|
it('missing userName', async () => {
|
|
37
39
|
const config = {
|
|
38
40
|
apiHost: 'http://test.com',
|
|
41
|
+
//userName: 'vibeiq',
|
|
39
42
|
password: 'vibeiq',
|
|
40
43
|
plmEnviornment: 'SB'
|
|
41
44
|
};
|
|
42
45
|
try {
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars
|
|
43
47
|
const fcConfig = await config_defaults_1.ConfigDefaults.setConfigDefaults(config);
|
|
44
48
|
}
|
|
45
49
|
catch (e) {
|
|
@@ -50,9 +54,11 @@ describe('all tests', () => {
|
|
|
50
54
|
const config = {
|
|
51
55
|
apiHost: 'http://test.com',
|
|
52
56
|
userName: 'vibeiq',
|
|
57
|
+
//password: 'vibeiq',
|
|
53
58
|
plmEnviornment: 'SB'
|
|
54
59
|
};
|
|
55
60
|
try {
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars
|
|
56
62
|
const fcConfig = await config_defaults_1.ConfigDefaults.setConfigDefaults(config);
|
|
57
63
|
}
|
|
58
64
|
catch (e) {
|
|
@@ -64,8 +70,10 @@ describe('all tests', () => {
|
|
|
64
70
|
apiHost: 'http://test.com',
|
|
65
71
|
userName: 'vibeiq',
|
|
66
72
|
password: 'vibeiq',
|
|
73
|
+
//plmEnviornment: 'SB'
|
|
67
74
|
};
|
|
68
75
|
try {
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars
|
|
69
77
|
const fcConfig = await config_defaults_1.ConfigDefaults.setConfigDefaults(config);
|
|
70
78
|
}
|
|
71
79
|
catch (e) {
|
|
@@ -216,6 +224,7 @@ describe('all tests', () => {
|
|
|
216
224
|
const startConfig = Object.assign({}, config);
|
|
217
225
|
const objectClass = 'LCSSeason';
|
|
218
226
|
const expectedAtts = ['flexPLMSeasonName'];
|
|
227
|
+
// const expectedAtts =['seasonType', 'seasonYear'];
|
|
219
228
|
const fcConfig = await config_defaults_1.ConfigDefaults.setConfigDefaults(startConfig);
|
|
220
229
|
const identifierAtts = fcConfig.identifierAtts[objectClass];
|
|
221
230
|
expect(identifierAtts instanceof Array).toBeTruthy();
|
|
@@ -31,12 +31,26 @@ exports.mapping = {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
// flex2vibe: {
|
|
35
|
+
// LCSRevisableEntity: {
|
|
36
|
+
// getMapKey: (object) =>{ return object;}
|
|
37
|
+
// },
|
|
38
|
+
// LCSLast: {
|
|
39
|
+
// getMapKey: (object) => {return object;}
|
|
40
|
+
// },
|
|
41
|
+
// LCSMaterial: {
|
|
42
|
+
// getMapKey: (object) =>{ return object;}
|
|
43
|
+
// },
|
|
44
|
+
// LCSBusinessObject: {
|
|
45
|
+
// getMapKey: (object) => {return object;}
|
|
46
|
+
// }
|
|
47
|
+
// },
|
|
34
48
|
},
|
|
35
49
|
LCSProduct: {
|
|
36
50
|
vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
|
|
37
51
|
vibe2flex: {
|
|
38
52
|
getClass: () => 'LCSProduct',
|
|
39
|
-
getSoftType: (entity) => {
|
|
53
|
+
getSoftType: (entity /*, dependencies*/) => {
|
|
40
54
|
const prodType = entity['prodType'];
|
|
41
55
|
let val = '';
|
|
42
56
|
switch (prodType) {
|
|
@@ -61,7 +75,7 @@ exports.mapping = {
|
|
|
61
75
|
vibeIQIdentifier: 'itemNumber'
|
|
62
76
|
},
|
|
63
77
|
valueTransform: {
|
|
64
|
-
transformEx: (row) => {
|
|
78
|
+
transformEx: (row /*, dependencies*/) => {
|
|
65
79
|
return row['otherProp'] + 'xxx';
|
|
66
80
|
}
|
|
67
81
|
}
|
|
@@ -79,7 +93,7 @@ exports.mapping = {
|
|
|
79
93
|
vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
|
|
80
94
|
vibe2flex: {
|
|
81
95
|
getClass: () => 'LCSSKU',
|
|
82
|
-
getSoftType: (entity) => {
|
|
96
|
+
getSoftType: (entity /*, dependencies*/) => {
|
|
83
97
|
const prodType = entity['prodType'];
|
|
84
98
|
let val = '';
|
|
85
99
|
switch (prodType) {
|
|
@@ -19,26 +19,123 @@ export declare class DataConverter {
|
|
|
19
19
|
getFlexPLMObjectDataFromEvent(event: any, dataToSkip: string[]): Promise<{}>;
|
|
20
20
|
getFlexPLMObjectData(newData: any, dataToSkip: string[], inflateObjRef: boolean): Promise<{}>;
|
|
21
21
|
getFlexPLMValue(prop: any, newData: any, inflateObjRef: boolean): Promise<any>;
|
|
22
|
+
/** Returns the display values for list properties (choice & multi_select)
|
|
23
|
+
*
|
|
24
|
+
* @param prop
|
|
25
|
+
* @param newData
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
22
28
|
getEnumerationValue(prop: any, nd: any): any;
|
|
23
29
|
getObjectReferenceValue(prop: any, newData: any, inflateObjRef?: boolean): Promise<any>;
|
|
30
|
+
/** (Deprecated) Use TypeConversionUtils.getMapKey()
|
|
31
|
+
* Will return the class to use to get mapping.
|
|
32
|
+
* This is needed because mappings will be different for different sub types
|
|
33
|
+
* of custom-entity
|
|
34
|
+
*
|
|
35
|
+
* @param obj: Entity being checked
|
|
36
|
+
* @param mapping: The whole mapping file
|
|
37
|
+
*/
|
|
24
38
|
getMappingClass(entity: object, mapping: any): string;
|
|
39
|
+
/** Sets entity values from FlexPLM data passed in
|
|
40
|
+
* Assumes the entity has a VibeIQ typeId and 'roles' value to filter if necessary.
|
|
41
|
+
* @param entity the entity to update
|
|
42
|
+
* @param data the FlexPLM data
|
|
43
|
+
* @param keysToSkip properties to skip
|
|
44
|
+
* @returns the modified entity with VibeIQ values
|
|
45
|
+
*/
|
|
25
46
|
setEntityValues(entity: any, data: any, keysToSkip?: string[]): Promise<any>;
|
|
47
|
+
/** Gets the entity values from FlexPLM data
|
|
48
|
+
* Assumes there isn't a VibeIQ typeId, so uses FlexPLM data to determine type
|
|
49
|
+
* @param objectClass FlexPLM object class
|
|
50
|
+
* @param data object data
|
|
51
|
+
* @param keysToSkip type properties to not process
|
|
52
|
+
* @returns object with VibeIQ values
|
|
53
|
+
*/
|
|
26
54
|
getEntityValues(objectClass: string, data: any, keysToSkip?: string[]): Promise<{}>;
|
|
55
|
+
/** Gets the VibeIQ value for the property from data
|
|
56
|
+
*
|
|
57
|
+
* @param prop the VibeIQ property
|
|
58
|
+
* @param data the FlexPLM data
|
|
59
|
+
* @returns value to be set in VibeIQ
|
|
60
|
+
*/
|
|
27
61
|
getEntityValue(prop: any, data: any): Promise<any>;
|
|
28
62
|
setEnumerationKeys(prop: any, nd: any, matchByDisplay: any): any;
|
|
63
|
+
/** Compares the potential changes to the entity and returns only the actual differences.
|
|
64
|
+
*
|
|
65
|
+
* @param entity the full entity
|
|
66
|
+
* @param changes the potential changes
|
|
67
|
+
* @returns only the change values that are different from the entity's value
|
|
68
|
+
*/
|
|
29
69
|
getPersistableChanges(entity: object, changes: object): object;
|
|
70
|
+
/** Sets object reference value from FlexPLM data passed in
|
|
71
|
+
*
|
|
72
|
+
* @param prop the VibeIQ property
|
|
73
|
+
* @param nd the VibeIQ data
|
|
74
|
+
* @returns the object reference id from VibeIQ
|
|
75
|
+
*/
|
|
30
76
|
setObjectReferenceValue(prop: any, nd: any): Promise<any>;
|
|
31
77
|
private applyInboundTransformMap;
|
|
32
78
|
private buildObjectReferenceContext;
|
|
33
79
|
private lookupObjectReferenceViaIdentityService;
|
|
34
80
|
private lookupObjectReferenceViaQuery;
|
|
35
81
|
private pickSingleResult;
|
|
82
|
+
/**
|
|
83
|
+
* Retrieves all object references of a specified entity type based on the provided criteria.
|
|
84
|
+
* This function handles pagination and asynchronously fetches object references until there are no more pages.
|
|
85
|
+
* @param {string} entityType - The type of entity for which object references are to be retrieved.
|
|
86
|
+
* @param {object} rootTypeCriteria - The criteria used to filter object references.
|
|
87
|
+
* @returns {Promise<Array>} A Promise that resolves to an array containing all object references.
|
|
88
|
+
*/
|
|
36
89
|
getAllObjectReferences(entityType: string, rootTypeCriteria: any, postProcessCriteria?: any): Promise<any[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Checks if all keys and values of a given object are present in an array of objects.
|
|
92
|
+
* @param {Object} criteria - The object whose keys and values are to be checked in the array of objects.
|
|
93
|
+
* @param {Array<Object>} arrayOfObjects - The array of objects to be searched for matching keys and values.
|
|
94
|
+
* @param {string} entityTypePath - The type / subtype for the property; objects must be this type or a sub type of it.
|
|
95
|
+
* @returns {(Object|boolean)} Returns the array of objects that matches all keys and values of the provided object.
|
|
96
|
+
* If no match is found, returns empty array.
|
|
97
|
+
*/
|
|
37
98
|
checkKeysAndValues(criteria: any, arrayOfObjects: any, entityTypePath: any): any[];
|
|
99
|
+
/** Filters out archived and trashed entities from the provided array of entities.
|
|
100
|
+
*
|
|
101
|
+
* @param entities
|
|
102
|
+
* @returns
|
|
103
|
+
*/
|
|
38
104
|
filterOutArchivedAndTrashedEntities(entities: any[]): any[];
|
|
105
|
+
/** Sets userListId value from FlexPLM data passed in
|
|
106
|
+
*
|
|
107
|
+
* @param prop the VibeIQ property
|
|
108
|
+
* @param nd the VibeIQ data
|
|
109
|
+
* @returns the modified entity with FlexPLM values
|
|
110
|
+
*/
|
|
39
111
|
setUserListValue(prop: any, nd: any): Promise<any>;
|
|
112
|
+
/** Makes batch calls of 1000 of user-org entities until
|
|
113
|
+
* it find one with userEmail of passed in nd.email.
|
|
114
|
+
* Maxes out after querying for 15,000 user-org entities
|
|
115
|
+
*
|
|
116
|
+
* @param nd
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
40
119
|
getUserByEmail(nd: any): Promise<any>;
|
|
120
|
+
/** Shows warning if user email address not present in group associated to property
|
|
121
|
+
*
|
|
122
|
+
* @param prop the VibeIQ property
|
|
123
|
+
* @param userEmail user email address
|
|
124
|
+
*/
|
|
41
125
|
processGroupMemberCheck(prop: any, userEmail: any): Promise<void>;
|
|
126
|
+
/** Gets the VibeIQ value for the userList property from data
|
|
127
|
+
*
|
|
128
|
+
* @param prop the VibeIQ property
|
|
129
|
+
* @param newData the FlexPLM data
|
|
130
|
+
* @returns value to be set in VibeIQ
|
|
131
|
+
*/
|
|
42
132
|
getUserListValue(prop: any, newData: any): Promise<any>;
|
|
133
|
+
/** Makes batch calls of 1000 of user-org entities until
|
|
134
|
+
* it find one with user.id of passed in userId.
|
|
135
|
+
* Maxes out after querying for 15,000 user-org entities
|
|
136
|
+
*
|
|
137
|
+
* @param userId
|
|
138
|
+
* @returns
|
|
139
|
+
*/
|
|
43
140
|
getUserById(userId: any): Promise<any>;
|
|
44
141
|
}
|