@labdigital/commercetools-mock 1.6.1 → 1.7.0

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
@@ -1,6 +1,6 @@
1
1
  import express from 'express';
2
2
  import * as ctp from '@commercetools/platform-sdk';
3
- import { Project, ResourceIdentifier, QueryParam, AssociateRole, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnit, CartDraft, Cart, CartAddLineItemAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetShippingAddressAction, LineItemDraft, LineItem, CartDiscountDraft, CartDiscount, CartDiscountUpdateAction, CategoryDraft, Category, CategoryChangeAssetNameAction, CategoryChangeSlugAction, CategorySetKeyAction, CategorySetAssetDescriptionAction, CategorySetAssetSourcesAction, CategorySetDescriptionAction, CategorySetMetaDescriptionAction, CategorySetMetaKeywordsAction, CategorySetMetaTitleAction, CategorySetCustomTypeAction, CategorySetCustomFieldAction, ChannelDraft, Channel, ChannelUpdateAction, CustomObjectDraft, CustomObject, CustomerDraft, Customer, CustomerChangeEmailAction, CustomerSetAuthenticationModeAction, CustomerSetCustomFieldAction, CustomerGroupDraft, CustomerGroup, CustomerGroupSetKeyAction, CustomerGroupChangeNameAction, CustomerGroupSetCustomTypeAction, CustomerGroupSetCustomFieldAction, DiscountCodeDraft, DiscountCode, DiscountCodeUpdateAction, Extension, ExtensionDraft, ExtensionUpdateAction, InventoryEntryDraft, InventoryEntry, InventoryEntryChangeQuantityAction, InventoryEntrySetExpectedDeliveryAction, InventoryEntrySetCustomFieldAction, InventoryEntrySetCustomTypeAction, InventoryEntrySetRestockableInDaysAction, OrderFromCartDraft, Order, CartReference, OrderImportDraft, OrderAddPaymentAction, OrderChangeOrderStateAction, OrderChangePaymentStateAction, OrderTransitionStateAction, OrderSetBillingAddressAction, OrderSetCustomerEmailAction, OrderSetCustomFieldAction, OrderSetCustomTypeAction, OrderSetLocaleAction, OrderSetOrderNumberAction, OrderSetShippingAddressAction, OrderSetStoreAction, MyOrderFromCartDraft, OrderEditDraft, OrderEdit, OrderEditUpdateAction, PaymentDraft, Payment, TransactionDraft, Transaction, PaymentSetCustomFieldAction, PaymentSetCustomTypeAction, PaymentAddTransactionAction, PaymentChangeTransactionStateAction, PaymentTransitionStateAction, ProductDraft, Product, ProductUpdateAction, ProductDiscountDraft, ProductDiscount, ProductDiscountUpdateAction, ProductProjectionPagedSearchResponse, ProductProjection, FacetResults, TermFacetResult, FilteredFacetResult, RangeFacetResult, ProductSelectionDraft, ProductSelection, ReviewUpdateAction, Review, ProductTypeDraft, ProductType, AttributeDefinitionDraft, AttributeDefinition, ProductTypeUpdateAction, ProjectUpdateAction, QuoteDraft, Quote, QuoteUpdateAction, QuoteRequestDraft, QuoteRequest, QuoteRequestUpdateAction, ReviewDraft, ShippingMethodDraft, ShippingMethod, ShippingMethodUpdateAction, ShoppingListDraft, ShoppingList, StagedQuoteDraft, StagedQuote, StagedQuoteUpdateAction, StandalonePriceDraft, StandalonePrice, ChannelResourceIdentifier, ChannelReference, DiscountedPriceDraft, StandalonePriceChangeActiveAction, StandalonePriceChangeValueAction, StandalonePriceSetDiscountedPriceAction, StateDraft, State, StateUpdateAction, StoreDraft, Store, StoreUpdateAction, SubscriptionDraft, Subscription, TaxCategoryDraft, TaxCategory, TaxCategoryUpdateAction, TypeDraft, Type, TypeUpdateAction, ZoneDraft, Zone, ZoneUpdateAction, BaseResource, UpdateAction } from '@commercetools/platform-sdk';
3
+ import { Project, ResourceIdentifier, QueryParam, AssociateRoleDraft, AssociateRole, AssociateRoleSetNameAction, AssociateRoleSetPermissionsAction, AssociateRoleChangeBuyerAssignableAction, AssociateRoleSetCustomFieldAction, AssociateRoleAddPermissionAction, AssociateRoleRemovePermissionAction, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnit, CartDraft, Cart, CartAddLineItemAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetShippingAddressAction, LineItemDraft, LineItem, CartDiscountDraft, CartDiscount, CartDiscountUpdateAction, AssetDraft, Asset, CategoryDraft, Category, CategoryChangeAssetNameAction, CategoryChangeSlugAction, CategorySetKeyAction, CategorySetAssetDescriptionAction, CategorySetAssetSourcesAction, CategorySetDescriptionAction, CategorySetMetaDescriptionAction, CategorySetMetaKeywordsAction, CategorySetMetaTitleAction, CategorySetCustomTypeAction, CategorySetCustomFieldAction, CategoryRemoveAssetAction, CategoryAddAssetAction, ChannelDraft, Channel, ChannelUpdateAction, CustomObjectDraft, CustomObject, CustomerDraft, Customer, CustomerChangeEmailAction, CustomerSetAuthenticationModeAction, CustomerSetCustomFieldAction, CustomerGroupDraft, CustomerGroup, CustomerGroupSetKeyAction, CustomerGroupChangeNameAction, CustomerGroupSetCustomTypeAction, CustomerGroupSetCustomFieldAction, DiscountCodeDraft, DiscountCode, DiscountCodeUpdateAction, Extension, ExtensionDraft, ExtensionUpdateAction, InventoryEntryDraft, InventoryEntry, InventoryEntryChangeQuantityAction, InventoryEntrySetExpectedDeliveryAction, InventoryEntrySetCustomFieldAction, InventoryEntrySetCustomTypeAction, InventoryEntrySetRestockableInDaysAction, OrderFromCartDraft, Order, CartReference, OrderImportDraft, OrderAddPaymentAction, OrderChangeOrderStateAction, OrderChangePaymentStateAction, OrderTransitionStateAction, OrderSetBillingAddressAction, OrderSetCustomerEmailAction, OrderSetCustomFieldAction, OrderSetCustomTypeAction, OrderSetLocaleAction, OrderSetOrderNumberAction, OrderSetShippingAddressAction, OrderSetStoreAction, MyOrderFromCartDraft, OrderEditDraft, OrderEdit, OrderEditUpdateAction, PaymentDraft, Payment, TransactionDraft, Transaction, PaymentSetCustomFieldAction, PaymentSetCustomTypeAction, PaymentAddTransactionAction, PaymentChangeTransactionStateAction, PaymentTransitionStateAction, ProductDraft, Product, ProductUpdateAction, ProductDiscountDraft, ProductDiscount, ProductDiscountUpdateAction, ProductProjectionPagedSearchResponse, ProductProjection, FacetResults, TermFacetResult, FilteredFacetResult, RangeFacetResult, ProductSelectionDraft, ProductSelection, ReviewUpdateAction, Review, ProductTypeDraft, ProductType, AttributeDefinitionDraft, AttributeDefinition, ProductTypeUpdateAction, ProjectUpdateAction, QuoteDraft, Quote, QuoteUpdateAction, QuoteRequestDraft, QuoteRequest, QuoteRequestUpdateAction, ReviewDraft, ShippingMethodDraft, ShippingMethod, ShippingMethodUpdateAction, ShoppingListDraft, ShoppingList, StagedQuoteDraft, StagedQuote, StagedQuoteUpdateAction, StandalonePriceDraft, StandalonePrice, ChannelResourceIdentifier, ChannelReference, DiscountedPriceDraft, StandalonePriceChangeActiveAction, StandalonePriceChangeValueAction, StandalonePriceSetDiscountedPriceAction, StateDraft, State, StateUpdateAction, StoreDraft, Store, StoreUpdateAction, SubscriptionDraft, Subscription, TaxCategoryDraft, TaxCategory, TaxCategoryUpdateAction, TypeDraft, Type, TypeUpdateAction, ZoneDraft, Zone, ZoneUpdateAction, BaseResource, UpdateAction } from '@commercetools/platform-sdk';
4
4
  import { ParsedQs } from 'qs';
5
5
 
6
6
  type GetParams$1 = {
@@ -32,7 +32,15 @@ declare abstract class AbstractStorage {
32
32
 
33
33
  declare class AssociateRoleRepository extends AbstractResourceRepository<'associate-role'> {
34
34
  getTypeId(): "associate-role";
35
- create(context: RepositoryContext, draft: any): AssociateRole;
35
+ create(context: RepositoryContext, draft: AssociateRoleDraft): AssociateRole;
36
+ actions: {
37
+ setName: (context: RepositoryContext, resource: Writable<AssociateRole>, { name }: AssociateRoleSetNameAction) => void;
38
+ setPermissions: (context: RepositoryContext, resource: Writable<AssociateRole>, { permissions }: AssociateRoleSetPermissionsAction) => void;
39
+ setBuyerAssignable: (context: RepositoryContext, resource: Writable<AssociateRole>, { buyerAssignable }: AssociateRoleChangeBuyerAssignableAction) => void;
40
+ setCustomFields: (context: RepositoryContext, resource: Writable<AssociateRole>, { name, value }: AssociateRoleSetCustomFieldAction) => void;
41
+ addPermission: (context: RepositoryContext, resource: Writable<AssociateRole>, { permission }: AssociateRoleAddPermissionAction) => void;
42
+ removePermission: (context: RepositoryContext, resource: Writable<AssociateRole>, { permission }: AssociateRoleRemovePermissionAction) => void;
43
+ };
36
44
  }
37
45
 
38
46
  declare class AttributeGroupRepository extends AbstractResourceRepository<'attribute-group'> {
@@ -80,6 +88,7 @@ declare class CartDiscountRepository extends AbstractResourceRepository<'cart-di
80
88
 
81
89
  declare class CategoryRepository extends AbstractResourceRepository<'category'> {
82
90
  getTypeId(): "category";
91
+ assetFromAssetDraft: (draft: AssetDraft, context: RepositoryContext) => Asset;
83
92
  create(context: RepositoryContext, draft: CategoryDraft): Category;
84
93
  actions: {
85
94
  changeAssetName: (context: RepositoryContext, resource: Writable<Category>, { assetId, assetKey, name }: CategoryChangeAssetNameAction) => void;
@@ -93,6 +102,8 @@ declare class CategoryRepository extends AbstractResourceRepository<'category'>
93
102
  setMetaTitle: (context: RepositoryContext, resource: Writable<Category>, { metaTitle }: CategorySetMetaTitleAction) => void;
94
103
  setCustomType: (context: RepositoryContext, resource: Writable<Category>, { type, fields }: CategorySetCustomTypeAction) => void;
95
104
  setCustomField: (context: RepositoryContext, resource: Writable<Category>, { name, value }: CategorySetCustomFieldAction) => void;
105
+ removeAsset: (context: RepositoryContext, resource: Writable<Category>, { assetId, assetKey }: CategoryRemoveAssetAction) => void;
106
+ addAsset: (context: RepositoryContext, resource: Writable<Category>, { asset }: CategoryAddAssetAction) => void;
96
107
  };
97
108
  }
98
109
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import express from 'express';
2
2
  import * as ctp from '@commercetools/platform-sdk';
3
- import { Project, ResourceIdentifier, QueryParam, AssociateRole, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnit, CartDraft, Cart, CartAddLineItemAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetShippingAddressAction, LineItemDraft, LineItem, CartDiscountDraft, CartDiscount, CartDiscountUpdateAction, CategoryDraft, Category, CategoryChangeAssetNameAction, CategoryChangeSlugAction, CategorySetKeyAction, CategorySetAssetDescriptionAction, CategorySetAssetSourcesAction, CategorySetDescriptionAction, CategorySetMetaDescriptionAction, CategorySetMetaKeywordsAction, CategorySetMetaTitleAction, CategorySetCustomTypeAction, CategorySetCustomFieldAction, ChannelDraft, Channel, ChannelUpdateAction, CustomObjectDraft, CustomObject, CustomerDraft, Customer, CustomerChangeEmailAction, CustomerSetAuthenticationModeAction, CustomerSetCustomFieldAction, CustomerGroupDraft, CustomerGroup, CustomerGroupSetKeyAction, CustomerGroupChangeNameAction, CustomerGroupSetCustomTypeAction, CustomerGroupSetCustomFieldAction, DiscountCodeDraft, DiscountCode, DiscountCodeUpdateAction, Extension, ExtensionDraft, ExtensionUpdateAction, InventoryEntryDraft, InventoryEntry, InventoryEntryChangeQuantityAction, InventoryEntrySetExpectedDeliveryAction, InventoryEntrySetCustomFieldAction, InventoryEntrySetCustomTypeAction, InventoryEntrySetRestockableInDaysAction, OrderFromCartDraft, Order, CartReference, OrderImportDraft, OrderAddPaymentAction, OrderChangeOrderStateAction, OrderChangePaymentStateAction, OrderTransitionStateAction, OrderSetBillingAddressAction, OrderSetCustomerEmailAction, OrderSetCustomFieldAction, OrderSetCustomTypeAction, OrderSetLocaleAction, OrderSetOrderNumberAction, OrderSetShippingAddressAction, OrderSetStoreAction, MyOrderFromCartDraft, OrderEditDraft, OrderEdit, OrderEditUpdateAction, PaymentDraft, Payment, TransactionDraft, Transaction, PaymentSetCustomFieldAction, PaymentSetCustomTypeAction, PaymentAddTransactionAction, PaymentChangeTransactionStateAction, PaymentTransitionStateAction, ProductDraft, Product, ProductUpdateAction, ProductDiscountDraft, ProductDiscount, ProductDiscountUpdateAction, ProductProjectionPagedSearchResponse, ProductProjection, FacetResults, TermFacetResult, FilteredFacetResult, RangeFacetResult, ProductSelectionDraft, ProductSelection, ReviewUpdateAction, Review, ProductTypeDraft, ProductType, AttributeDefinitionDraft, AttributeDefinition, ProductTypeUpdateAction, ProjectUpdateAction, QuoteDraft, Quote, QuoteUpdateAction, QuoteRequestDraft, QuoteRequest, QuoteRequestUpdateAction, ReviewDraft, ShippingMethodDraft, ShippingMethod, ShippingMethodUpdateAction, ShoppingListDraft, ShoppingList, StagedQuoteDraft, StagedQuote, StagedQuoteUpdateAction, StandalonePriceDraft, StandalonePrice, ChannelResourceIdentifier, ChannelReference, DiscountedPriceDraft, StandalonePriceChangeActiveAction, StandalonePriceChangeValueAction, StandalonePriceSetDiscountedPriceAction, StateDraft, State, StateUpdateAction, StoreDraft, Store, StoreUpdateAction, SubscriptionDraft, Subscription, TaxCategoryDraft, TaxCategory, TaxCategoryUpdateAction, TypeDraft, Type, TypeUpdateAction, ZoneDraft, Zone, ZoneUpdateAction, BaseResource, UpdateAction } from '@commercetools/platform-sdk';
3
+ import { Project, ResourceIdentifier, QueryParam, AssociateRoleDraft, AssociateRole, AssociateRoleSetNameAction, AssociateRoleSetPermissionsAction, AssociateRoleChangeBuyerAssignableAction, AssociateRoleSetCustomFieldAction, AssociateRoleAddPermissionAction, AssociateRoleRemovePermissionAction, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnit, CartDraft, Cart, CartAddLineItemAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetShippingAddressAction, LineItemDraft, LineItem, CartDiscountDraft, CartDiscount, CartDiscountUpdateAction, AssetDraft, Asset, CategoryDraft, Category, CategoryChangeAssetNameAction, CategoryChangeSlugAction, CategorySetKeyAction, CategorySetAssetDescriptionAction, CategorySetAssetSourcesAction, CategorySetDescriptionAction, CategorySetMetaDescriptionAction, CategorySetMetaKeywordsAction, CategorySetMetaTitleAction, CategorySetCustomTypeAction, CategorySetCustomFieldAction, CategoryRemoveAssetAction, CategoryAddAssetAction, ChannelDraft, Channel, ChannelUpdateAction, CustomObjectDraft, CustomObject, CustomerDraft, Customer, CustomerChangeEmailAction, CustomerSetAuthenticationModeAction, CustomerSetCustomFieldAction, CustomerGroupDraft, CustomerGroup, CustomerGroupSetKeyAction, CustomerGroupChangeNameAction, CustomerGroupSetCustomTypeAction, CustomerGroupSetCustomFieldAction, DiscountCodeDraft, DiscountCode, DiscountCodeUpdateAction, Extension, ExtensionDraft, ExtensionUpdateAction, InventoryEntryDraft, InventoryEntry, InventoryEntryChangeQuantityAction, InventoryEntrySetExpectedDeliveryAction, InventoryEntrySetCustomFieldAction, InventoryEntrySetCustomTypeAction, InventoryEntrySetRestockableInDaysAction, OrderFromCartDraft, Order, CartReference, OrderImportDraft, OrderAddPaymentAction, OrderChangeOrderStateAction, OrderChangePaymentStateAction, OrderTransitionStateAction, OrderSetBillingAddressAction, OrderSetCustomerEmailAction, OrderSetCustomFieldAction, OrderSetCustomTypeAction, OrderSetLocaleAction, OrderSetOrderNumberAction, OrderSetShippingAddressAction, OrderSetStoreAction, MyOrderFromCartDraft, OrderEditDraft, OrderEdit, OrderEditUpdateAction, PaymentDraft, Payment, TransactionDraft, Transaction, PaymentSetCustomFieldAction, PaymentSetCustomTypeAction, PaymentAddTransactionAction, PaymentChangeTransactionStateAction, PaymentTransitionStateAction, ProductDraft, Product, ProductUpdateAction, ProductDiscountDraft, ProductDiscount, ProductDiscountUpdateAction, ProductProjectionPagedSearchResponse, ProductProjection, FacetResults, TermFacetResult, FilteredFacetResult, RangeFacetResult, ProductSelectionDraft, ProductSelection, ReviewUpdateAction, Review, ProductTypeDraft, ProductType, AttributeDefinitionDraft, AttributeDefinition, ProductTypeUpdateAction, ProjectUpdateAction, QuoteDraft, Quote, QuoteUpdateAction, QuoteRequestDraft, QuoteRequest, QuoteRequestUpdateAction, ReviewDraft, ShippingMethodDraft, ShippingMethod, ShippingMethodUpdateAction, ShoppingListDraft, ShoppingList, StagedQuoteDraft, StagedQuote, StagedQuoteUpdateAction, StandalonePriceDraft, StandalonePrice, ChannelResourceIdentifier, ChannelReference, DiscountedPriceDraft, StandalonePriceChangeActiveAction, StandalonePriceChangeValueAction, StandalonePriceSetDiscountedPriceAction, StateDraft, State, StateUpdateAction, StoreDraft, Store, StoreUpdateAction, SubscriptionDraft, Subscription, TaxCategoryDraft, TaxCategory, TaxCategoryUpdateAction, TypeDraft, Type, TypeUpdateAction, ZoneDraft, Zone, ZoneUpdateAction, BaseResource, UpdateAction } from '@commercetools/platform-sdk';
4
4
  import { ParsedQs } from 'qs';
5
5
 
6
6
  type GetParams$1 = {
@@ -32,7 +32,15 @@ declare abstract class AbstractStorage {
32
32
 
33
33
  declare class AssociateRoleRepository extends AbstractResourceRepository<'associate-role'> {
34
34
  getTypeId(): "associate-role";
35
- create(context: RepositoryContext, draft: any): AssociateRole;
35
+ create(context: RepositoryContext, draft: AssociateRoleDraft): AssociateRole;
36
+ actions: {
37
+ setName: (context: RepositoryContext, resource: Writable<AssociateRole>, { name }: AssociateRoleSetNameAction) => void;
38
+ setPermissions: (context: RepositoryContext, resource: Writable<AssociateRole>, { permissions }: AssociateRoleSetPermissionsAction) => void;
39
+ setBuyerAssignable: (context: RepositoryContext, resource: Writable<AssociateRole>, { buyerAssignable }: AssociateRoleChangeBuyerAssignableAction) => void;
40
+ setCustomFields: (context: RepositoryContext, resource: Writable<AssociateRole>, { name, value }: AssociateRoleSetCustomFieldAction) => void;
41
+ addPermission: (context: RepositoryContext, resource: Writable<AssociateRole>, { permission }: AssociateRoleAddPermissionAction) => void;
42
+ removePermission: (context: RepositoryContext, resource: Writable<AssociateRole>, { permission }: AssociateRoleRemovePermissionAction) => void;
43
+ };
36
44
  }
37
45
 
38
46
  declare class AttributeGroupRepository extends AbstractResourceRepository<'attribute-group'> {
@@ -80,6 +88,7 @@ declare class CartDiscountRepository extends AbstractResourceRepository<'cart-di
80
88
 
81
89
  declare class CategoryRepository extends AbstractResourceRepository<'category'> {
82
90
  getTypeId(): "category";
91
+ assetFromAssetDraft: (draft: AssetDraft, context: RepositoryContext) => Asset;
83
92
  create(context: RepositoryContext, draft: CategoryDraft): Category;
84
93
  actions: {
85
94
  changeAssetName: (context: RepositoryContext, resource: Writable<Category>, { assetId, assetKey, name }: CategoryChangeAssetNameAction) => void;
@@ -93,6 +102,8 @@ declare class CategoryRepository extends AbstractResourceRepository<'category'>
93
102
  setMetaTitle: (context: RepositoryContext, resource: Writable<Category>, { metaTitle }: CategorySetMetaTitleAction) => void;
94
103
  setCustomType: (context: RepositoryContext, resource: Writable<Category>, { type, fields }: CategorySetCustomTypeAction) => void;
95
104
  setCustomField: (context: RepositoryContext, resource: Writable<Category>, { name, value }: CategorySetCustomFieldAction) => void;
105
+ removeAsset: (context: RepositoryContext, resource: Writable<Category>, { assetId, assetKey }: CategoryRemoveAssetAction) => void;
106
+ addAsset: (context: RepositoryContext, resource: Writable<Category>, { asset }: CategoryAddAssetAction) => void;
96
107
  };
97
108
  }
98
109
 
package/dist/index.js CHANGED
@@ -1709,8 +1709,57 @@ var AssociateRoleRepository = class extends AbstractResourceRepository {
1709
1709
  return "associate-role";
1710
1710
  }
1711
1711
  create(context, draft) {
1712
- throw new Error("Method not implemented.");
1712
+ const resource = {
1713
+ ...getBaseResourceProperties(),
1714
+ key: draft.key,
1715
+ name: draft.name,
1716
+ buyerAssignable: draft.buyerAssignable || false,
1717
+ permissions: draft.permissions || [],
1718
+ custom: createCustomFields(
1719
+ draft.custom,
1720
+ context.projectKey,
1721
+ this._storage
1722
+ )
1723
+ };
1724
+ this.saveNew(context, resource);
1725
+ return resource;
1713
1726
  }
1727
+ actions = {
1728
+ setName: (context, resource, { name }) => {
1729
+ resource.name = name;
1730
+ },
1731
+ setPermissions: (context, resource, { permissions }) => {
1732
+ resource.permissions = permissions || [];
1733
+ },
1734
+ setBuyerAssignable: (context, resource, { buyerAssignable }) => {
1735
+ resource.buyerAssignable = buyerAssignable;
1736
+ },
1737
+ setCustomFields: (context, resource, { name, value }) => {
1738
+ if (!resource.custom) {
1739
+ return;
1740
+ }
1741
+ if (value === null) {
1742
+ delete resource.custom.fields[name];
1743
+ } else {
1744
+ resource.custom.fields[name] = value;
1745
+ }
1746
+ },
1747
+ addPermission: (context, resource, { permission }) => {
1748
+ if (!resource.permissions) {
1749
+ resource.permissions = [permission];
1750
+ } else {
1751
+ resource.permissions.push(permission);
1752
+ }
1753
+ },
1754
+ removePermission: (context, resource, { permission }) => {
1755
+ if (!resource.permissions) {
1756
+ return;
1757
+ }
1758
+ resource.permissions = resource.permissions.filter((p) => {
1759
+ p !== permission;
1760
+ });
1761
+ }
1762
+ };
1714
1763
  };
1715
1764
 
1716
1765
  // src/repositories/attribute-group.ts
@@ -2158,7 +2207,12 @@ var CartDiscountRepository = class extends AbstractResourceRepository {
2158
2207
  stackingMode: draft.stackingMode || "Stacking",
2159
2208
  validFrom: draft.validFrom,
2160
2209
  validUntil: draft.validUntil,
2161
- value: this.transformValueDraft(draft.value)
2210
+ value: this.transformValueDraft(draft.value),
2211
+ custom: createCustomFields(
2212
+ draft.custom,
2213
+ context.projectKey,
2214
+ this._storage
2215
+ )
2162
2216
  };
2163
2217
  this.saveNew(context, resource);
2164
2218
  return resource;
@@ -2212,6 +2266,29 @@ var CartDiscountRepository = class extends AbstractResourceRepository {
2212
2266
  },
2213
2267
  changeIsActive: (context, resource, { isActive }) => {
2214
2268
  resource.isActive = isActive;
2269
+ },
2270
+ changeTarget: (context, resource, { target }) => {
2271
+ resource.target = target;
2272
+ },
2273
+ setCustomField: (context, resource, { name, value }) => {
2274
+ if (!resource.custom) {
2275
+ return;
2276
+ }
2277
+ if (value === null) {
2278
+ if (name in resource.custom.fields) {
2279
+ delete resource.custom.fields[name];
2280
+ } else {
2281
+ throw new CommercetoolsError(
2282
+ {
2283
+ code: "InvalidOperation",
2284
+ message: "Cannot remove custom field " + name + " because it does not exist."
2285
+ },
2286
+ 400
2287
+ );
2288
+ }
2289
+ } else {
2290
+ resource.custom.fields[name] = value;
2291
+ }
2215
2292
  }
2216
2293
  };
2217
2294
  };
@@ -2222,6 +2299,11 @@ var CategoryRepository = class extends AbstractResourceRepository {
2222
2299
  getTypeId() {
2223
2300
  return "category";
2224
2301
  }
2302
+ assetFromAssetDraft = (draft, context) => ({
2303
+ ...draft,
2304
+ id: uuidv44(),
2305
+ custom: createCustomFields(draft.custom, context.projectKey, this._storage)
2306
+ });
2225
2307
  create(context, draft) {
2226
2308
  const resource = {
2227
2309
  ...getBaseResourceProperties(),
@@ -2324,6 +2406,30 @@ var CategoryRepository = class extends AbstractResourceRepository {
2324
2406
  } else {
2325
2407
  resource.custom.fields[name] = value;
2326
2408
  }
2409
+ },
2410
+ removeAsset: (context, resource, { assetId, assetKey }) => {
2411
+ if (!resource.assets) {
2412
+ return;
2413
+ }
2414
+ if (assetId) {
2415
+ resource.assets = resource.assets.filter(function(obj) {
2416
+ return obj.id !== assetId;
2417
+ });
2418
+ return;
2419
+ }
2420
+ if (assetKey) {
2421
+ resource.assets = resource.assets.filter(function(obj) {
2422
+ return obj.key !== assetKey;
2423
+ });
2424
+ return;
2425
+ }
2426
+ },
2427
+ addAsset: (context, resource, { asset }) => {
2428
+ if (!resource.assets) {
2429
+ resource.assets = [this.assetFromAssetDraft(asset, context)];
2430
+ } else {
2431
+ resource.assets.push(this.assetFromAssetDraft(asset, context));
2432
+ }
2327
2433
  }
2328
2434
  };
2329
2435
  };
@@ -4882,6 +4988,9 @@ var StoreRepository = class extends AbstractResourceRepository {
4882
4988
  } else {
4883
4989
  resource.custom.fields[name] = value;
4884
4990
  }
4991
+ },
4992
+ setCountries: (context, resource, { countries }) => {
4993
+ resource.countries = countries ?? [];
4885
4994
  }
4886
4995
  };
4887
4996
  };
@@ -5311,6 +5420,18 @@ var AbstractService = class {
5311
5420
  }
5312
5421
  };
5313
5422
 
5423
+ // src/services/associate-roles.ts
5424
+ var AssociateRoleServices = class extends AbstractService {
5425
+ repository;
5426
+ constructor(parent, repository) {
5427
+ super(parent);
5428
+ this.repository = repository;
5429
+ }
5430
+ getBasePath() {
5431
+ return "associate-roles";
5432
+ }
5433
+ };
5434
+
5314
5435
  // src/services/cart.ts
5315
5436
  var CartService = class extends AbstractService {
5316
5437
  repository;
@@ -5884,6 +6005,7 @@ var AttributeGroupService = class extends AbstractService {
5884
6005
 
5885
6006
  // src/services/index.ts
5886
6007
  var createServices = (router, repos) => ({
6008
+ "associate-role": new AssociateRoleServices(router, repos["associate-role"]),
5887
6009
  category: new CategoryServices(router, repos["category"]),
5888
6010
  cart: new CartService(router, repos["cart"], repos["order"]),
5889
6011
  "cart-discount": new CartDiscountService(router, repos["cart-discount"]),