@contrail/flexplm 1.5.1-alpha.64caad7 → 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.
Files changed (111) hide show
  1. package/lib/cli/commands/compile.d.ts +4 -0
  2. package/lib/cli/commands/compile.js +73 -0
  3. package/lib/cli/commands/compile.spec.d.ts +1 -0
  4. package/lib/cli/commands/compile.spec.js +80 -0
  5. package/lib/cli/commands/create.d.ts +5 -0
  6. package/lib/cli/commands/create.js +77 -0
  7. package/lib/cli/commands/create.spec.d.ts +1 -0
  8. package/lib/cli/commands/create.spec.js +78 -0
  9. package/lib/cli/commands/upload.d.ts +17 -0
  10. package/lib/cli/commands/upload.js +228 -0
  11. package/lib/cli/commands/upload.spec.d.ts +1 -0
  12. package/lib/cli/commands/upload.spec.js +88 -0
  13. package/lib/cli/index.d.ts +5 -0
  14. package/lib/cli/index.js +70 -0
  15. package/lib/cli/index.spec.d.ts +1 -0
  16. package/lib/cli/index.spec.js +85 -0
  17. package/lib/cli/template/mapping-template.ts.template +62 -0
  18. package/lib/entity-processor/base-entity-processor.d.ts +65 -0
  19. package/lib/entity-processor/base-entity-processor.js +71 -0
  20. package/lib/entity-processor/base-entity-processor.spec.js +1 -0
  21. package/lib/index.d.ts +1 -0
  22. package/lib/index.js +1 -0
  23. package/lib/interfaces/mapping-file.d.ts +460 -0
  24. package/lib/interfaces/mapping-file.js +2 -0
  25. package/lib/publish/base-process-publish-assortment.d.ts +25 -1
  26. package/lib/publish/base-process-publish-assortment.js +67 -48
  27. package/lib/publish/base-process-publish-assortment.spec.js +22 -143
  28. package/lib/publish/mockData.js +5 -0
  29. package/lib/transform/identifier-conversion-spec-mockData.js +34 -6
  30. package/lib/transform/identifier-conversion.d.ts +36 -0
  31. package/lib/transform/identifier-conversion.js +36 -0
  32. package/lib/transform/identifier-conversion.spec.js +4 -0
  33. package/lib/util/config-defaults.js +3 -0
  34. package/lib/util/config-defaults.spec.js +9 -0
  35. package/lib/util/data-converter-spec-mockData.js +17 -3
  36. package/lib/util/data-converter.d.ts +97 -0
  37. package/lib/util/data-converter.js +127 -1
  38. package/lib/util/data-converter.spec.js +2 -0
  39. package/lib/util/error-response-object.d.ts +5 -0
  40. package/lib/util/error-response-object.js +7 -0
  41. package/lib/util/event-short-message-status.js +1 -0
  42. package/lib/util/federation.js +8 -0
  43. package/lib/util/flexplm-connect.d.ts +7 -0
  44. package/lib/util/flexplm-connect.js +14 -0
  45. package/lib/util/logger-config.js +1 -0
  46. package/lib/util/map-util-spec-mockData.js +17 -3
  47. package/lib/util/map-utils.d.ts +27 -0
  48. package/lib/util/map-utils.js +27 -0
  49. package/lib/util/thumbnail-util.d.ts +21 -0
  50. package/lib/util/thumbnail-util.js +28 -1
  51. package/lib/util/thumbnail-util.spec.js +6 -0
  52. package/lib/util/type-conversion-utils-spec-mockData.js +3 -3
  53. package/lib/util/type-conversion-utils.d.ts +151 -0
  54. package/lib/util/type-conversion-utils.js +154 -0
  55. package/lib/util/type-defaults.d.ts +66 -0
  56. package/lib/util/type-defaults.js +66 -0
  57. package/lib/util/type-defaults.spec.js +5 -5
  58. package/lib/util/type-utils.d.ts +21 -0
  59. package/lib/util/type-utils.js +23 -0
  60. package/lib/util/type-utils.spec.js +2 -0
  61. package/package.json +21 -6
  62. package/scripts/copy-template.js +10 -0
  63. package/.github/pull_request_template.md +0 -31
  64. package/.github/workflows/flexplm-lib.yml +0 -27
  65. package/.github/workflows/publish-to-npm.yml +0 -121
  66. package/CHANGELOG.md +0 -49
  67. package/publish.bat +0 -5
  68. package/publish.sh +0 -5
  69. package/src/entity-processor/base-entity-processor.spec.ts +0 -689
  70. package/src/entity-processor/base-entity-processor.ts +0 -583
  71. package/src/flexplm-request.ts +0 -28
  72. package/src/flexplm-utils.spec.ts +0 -27
  73. package/src/flexplm-utils.ts +0 -29
  74. package/src/index.ts +0 -22
  75. package/src/interfaces/interfaces.ts +0 -122
  76. package/src/interfaces/item-family-changes.ts +0 -67
  77. package/src/interfaces/publish-change-data.ts +0 -43
  78. package/src/publish/base-process-publish-assortment-callback.ts +0 -50
  79. package/src/publish/base-process-publish-assortment.spec.ts +0 -2154
  80. package/src/publish/base-process-publish-assortment.ts +0 -1173
  81. package/src/publish/mockData.ts +0 -4561
  82. package/src/transform/identifier-conversion-spec-mockData.ts +0 -496
  83. package/src/transform/identifier-conversion.spec.ts +0 -386
  84. package/src/transform/identifier-conversion.ts +0 -282
  85. package/src/util/config-defaults.spec.ts +0 -445
  86. package/src/util/config-defaults.ts +0 -106
  87. package/src/util/data-converter-spec-mockData.ts +0 -231
  88. package/src/util/data-converter.spec.ts +0 -1622
  89. package/src/util/data-converter.ts +0 -819
  90. package/src/util/error-response-object.spec.ts +0 -116
  91. package/src/util/error-response-object.ts +0 -50
  92. package/src/util/event-short-message-status.ts +0 -22
  93. package/src/util/federation.ts +0 -172
  94. package/src/util/flexplm-connect.spec.ts +0 -132
  95. package/src/util/flexplm-connect.ts +0 -208
  96. package/src/util/logger-config.ts +0 -20
  97. package/src/util/map-util-spec-mockData.ts +0 -231
  98. package/src/util/map-utils.spec.ts +0 -103
  99. package/src/util/map-utils.ts +0 -41
  100. package/src/util/mockData.ts +0 -101
  101. package/src/util/thumbnail-util.spec.ts +0 -508
  102. package/src/util/thumbnail-util.ts +0 -272
  103. package/src/util/type-conversion-utils-spec-mockData.ts +0 -272
  104. package/src/util/type-conversion-utils.spec.ts +0 -1031
  105. package/src/util/type-conversion-utils.ts +0 -490
  106. package/src/util/type-defaults.spec.ts +0 -797
  107. package/src/util/type-defaults.ts +0 -320
  108. package/src/util/type-utils.spec.ts +0 -227
  109. package/src/util/type-utils.ts +0 -144
  110. package/tsconfig.json +0 -24
  111. 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
  }