@configura/web-api 2.0.0-alpha.2 → 2.0.0-alpha.20

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 (52) hide show
  1. package/dist/CatalogueAPI.d.ts +73 -43
  2. package/dist/CatalogueAPI.js +37 -2
  3. package/dist/CfgProduct.d.ts +73 -11
  4. package/dist/CfgProduct.js +130 -29
  5. package/dist/CfgReferencePathHelper.d.ts +16 -3
  6. package/dist/CfgReferencePathHelper.js +14 -1
  7. package/dist/ConfigurationConverter.d.ts +13 -4
  8. package/dist/ConfigurationConverter.js +106 -12
  9. package/dist/io/CfgHistoryManager.d.ts +37 -4
  10. package/dist/io/CfgHistoryManager.js +76 -8
  11. package/dist/io/CfgHistoryToProdConfConnector.d.ts +7 -10
  12. package/dist/io/CfgHistoryToProdConfConnector.js +29 -38
  13. package/dist/io/CfgIOManager.d.ts +5 -0
  14. package/dist/io/CfgIOManager.js +20 -1
  15. package/dist/io/CfgIOProdConfConnector.d.ts +21 -17
  16. package/dist/io/CfgIOProdConfConnector.js +54 -37
  17. package/dist/io/CfgIOWarningSupplier.d.ts +4 -0
  18. package/dist/io/CfgIOWarningSupplier.js +1 -0
  19. package/dist/io/CfgObservableStateManager.d.ts +4 -0
  20. package/dist/io/CfgObservableStateManager.js +4 -0
  21. package/dist/io/CfgObservableStateToProdConfConnector.d.ts +4 -4
  22. package/dist/io/CfgObservableStateToProdConfConnector.js +4 -4
  23. package/dist/io/CfgWindowMessageManager.d.ts +2 -2
  24. package/dist/io/CfgWindowMessageManager.js +9 -2
  25. package/dist/io/CfgWindowMessageToProdConfConnector.d.ts +4 -4
  26. package/dist/io/CfgWindowMessageToProdConfConnector.js +4 -4
  27. package/dist/productConfiguration/CfgFeature.d.ts +8 -6
  28. package/dist/productConfiguration/CfgFeature.js +19 -6
  29. package/dist/productConfiguration/CfgOption.d.ts +5 -5
  30. package/dist/productConfiguration/CfgOption.js +11 -5
  31. package/dist/productConfiguration/CfgProductConfiguration.d.ts +27 -15
  32. package/dist/productConfiguration/CfgProductConfiguration.js +54 -21
  33. package/dist/productConfiguration/filters.d.ts +2 -2
  34. package/dist/productConfiguration/productParamsGenerator.d.ts +3 -3
  35. package/dist/productConfiguration/utilitiesProductConfiguration.d.ts +1 -1
  36. package/dist/productConfiguration/utilitiesProductConfiguration.js +11 -4
  37. package/dist/productLoader.d.ts +3 -3
  38. package/dist/syncGroups/SyncGroupsHandler.d.ts +4 -1
  39. package/dist/syncGroups/SyncGroupsHandler.js +6 -2
  40. package/dist/syncGroups/SyncGroupsTransaction.js +34 -21
  41. package/dist/tasks/TaskHandler.d.ts +2 -2
  42. package/dist/tasks/TaskHandler.js +2 -1
  43. package/dist/tests/testData/dummyProductForTest.d.ts +2 -2
  44. package/dist/tests/testData/testDataAdditionalProductInAdditionalProductInProductForTest.js +1 -0
  45. package/dist/tests/testData/testDataCachedGetProduct.js +1 -0
  46. package/dist/tests/testData/testDataCachedPostValidate.js +1 -0
  47. package/dist/tests/testData/testDataProductAggregatedPrice.js +1 -0
  48. package/dist/tests/testData/testDataUpcharge.js +1 -0
  49. package/dist/utilitiesCatalogueData.d.ts +14 -9
  50. package/dist/utilitiesCatalogueData.js +7 -0
  51. package/dist/utilitiesCataloguePermission.d.ts +4 -4
  52. package/package.json +3 -3
@@ -13,6 +13,12 @@ import { SelectionType, } from "../productConfiguration/CfgFeature.js";
13
13
  import { ProductConfigurationBubbleMode, } from "../productConfiguration/CfgOption.js";
14
14
  import { SyncGroupsApplyMode } from "./SyncGroupsApplyMode.js";
15
15
  import { SyncGroupsPathHelper } from "./SyncGroupsPathHelper.js";
16
+ var AffectedLevel;
17
+ (function (AffectedLevel) {
18
+ AffectedLevel[AffectedLevel["None"] = 0] = "None";
19
+ AffectedLevel[AffectedLevel["Initialized"] = 1] = "Initialized";
20
+ AffectedLevel[AffectedLevel["Set"] = 2] = "Set";
21
+ })(AffectedLevel || (AffectedLevel = {}));
16
22
  /**
17
23
  * The Transaction is a transient object used to track all the changes made to the supplied
18
24
  * SyncGroupState as a result of a (normally) single initial event, like when opening a product
@@ -39,7 +45,7 @@ import { SyncGroupsPathHelper } from "./SyncGroupsPathHelper.js";
39
45
  export class SyncGroupsTransaction {
40
46
  constructor(syncState, updateMode, productLoader, original, target, initial) {
41
47
  this._closed = false;
42
- this.affectedSelectOneFeatures = new Set();
48
+ this.affectedSelectOneFeatures = new Map();
43
49
  this.affectedSelectManyOptions = new Set();
44
50
  this.affectedSelectOneSyncGroups = new Set();
45
51
  this.affectedSelectManySyncGroupsAndOptions = new Map();
@@ -104,7 +110,7 @@ export class SyncGroupsTransaction {
104
110
  change = true;
105
111
  switch (feature.selectionType) {
106
112
  case SelectionType.SelectOne:
107
- this.affectedSelectOneFeatures.add(feature);
113
+ this.affectedSelectOneFeatures.set(feature, AffectedLevel.Set);
108
114
  break;
109
115
  case SelectionType.SelectMany:
110
116
  this.affectedSelectManyOptions.add(option);
@@ -266,14 +272,19 @@ export class SyncGroupsTransaction {
266
272
  return __awaiter(this, void 0, void 0, function* () {
267
273
  const feature = featureWithInitial.target;
268
274
  const featureDidJustComeIntoScope = featureWithInitial.initial === undefined;
269
- if (this.affectedSelectOneFeatures.has(feature)) {
270
- // This feature has already changed selection once for this transaction. We expect
271
- // this to happen very rarely, as the algorithm should settle the selection tree
272
- // further and further out. Nevertheless, this safeguard is needed to avoid infinite
273
- // looping if for example the server would return the same data over and over.
275
+ const hasBeenAffectedLevel = this.affectedSelectOneFeatures.get(feature);
276
+ const syncGroupHasBeenUpdated = this.affectedSelectOneSyncGroups.has(syncCode);
277
+ if (hasBeenAffectedLevel === AffectedLevel.Set ||
278
+ (!syncGroupHasBeenUpdated && hasBeenAffectedLevel === AffectedLevel.Initialized)) {
279
+ // A feature can change value for two reasons:
280
+ // 1. The feature did just come into scope and loads from the sync group to set its "defaults"
281
+ // 2. The sync group has updated with a new value
282
+ // The rule is that in one sync group transaction the feature value is allowed to be updated
283
+ // once or twice. Once for initialization and once for new sync group value. But they have to
284
+ // happen in the right order.
274
285
  return "recurseDown";
275
286
  }
276
- if (!featureDidJustComeIntoScope && !this.affectedSelectOneSyncGroups.has(syncCode)) {
287
+ if (!featureDidJustComeIntoScope && !syncGroupHasBeenUpdated) {
277
288
  return "recurseDown";
278
289
  }
279
290
  const currentSyncGroupValue = this.syncState.getForSelectOne(syncCode);
@@ -295,7 +306,7 @@ export class SyncGroupsTransaction {
295
306
  // Do not recurse further as we will change the state and so what is selected now won't be
296
307
  // selected then.
297
308
  yield feature.selectOption(optionToSelect._internal, true, ProductConfigurationBubbleMode.ToRoot);
298
- this.affectedSelectOneFeatures.add(feature);
309
+ this.affectedSelectOneFeatures.set(feature, syncGroupHasBeenUpdated ? AffectedLevel.Set : AffectedLevel.Initialized);
299
310
  productsToValidate.add(feature.parentProduct);
300
311
  return "stop";
301
312
  });
@@ -435,7 +446,7 @@ export class SyncGroupsTransaction {
435
446
  return change;
436
447
  });
437
448
  }
438
- applySelectOneFeature(feature, activeSelectionForce, featureDidJustComeIntoScope) {
449
+ applySelectOneFeature(feature, userInitiated, featureDidJustComeIntoScope) {
439
450
  const selectionType = feature.selectionType;
440
451
  if (selectionType !== SelectionType.SelectOne) {
441
452
  throw new Error("can only be used for selectOne");
@@ -453,7 +464,7 @@ export class SyncGroupsTransaction {
453
464
  // Options with no default are never written
454
465
  return false;
455
466
  }
456
- if (activeSelectionForce) {
467
+ if (userInitiated) {
457
468
  // To make re-apply happen, even if it actually does not update the sync group
458
469
  this.affectedSelectOneSyncGroups.add(syncCode);
459
470
  }
@@ -464,7 +475,7 @@ export class SyncGroupsTransaction {
464
475
  // can not be set to the current sync group value, then it will set in the opposite
465
476
  // direction. Like if the sync group was empty. To avoid bouncing back and forth we will
466
477
  // need to enforce that a sync group can only be updated once per transaction
467
- if (!(activeSelectionForce ||
478
+ if (!(userInitiated ||
468
479
  currentSyncGroupOptionCode === undefined ||
469
480
  (featureDidJustComeIntoScope &&
470
481
  feature.options.every((o) => currentSyncGroupOptionCode !== o.code)))) {
@@ -486,7 +497,7 @@ export class SyncGroupsTransaction {
486
497
  }
487
498
  return change;
488
499
  }
489
- applySelectManyOption(option, activeSelectionForce) {
500
+ applySelectManyOption(option, userInitiated) {
490
501
  const feature = option.parent;
491
502
  if (feature.selectionType !== SelectionType.SelectMany) {
492
503
  throw new Error("can only be used for selectMany");
@@ -500,14 +511,14 @@ export class SyncGroupsTransaction {
500
511
  }
501
512
  const optionSelected = option.selected;
502
513
  const currentSyncGroupValue = this.syncState.getForSelectMany(syncCode, option.code);
503
- if (activeSelectionForce) {
514
+ if (userInitiated) {
504
515
  // To make re-apply happen, even if it actually does not update the sync group
505
516
  this.addSyncGroupAffectedForSelectMany(syncCode, option);
506
517
  }
507
- // We only initialize if the option is selected or we force.
508
- // activeSelectionForce = active selection by the user.
509
- if (!(currentSyncGroupValue === undefined && optionSelected) &&
510
- !(activeSelectionForce && currentSyncGroupValue !== optionSelected)) {
518
+ // We only initialize if the option has not been initiated or if it is userInitiated.
519
+ // userInitiated = active selection by the user.
520
+ if (currentSyncGroupValue !== undefined &&
521
+ !(userInitiated && currentSyncGroupValue !== optionSelected)) {
511
522
  return false;
512
523
  }
513
524
  this.addSyncGroupAffectedForSelectMany(syncCode, option);
@@ -529,7 +540,9 @@ export class SyncGroupsTransaction {
529
540
  }
530
541
  function getAdditionalProducts(product) {
531
542
  const initial = product.initial;
532
- return product.target.additionalProducts.map((childTarget) => {
543
+ return product.target.additionalProducts
544
+ .filter((p) => p.selected)
545
+ .map((childTarget) => {
533
546
  const refKey = childTarget.refKey;
534
547
  const childInitial = initial === null || initial === void 0 ? void 0 : initial.additionalProducts.find((p) => refKey === p.refKey);
535
548
  return {
@@ -558,8 +571,8 @@ function getOptions(feature) {
558
571
  }
559
572
  function pairFeatures(targets, initials) {
560
573
  return targets.map((childTarget) => {
561
- const key = childTarget.key;
562
- const childInitial = initials === null || initials === void 0 ? void 0 : initials.find((f) => key === f.key);
574
+ const code = childTarget.code;
575
+ const childInitial = initials === null || initials === void 0 ? void 0 : initials.find((f) => code === f.code);
563
576
  return {
564
577
  target: childTarget._internal,
565
578
  initial: childInitial === null || childInitial === void 0 ? void 0 : childInitial._internal,
@@ -1,5 +1,5 @@
1
1
  import { Observable, SingleArgCallback } from "@configura/web-utilities";
2
- import { CatalogueAPI, DtoAdditionalProductConfiguration, DtoExportStatus, DtoExportStatusStatus, DtoProductParamsWithLang, DtoRenderStatus, DtoRenderStatusStatus, DtoTargetCameraArgs } from "../CatalogueAPI.js";
2
+ import { CatalogueAPI, DtoAdditionalProductConfiguration, DtoExportStatus, DtoExportStatusStatus, DtoProductParamsWithCidAndLang, DtoRenderStatus, DtoRenderStatusStatus, DtoTargetCameraArgs } from "../CatalogueAPI.js";
3
3
  import { CfgProduct } from "../CfgProduct.js";
4
4
  import { RenderOrExportFormat } from "./formats.js";
5
5
  export declare type TasksChangeNotification = {
@@ -51,7 +51,7 @@ export declare abstract class Task<F extends RenderOrExportFormat> {
51
51
  protected constructor(taskHandler: _TaskHandlerInternal, format: F, product: CfgProduct, getPreviewUrl: (() => Promise<string>) | undefined);
52
52
  protected abstract postInit(): Promise<DtoRenderStatus | DtoExportStatus>;
53
53
  protected abstract pollStatus(): Promise<DtoRenderStatus | DtoExportStatus>;
54
- protected _productParams: DtoProductParamsWithLang;
54
+ protected _productParams: DtoProductParamsWithCidAndLang;
55
55
  protected _apiSelection: DtoAdditionalProductConfiguration;
56
56
  private _status;
57
57
  private _uuid;
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { augmentErrorMessage, Observable } from "@configura/web-utilities";
11
11
  import { dtoExportFormatNames, dtoRenderFormatNames, } from "../CatalogueAPI.js";
12
+ import { convertDtoProductConfToV1 } from "../ConfigurationConverter.js";
12
13
  import { isExportFormat, isRenderFormat } from "./formats.js";
13
14
  export class _TaskHandlerInternal {
14
15
  constructor(api) {
@@ -175,7 +176,7 @@ export class Task {
175
176
  this.taskHandler.removeTask(this);
176
177
  };
177
178
  this._productParams = product.prodParams;
178
- this._apiSelection = product.getApiSelection();
179
+ this._apiSelection = convertDtoProductConfToV1(product.getDtoConf());
179
180
  if (getPreviewUrl !== undefined) {
180
181
  void getPreviewUrl().then((dataUrl) => {
181
182
  this._previewUrl = dataUrl;
@@ -1,5 +1,5 @@
1
- import { DtoCatalogueParamsWithLang } from "../../CatalogueAPI.js";
1
+ import { DtoCatalogueParamsWithCidAndLang } from "../../CatalogueAPI.js";
2
2
  import { CfgProduct } from "../../CfgProduct.js";
3
- export declare const dummyCatId: DtoCatalogueParamsWithLang;
3
+ export declare const dummyCatId: DtoCatalogueParamsWithCidAndLang;
4
4
  export declare const getDummyCfgProduct: () => Promise<CfgProduct>;
5
5
  //# sourceMappingURL=dummyProductForTest.d.ts.map
@@ -254,6 +254,7 @@ export const cfgProductTest = (testFunc, prepFunc) => __awaiter(void 0, void 0,
254
254
  uuid: "",
255
255
  validated: true,
256
256
  productData,
257
+ features: []
257
258
  };
258
259
  collect.pushNotification(`Validate ${params.enterprise} ${params.prdCat} ${params.prdCatVersion} ${params.priceList} ${params.vendor} ${params.partNumber}`);
259
260
  return validateResponse;
@@ -173,6 +173,7 @@ export const cachedProductLoaderTest = () => __awaiter(void 0, void 0, void 0, f
173
173
  uuid: "",
174
174
  validated: true,
175
175
  productData,
176
+ features: []
176
177
  };
177
178
  return validateResponse;
178
179
  }),
@@ -173,6 +173,7 @@ export const cachedProductLoaderTest = () => __awaiter(void 0, void 0, void 0, f
173
173
  uuid: "",
174
174
  validated: true,
175
175
  productData,
176
+ features: [],
176
177
  };
177
178
  validateCounter.count++;
178
179
  return validateResponse;
@@ -176,6 +176,7 @@ export const cfgProductPriceTest = (testFunc, featureOption) => __awaiter(void 0
176
176
  uuid: "",
177
177
  validated: true,
178
178
  productData,
179
+ features: [],
179
180
  };
180
181
  return validateResponse;
181
182
  }),
@@ -99,6 +99,7 @@ export const getUpchargeProduct = (testFunc) => __awaiter(void 0, void 0, void 0
99
99
  uuid: "",
100
100
  validated: true,
101
101
  productData,
102
+ features: [],
102
103
  };
103
104
  return validateResponse;
104
105
  }),
@@ -1,12 +1,12 @@
1
- import { DtoAdditionalProductRef, DtoCatalogueParams, DtoCatalogueParamsWithLang, DtoCatalogueParamsWithoutCid, DtoMeasureParam, DtoModel, DtoOrientation, DtoPartsData, DtoPrices, DtoProductData, DtoProductParams, DtoProductParamsWithLang, DtoProductResponse, DtoSelectedOption, DtoTransform, DtoValidateResponse, DtoVector } from "./CatalogueAPI.js";
1
+ import { DtoAdditionalProductRef, DtoCatalogueParams, DtoCatalogueParamsWithCid, DtoCatalogueParamsWithCidAndLang, DtoMeasureParam, DtoModel, DtoOrientation, DtoPartsData, DtoPrices, DtoProductData, DtoProductParamsWithCid, DtoProductParamsWithCidAndLang, DtoProductResponse, DtoSelectedOption, DtoTransform, DtoValidateResponse, DtoVector } from "./CatalogueAPI.js";
2
2
  /**
3
3
  * Makes a string from the params which can be used as a key in for example React. Language is not respected.
4
4
  */
5
- export declare const makeCatalogueKey: (cat: DtoCatalogueParams) => string;
5
+ export declare const makeCatalogueKey: (cat: DtoCatalogueParamsWithCid) => string;
6
6
  /**
7
7
  * Makes a string from the params which can be used as a key in for example React. Language is not respected.
8
8
  */
9
- export declare const makeProductKey: (prod: DtoProductParams) => string;
9
+ export declare const makeProductKey: (prod: DtoProductParamsWithCid) => string;
10
10
  /**
11
11
  * Makes a string from selected options, can be used as a key for a selection.
12
12
  */
@@ -18,6 +18,11 @@ export declare type CfgProductData = Omit<Omit<DtoProductData, "models">, "parts
18
18
  selOptions: DtoSelectedOption[];
19
19
  };
20
20
  };
21
+ /**
22
+ * Deep compare. Uses the JSON.stringify method for comparison
23
+ * @returns true if equal. Key and array order is respected.
24
+ */
25
+ export declare function compareCfgProductData(pd1: CfgProductData, pd2: CfgProductData): boolean;
21
26
  export declare type CfgProductResponse = Omit<DtoProductResponse, "productData"> & {
22
27
  productData: CfgProductData;
23
28
  };
@@ -27,17 +32,17 @@ export declare type CfgValidateResponse = Omit<DtoValidateResponse, "productData
27
32
  };
28
33
  export declare function isModel(arg: unknown): arg is DtoModel;
29
34
  /** Replace empty strings with "-" for compatibility with the API. */
30
- export declare function correctDefaultsOnCatalogueParams<T extends DtoCatalogueParamsWithoutCid>(catId: T): T;
35
+ export declare function correctDefaultsOnCatalogueParams<T extends DtoCatalogueParams>(catId: T): T;
31
36
  export declare function recursivelyGetPriceCodeValue(priceCodes: string[], prices: DtoPrices | undefined): number | undefined;
32
37
  export declare function comparePricesObjects(prices1: DtoPrices | undefined, prices2: DtoPrices | undefined): boolean;
33
- export declare const decodeCatalogueParams: <T extends DtoCatalogueParamsWithoutCid>(params: T) => T;
34
- export declare const decodeProductParams: <T extends DtoProductParams>(params: T) => T;
35
- export declare function isSameCatalogueParams(left: DtoCatalogueParamsWithoutCid, right: DtoCatalogueParamsWithoutCid): boolean;
38
+ export declare const decodeCatalogueParams: <T extends DtoCatalogueParams>(params: T) => T;
39
+ export declare const decodeProductParams: <T extends DtoProductParamsWithCid>(params: T) => T;
40
+ export declare function isSameCatalogueParams(left: DtoCatalogueParams, right: DtoCatalogueParams): boolean;
36
41
  export declare function isSameVector(left: DtoVector, right: DtoVector): boolean;
37
42
  export declare function isSameOrientation(left: DtoOrientation, right: DtoOrientation): boolean;
38
43
  export declare function isSameAnchor(left: DtoMeasureParam, right: DtoMeasureParam): boolean;
39
44
  export declare function isSameTransform(left: DtoTransform, right: DtoTransform): boolean;
40
45
  export declare function isSameProductRef(left: DtoAdditionalProductRef, right: DtoAdditionalProductRef): boolean;
41
- export declare const isSameDtoCatalogueParamsWithLang: (left: DtoCatalogueParamsWithLang, right: DtoCatalogueParamsWithLang) => boolean;
42
- export declare const isSameDtoProductParamsWithLang: (left: DtoProductParamsWithLang, right: DtoProductParamsWithLang) => boolean;
46
+ export declare const isSameDtoCatalogueParamsWithLang: (left: DtoCatalogueParamsWithCidAndLang, right: DtoCatalogueParamsWithCidAndLang) => boolean;
47
+ export declare const isSameDtoProductParamsWithLang: (left: DtoProductParamsWithCidAndLang, right: DtoProductParamsWithCidAndLang) => boolean;
43
48
  //# sourceMappingURL=utilitiesCatalogueData.d.ts.map
@@ -25,6 +25,13 @@ export const makeSelOptionsKey = (options) => options.reduce((p, option) => {
25
25
  p += "_}";
26
26
  return p;
27
27
  }, "");
28
+ /**
29
+ * Deep compare. Uses the JSON.stringify method for comparison
30
+ * @returns true if equal. Key and array order is respected.
31
+ */
32
+ export function compareCfgProductData(pd1, pd2) {
33
+ return JSON.stringify(pd1) === JSON.stringify(pd2);
34
+ }
28
35
  export function isModel(arg) {
29
36
  return typeof arg === "object" && arg !== null && "cid" in arg && "uri" in arg;
30
37
  }
@@ -1,10 +1,10 @@
1
- import { DtoCatalogueParams, DtoCataloguePermission } from "./CatalogueAPI.js";
1
+ import { DtoCatalogueParamsWithCid, DtoCataloguePermission } from "./CatalogueAPI.js";
2
2
  interface CataloguePermissionByEnterpriseKey {
3
3
  [key: string]: DtoCataloguePermission[];
4
4
  }
5
5
  export declare const groupAndSortCataloguePermissions: (cataloguePermissions: DtoCataloguePermission[]) => CataloguePermissionByEnterpriseKey;
6
6
  export declare const isParamSet: (param: string | undefined) => boolean;
7
- export declare const createCataloguePermissionsFilter: (catParams: Partial<DtoCatalogueParams>) => (perm: DtoCataloguePermission) => boolean;
7
+ export declare const createCataloguePermissionsFilter: (catParams: Partial<DtoCatalogueParamsWithCid>) => (perm: DtoCataloguePermission) => boolean;
8
8
  /**
9
9
  * Sometimes you will want to use the latest available prdCatVersion. This method will
10
10
  * find the highest prdCatVersion version in the cataloguePermissions. If the versions are
@@ -25,7 +25,7 @@ export declare const getPrdCatVersionFromPermissions: (cataloguePermissions: Dto
25
25
  * @param auth
26
26
  * @param params
27
27
  */
28
- export declare const getPrdCatVersionOrLatestFromPermissions: (params: DtoCatalogueParams, cataloguePermissions: DtoCataloguePermission[]) => string;
28
+ export declare const getPrdCatVersionOrLatestFromPermissions: (params: DtoCatalogueParamsWithCid, cataloguePermissions: DtoCataloguePermission[]) => string;
29
29
  /**
30
30
  * Sometimes you will want a missing prdCatVersion to represent "Get the current highest version".
31
31
  * This method will, if the prdCatVersion is not set, fetch the highest available from the
@@ -34,6 +34,6 @@ export declare const getPrdCatVersionOrLatestFromPermissions: (params: DtoCatalo
34
34
  * @param auth
35
35
  * @param params
36
36
  */
37
- export declare const fillMissingPrdCatVersionFromPermissions: <T extends DtoCatalogueParams>(params: T, cataloguePermissions: DtoCataloguePermission[]) => T;
37
+ export declare const fillMissingPrdCatVersionFromPermissions: <T extends DtoCatalogueParamsWithCid>(params: T, cataloguePermissions: DtoCataloguePermission[]) => T;
38
38
  export {};
39
39
  //# sourceMappingURL=utilitiesCataloguePermission.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@configura/web-api",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.20",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,7 +23,7 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@configura/web-utilities": "2.0.0-alpha.2"
26
+ "@configura/web-utilities": "2.0.0-alpha.20"
27
27
  },
28
- "gitHead": "70b1f8c6426c11420f00b031912e1023d3b591bf"
28
+ "gitHead": "74b8fd6c45f392b9133843b409f7662dbf93c47e"
29
29
  }