@labdigital/commercetools-mock 2.20.0 → 2.20.2

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/dist/index.d.cts CHANGED
@@ -47,7 +47,7 @@ declare abstract class AbstractRepository<R extends BaseResource | Project> {
47
47
  constructor(storage: AbstractStorage);
48
48
  abstract saveNew({ projectKey }: RepositoryContext, resource: R): void;
49
49
  abstract saveUpdate({ projectKey }: RepositoryContext, version: number, resource: R): void;
50
- abstract postProcessResource(resource: any): any;
50
+ abstract postProcessResource(context: RepositoryContext, resource: any): any;
51
51
  processUpdateActions(context: RepositoryContext, resource: R, version: number, actions: UpdateAction[]): R;
52
52
  }
53
53
  declare abstract class AbstractResourceRepository<T extends ResourceType> extends AbstractRepository<ResourceMap[T]> {
@@ -58,8 +58,10 @@ declare abstract class AbstractResourceRepository<T extends ResourceType> extend
58
58
  delete(context: RepositoryContext, id: string, params?: GetParams$1): ResourceMap[T] | null;
59
59
  get(context: RepositoryContext, id: string, params?: GetParams$1): ResourceMap[T] | null;
60
60
  getByKey(context: RepositoryContext, key: string, params?: GetParams$1): ResourceMap[T] | null;
61
- postProcessResource(resource: ResourceMap[T]): ResourceMap[T];
62
- query(context: RepositoryContext, params?: QueryParams$1): PagedQueryResponseMap[T];
61
+ postProcessResource(context: RepositoryContext, resource: ResourceMap[T], params?: GetParams$1): ResourceMap[T];
62
+ query(context: RepositoryContext, params?: QueryParams$1): PagedQueryResponseMap[T] & {
63
+ results: ResourceMap[T][];
64
+ };
63
65
  saveNew(context: RepositoryContext, resource: ShallowWritable<ResourceMap[T]>): ResourceMap[T];
64
66
  saveUpdate(context: RepositoryContext, version: number, resource: ShallowWritable<ResourceMap[T]>): ShallowWritable<ResourceMap[T]>;
65
67
  }
@@ -215,6 +217,7 @@ declare class CartDiscountRepository extends AbstractResourceRepository<"cart-di
215
217
  declare class CategoryRepository extends AbstractResourceRepository<"category"> {
216
218
  constructor(storage: AbstractStorage);
217
219
  create(context: RepositoryContext, draft: CategoryDraft): Category;
220
+ postProcessResource(context: RepositoryContext, resource: Writable<Category>, params?: GetParams$1): Category;
218
221
  }
219
222
 
220
223
  declare class ChannelRepository extends AbstractResourceRepository<"channel"> {
@@ -248,7 +251,7 @@ declare class DiscountCodeRepository extends AbstractResourceRepository<"discoun
248
251
  declare class ExtensionRepository extends AbstractResourceRepository<"extension"> {
249
252
  constructor(storage: AbstractStorage);
250
253
  create(context: RepositoryContext, draft: ExtensionDraft): Extension;
251
- postProcessResource(resource: Extension): Extension;
254
+ postProcessResource(context: RepositoryContext, resource: Extension): Extension;
252
255
  }
253
256
 
254
257
  declare class InventoryEntryRepository extends AbstractResourceRepository<"inventory-entry"> {
@@ -394,7 +397,7 @@ declare class ProductTypeRepository extends AbstractResourceRepository<"product-
394
397
  declare class ProjectRepository extends AbstractRepository<Project> {
395
398
  constructor(storage: AbstractStorage);
396
399
  get(context: RepositoryContext): Project | null;
397
- postProcessResource(resource: Project): Project;
400
+ postProcessResource(context: RepositoryContext, resource: Project): Project;
398
401
  saveNew(context: RepositoryContext, resource: Writable<Project>): void;
399
402
  saveUpdate(context: RepositoryContext, version: number, resource: Project): void;
400
403
  }
package/dist/index.d.ts CHANGED
@@ -47,7 +47,7 @@ declare abstract class AbstractRepository<R extends BaseResource | Project> {
47
47
  constructor(storage: AbstractStorage);
48
48
  abstract saveNew({ projectKey }: RepositoryContext, resource: R): void;
49
49
  abstract saveUpdate({ projectKey }: RepositoryContext, version: number, resource: R): void;
50
- abstract postProcessResource(resource: any): any;
50
+ abstract postProcessResource(context: RepositoryContext, resource: any): any;
51
51
  processUpdateActions(context: RepositoryContext, resource: R, version: number, actions: UpdateAction[]): R;
52
52
  }
53
53
  declare abstract class AbstractResourceRepository<T extends ResourceType> extends AbstractRepository<ResourceMap[T]> {
@@ -58,8 +58,10 @@ declare abstract class AbstractResourceRepository<T extends ResourceType> extend
58
58
  delete(context: RepositoryContext, id: string, params?: GetParams$1): ResourceMap[T] | null;
59
59
  get(context: RepositoryContext, id: string, params?: GetParams$1): ResourceMap[T] | null;
60
60
  getByKey(context: RepositoryContext, key: string, params?: GetParams$1): ResourceMap[T] | null;
61
- postProcessResource(resource: ResourceMap[T]): ResourceMap[T];
62
- query(context: RepositoryContext, params?: QueryParams$1): PagedQueryResponseMap[T];
61
+ postProcessResource(context: RepositoryContext, resource: ResourceMap[T], params?: GetParams$1): ResourceMap[T];
62
+ query(context: RepositoryContext, params?: QueryParams$1): PagedQueryResponseMap[T] & {
63
+ results: ResourceMap[T][];
64
+ };
63
65
  saveNew(context: RepositoryContext, resource: ShallowWritable<ResourceMap[T]>): ResourceMap[T];
64
66
  saveUpdate(context: RepositoryContext, version: number, resource: ShallowWritable<ResourceMap[T]>): ShallowWritable<ResourceMap[T]>;
65
67
  }
@@ -215,6 +217,7 @@ declare class CartDiscountRepository extends AbstractResourceRepository<"cart-di
215
217
  declare class CategoryRepository extends AbstractResourceRepository<"category"> {
216
218
  constructor(storage: AbstractStorage);
217
219
  create(context: RepositoryContext, draft: CategoryDraft): Category;
220
+ postProcessResource(context: RepositoryContext, resource: Writable<Category>, params?: GetParams$1): Category;
218
221
  }
219
222
 
220
223
  declare class ChannelRepository extends AbstractResourceRepository<"channel"> {
@@ -248,7 +251,7 @@ declare class DiscountCodeRepository extends AbstractResourceRepository<"discoun
248
251
  declare class ExtensionRepository extends AbstractResourceRepository<"extension"> {
249
252
  constructor(storage: AbstractStorage);
250
253
  create(context: RepositoryContext, draft: ExtensionDraft): Extension;
251
- postProcessResource(resource: Extension): Extension;
254
+ postProcessResource(context: RepositoryContext, resource: Extension): Extension;
252
255
  }
253
256
 
254
257
  declare class InventoryEntryRepository extends AbstractResourceRepository<"inventory-entry"> {
@@ -394,7 +397,7 @@ declare class ProductTypeRepository extends AbstractResourceRepository<"product-
394
397
  declare class ProjectRepository extends AbstractRepository<Project> {
395
398
  constructor(storage: AbstractStorage);
396
399
  get(context: RepositoryContext): Project | null;
397
- postProcessResource(resource: Project): Project;
400
+ postProcessResource(context: RepositoryContext, resource: Project): Project;
398
401
  saveNew(context: RepositoryContext, resource: Writable<Project>): void;
399
402
  saveUpdate(context: RepositoryContext, version: number, resource: Project): void;
400
403
  }
package/dist/index.js CHANGED
@@ -1738,7 +1738,7 @@ var AbstractRepository = class {
1738
1738
  if (resource.version != updatedResource.version) {
1739
1739
  this.saveUpdate(context, version, updatedResource);
1740
1740
  }
1741
- const result = this.postProcessResource(updatedResource);
1741
+ const result = this.postProcessResource(context, updatedResource);
1742
1742
  if (!result) {
1743
1743
  throw new Error("invalid post process action");
1744
1744
  }
@@ -1761,7 +1761,7 @@ var AbstractResourceRepository = class extends AbstractRepository {
1761
1761
  id,
1762
1762
  params
1763
1763
  );
1764
- return resource ? this.postProcessResource(resource) : null;
1764
+ return resource ? this.postProcessResource(context, resource, params) : null;
1765
1765
  }
1766
1766
  get(context, id, params = {}) {
1767
1767
  const resource = this._storage.get(
@@ -1770,7 +1770,7 @@ var AbstractResourceRepository = class extends AbstractRepository {
1770
1770
  id,
1771
1771
  params
1772
1772
  );
1773
- return resource ? this.postProcessResource(resource) : null;
1773
+ return resource ? this.postProcessResource(context, resource, params) : null;
1774
1774
  }
1775
1775
  getByKey(context, key, params = {}) {
1776
1776
  const resource = this._storage.getByKey(
@@ -1779,17 +1779,22 @@ var AbstractResourceRepository = class extends AbstractRepository {
1779
1779
  key,
1780
1780
  params
1781
1781
  );
1782
- return resource ? this.postProcessResource(resource) : null;
1782
+ return resource ? this.postProcessResource(context, resource, params) : null;
1783
1783
  }
1784
- postProcessResource(resource) {
1784
+ postProcessResource(context, resource, params) {
1785
1785
  return resource;
1786
1786
  }
1787
1787
  query(context, params = {}) {
1788
1788
  const result = this._storage.query(context.projectKey, this.getTypeId(), {
1789
1789
  ...params
1790
1790
  });
1791
- result.results = result.results.map(this.postProcessResource);
1792
- return result;
1791
+ const data = result.results.map(
1792
+ (r) => this.postProcessResource(context, r)
1793
+ );
1794
+ return {
1795
+ ...result,
1796
+ results: data
1797
+ };
1793
1798
  }
1794
1799
  saveNew(context, resource) {
1795
1800
  resource.version = 1;
@@ -3026,7 +3031,7 @@ var CategoryRepository = class extends AbstractResourceRepository {
3026
3031
  externalId: draft.externalId || "",
3027
3032
  parent: draft.parent ? { typeId: "category", id: draft.parent.id } : void 0,
3028
3033
  ancestors: [],
3029
- // TODO
3034
+ // Resolved at runtime
3030
3035
  assets: draft.assets?.map((d) => ({
3031
3036
  id: uuidv48(),
3032
3037
  name: d.name,
@@ -3048,6 +3053,27 @@ var CategoryRepository = class extends AbstractResourceRepository {
3048
3053
  };
3049
3054
  return this.saveNew(context, resource);
3050
3055
  }
3056
+ postProcessResource(context, resource, params) {
3057
+ let node = resource;
3058
+ const ancestors = [];
3059
+ const expandClauses = params?.expand?.map(parseExpandClause) ?? [];
3060
+ const addExpand = expandClauses?.find(
3061
+ (c) => c.element === "ancestors" && c.index === "*"
3062
+ );
3063
+ while (node.parent) {
3064
+ node = this._storage.getByResourceIdentifier(
3065
+ context.projectKey,
3066
+ node.parent
3067
+ );
3068
+ ancestors.push({
3069
+ typeId: "category",
3070
+ id: node.id,
3071
+ obj: addExpand ? node : void 0
3072
+ });
3073
+ }
3074
+ resource.ancestors = ancestors;
3075
+ return resource;
3076
+ }
3051
3077
  };
3052
3078
 
3053
3079
  // src/repositories/channel.ts
@@ -3520,7 +3546,7 @@ var ExtensionRepository = class extends AbstractResourceRepository {
3520
3546
  };
3521
3547
  return this.saveNew(context, resource);
3522
3548
  }
3523
- postProcessResource(resource) {
3549
+ postProcessResource(context, resource) {
3524
3550
  if (resource) {
3525
3551
  const extension = resource;
3526
3552
  if (extension.destination.type === "HTTP" && extension.destination.authentication?.type === "AuthorizationHeader") {
@@ -5847,9 +5873,9 @@ var ProjectRepository = class extends AbstractRepository {
5847
5873
  }
5848
5874
  get(context) {
5849
5875
  const resource = this._storage.getProject(context.projectKey);
5850
- return this.postProcessResource(resource);
5876
+ return this.postProcessResource(context, resource);
5851
5877
  }
5852
- postProcessResource(resource) {
5878
+ postProcessResource(context, resource) {
5853
5879
  if (resource) {
5854
5880
  return maskSecretValue(resource, "externalOAuth.authorizationHeader");
5855
5881
  }