@labdigital/commercetools-mock 2.19.0 → 2.20.1
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.cjs +32 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -5
- package/dist/index.d.ts +8 -5
- package/dist/index.js +32 -11
- package/dist/index.js.map +1 -1
- package/package.json +4 -5
- package/src/repositories/abstract.ts +16 -9
- package/src/repositories/category/index.test.ts +82 -0
- package/src/repositories/category/index.ts +26 -2
- package/src/repositories/extension.ts +4 -1
- package/src/repositories/order/actions.ts +9 -0
- package/src/repositories/project.ts +2 -2
- package/src/services/category.test.ts +2 -0
- package/src/services/order.test.ts +35 -0
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]): 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>): 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]): 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>): 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) : 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) : 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) : null;
|
|
1783
1783
|
}
|
|
1784
|
-
postProcessResource(resource) {
|
|
1784
|
+
postProcessResource(context, resource) {
|
|
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
|
-
|
|
1792
|
-
|
|
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
|
-
//
|
|
3034
|
+
// Resolved at runtime
|
|
3030
3035
|
assets: draft.assets?.map((d) => ({
|
|
3031
3036
|
id: uuidv48(),
|
|
3032
3037
|
name: d.name,
|
|
@@ -3048,6 +3053,19 @@ var CategoryRepository = class extends AbstractResourceRepository {
|
|
|
3048
3053
|
};
|
|
3049
3054
|
return this.saveNew(context, resource);
|
|
3050
3055
|
}
|
|
3056
|
+
postProcessResource(context, resource) {
|
|
3057
|
+
let node = resource;
|
|
3058
|
+
const ancestors = [];
|
|
3059
|
+
while (node.parent) {
|
|
3060
|
+
node = this._storage.getByResourceIdentifier(
|
|
3061
|
+
context.projectKey,
|
|
3062
|
+
node.parent
|
|
3063
|
+
);
|
|
3064
|
+
ancestors.push({ typeId: "category", id: node.id });
|
|
3065
|
+
}
|
|
3066
|
+
resource.ancestors = ancestors;
|
|
3067
|
+
return resource;
|
|
3068
|
+
}
|
|
3051
3069
|
};
|
|
3052
3070
|
|
|
3053
3071
|
// src/repositories/channel.ts
|
|
@@ -3520,7 +3538,7 @@ var ExtensionRepository = class extends AbstractResourceRepository {
|
|
|
3520
3538
|
};
|
|
3521
3539
|
return this.saveNew(context, resource);
|
|
3522
3540
|
}
|
|
3523
|
-
postProcessResource(resource) {
|
|
3541
|
+
postProcessResource(context, resource) {
|
|
3524
3542
|
if (resource) {
|
|
3525
3543
|
const extension = resource;
|
|
3526
3544
|
if (extension.destination.type === "HTTP" && extension.destination.authentication?.type === "AuthorizationHeader") {
|
|
@@ -3767,6 +3785,9 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
3767
3785
|
setCustomerEmail(context, resource, { email }) {
|
|
3768
3786
|
resource.customerEmail = email;
|
|
3769
3787
|
}
|
|
3788
|
+
setCustomerId(context, resource, { customerId }) {
|
|
3789
|
+
resource.customerId = customerId;
|
|
3790
|
+
}
|
|
3770
3791
|
setCustomField(context, resource, { name, value }) {
|
|
3771
3792
|
if (!resource.custom) {
|
|
3772
3793
|
throw new Error("Resource has no custom field");
|
|
@@ -5844,9 +5865,9 @@ var ProjectRepository = class extends AbstractRepository {
|
|
|
5844
5865
|
}
|
|
5845
5866
|
get(context) {
|
|
5846
5867
|
const resource = this._storage.getProject(context.projectKey);
|
|
5847
|
-
return this.postProcessResource(resource);
|
|
5868
|
+
return this.postProcessResource(context, resource);
|
|
5848
5869
|
}
|
|
5849
|
-
postProcessResource(resource) {
|
|
5870
|
+
postProcessResource(context, resource) {
|
|
5850
5871
|
if (resource) {
|
|
5851
5872
|
return maskSecretValue(resource, "externalOAuth.authorizationHeader");
|
|
5852
5873
|
}
|