@labdigital/commercetools-mock 1.8.1 → 1.10.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, 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';
3
+ import { Project, ResourceIdentifier, QueryParam, AssociateRoleDraft, AssociateRole, AssociateRoleSetNameAction, AssociateRoleSetPermissionsAction, AssociateRoleChangeBuyerAssignableAction, AssociateRoleSetCustomFieldAction, AssociateRoleAddPermissionAction, AssociateRoleRemovePermissionAction, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnitDraft, BusinessUnit, BusinessUnitAddAddressAction, BusinessUnitAddAssociateAction, BusinessUnitSetAssociatesAction, BusinessUnitSetContactEmailAction, BusinessUnitSetStoreModeAction, BusinessUnitChangeNameAction, BusinessUnitChangeAddressAction, BusinessUnitAddStoreAction, BusinessUnitChangeParentUnitAction, BusinessUnitChangeStatusAction, CartDraft, Cart, CartAddLineItemAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetShippingAddressAction, CartRemoveDiscountCodeAction, 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
 
5
5
  type GetParams$1 = {
6
6
  expand?: string[];
@@ -56,7 +56,22 @@ declare class AttributeGroupRepository extends AbstractResourceRepository<'attri
56
56
 
57
57
  declare class BusinessUnitRepository extends AbstractResourceRepository<'business-unit'> {
58
58
  getTypeId(): "business-unit";
59
- create(context: RepositoryContext, draft: any): BusinessUnit;
59
+ private _isCompanyDraft;
60
+ private _isDivisionDraft;
61
+ create(context: RepositoryContext, draft: BusinessUnitDraft): BusinessUnit;
62
+ actions: {
63
+ addAddress: (context: RepositoryContext, resource: Writable<BusinessUnit>, { address }: BusinessUnitAddAddressAction) => void;
64
+ addAssociate: (context: RepositoryContext, resource: Writable<BusinessUnit>, { associate }: BusinessUnitAddAssociateAction) => void;
65
+ setAssociates: (context: RepositoryContext, resource: Writable<BusinessUnit>, { associates }: BusinessUnitSetAssociatesAction) => void;
66
+ setContactEmail: (context: RepositoryContext, resource: Writable<BusinessUnit>, { contactEmail }: BusinessUnitSetContactEmailAction) => void;
67
+ setStoreMode: (context: RepositoryContext, resource: Writable<BusinessUnit>, { storeMode }: BusinessUnitSetStoreModeAction) => void;
68
+ changeAssociateMode: (context: RepositoryContext, resource: Writable<BusinessUnit>, { storeMode }: BusinessUnitSetStoreModeAction) => void;
69
+ changeName: (context: RepositoryContext, resource: Writable<BusinessUnit>, { name }: BusinessUnitChangeNameAction) => void;
70
+ changeAddress: (context: RepositoryContext, resource: Writable<BusinessUnit>, { address }: BusinessUnitChangeAddressAction) => void;
71
+ addStore: (context: RepositoryContext, resource: Writable<BusinessUnit>, { store }: BusinessUnitAddStoreAction) => void;
72
+ changeParentUnit: (context: RepositoryContext, resource: Writable<BusinessUnit>, { parentUnit }: BusinessUnitChangeParentUnitAction) => void;
73
+ changeStatus: (context: RepositoryContext, resource: Writable<BusinessUnit>, { status }: BusinessUnitChangeStatusAction) => void;
74
+ };
60
75
  }
61
76
 
62
77
  declare class CartRepository extends AbstractResourceRepository<'cart'> {
@@ -75,6 +90,7 @@ declare class CartRepository extends AbstractResourceRepository<'cart'> {
75
90
  setCustomType: (context: RepositoryContext, resource: Writable<Cart>, { type, fields }: CartSetCustomTypeAction) => void;
76
91
  setLocale: (context: RepositoryContext, resource: Writable<Cart>, { locale }: CartSetLocaleAction) => void;
77
92
  setShippingAddress: (context: RepositoryContext, resource: Writable<Cart>, { address }: CartSetShippingAddressAction) => void;
93
+ removeDiscountCode: (context: RepositoryContext, resource: Writable<Cart>, { discountCode }: CartRemoveDiscountCodeAction) => void;
78
94
  };
79
95
  draftLineItemtoLineItem: (projectKey: string, draftLineItem: LineItemDraft, currency: string, country: string | undefined) => LineItem;
80
96
  }
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, 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';
3
+ import { Project, ResourceIdentifier, QueryParam, AssociateRoleDraft, AssociateRole, AssociateRoleSetNameAction, AssociateRoleSetPermissionsAction, AssociateRoleChangeBuyerAssignableAction, AssociateRoleSetCustomFieldAction, AssociateRoleAddPermissionAction, AssociateRoleRemovePermissionAction, AttributeGroupDraft, AttributeGroup, AttributeGroupSetAttributesAction, AttributeGroupChangeNameAction, AttributeGroupSetDescriptionAction, AttributeGroupSetKeyAction, BusinessUnitDraft, BusinessUnit, BusinessUnitAddAddressAction, BusinessUnitAddAssociateAction, BusinessUnitSetAssociatesAction, BusinessUnitSetContactEmailAction, BusinessUnitSetStoreModeAction, BusinessUnitChangeNameAction, BusinessUnitChangeAddressAction, BusinessUnitAddStoreAction, BusinessUnitChangeParentUnitAction, BusinessUnitChangeStatusAction, CartDraft, Cart, CartAddLineItemAction, CartChangeLineItemQuantityAction, CartRemoveLineItemAction, CartSetBillingAddressAction, CartSetShippingMethodAction, CartSetCountryAction, CartSetCustomerEmailAction, CartSetCustomFieldAction, CartSetCustomTypeAction, CartSetLocaleAction, CartSetShippingAddressAction, CartRemoveDiscountCodeAction, 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
 
5
5
  type GetParams$1 = {
6
6
  expand?: string[];
@@ -56,7 +56,22 @@ declare class AttributeGroupRepository extends AbstractResourceRepository<'attri
56
56
 
57
57
  declare class BusinessUnitRepository extends AbstractResourceRepository<'business-unit'> {
58
58
  getTypeId(): "business-unit";
59
- create(context: RepositoryContext, draft: any): BusinessUnit;
59
+ private _isCompanyDraft;
60
+ private _isDivisionDraft;
61
+ create(context: RepositoryContext, draft: BusinessUnitDraft): BusinessUnit;
62
+ actions: {
63
+ addAddress: (context: RepositoryContext, resource: Writable<BusinessUnit>, { address }: BusinessUnitAddAddressAction) => void;
64
+ addAssociate: (context: RepositoryContext, resource: Writable<BusinessUnit>, { associate }: BusinessUnitAddAssociateAction) => void;
65
+ setAssociates: (context: RepositoryContext, resource: Writable<BusinessUnit>, { associates }: BusinessUnitSetAssociatesAction) => void;
66
+ setContactEmail: (context: RepositoryContext, resource: Writable<BusinessUnit>, { contactEmail }: BusinessUnitSetContactEmailAction) => void;
67
+ setStoreMode: (context: RepositoryContext, resource: Writable<BusinessUnit>, { storeMode }: BusinessUnitSetStoreModeAction) => void;
68
+ changeAssociateMode: (context: RepositoryContext, resource: Writable<BusinessUnit>, { storeMode }: BusinessUnitSetStoreModeAction) => void;
69
+ changeName: (context: RepositoryContext, resource: Writable<BusinessUnit>, { name }: BusinessUnitChangeNameAction) => void;
70
+ changeAddress: (context: RepositoryContext, resource: Writable<BusinessUnit>, { address }: BusinessUnitChangeAddressAction) => void;
71
+ addStore: (context: RepositoryContext, resource: Writable<BusinessUnit>, { store }: BusinessUnitAddStoreAction) => void;
72
+ changeParentUnit: (context: RepositoryContext, resource: Writable<BusinessUnit>, { parentUnit }: BusinessUnitChangeParentUnitAction) => void;
73
+ changeStatus: (context: RepositoryContext, resource: Writable<BusinessUnit>, { status }: BusinessUnitChangeStatusAction) => void;
74
+ };
60
75
  }
61
76
 
62
77
  declare class CartRepository extends AbstractResourceRepository<'cart'> {
@@ -75,6 +90,7 @@ declare class CartRepository extends AbstractResourceRepository<'cart'> {
75
90
  setCustomType: (context: RepositoryContext, resource: Writable<Cart>, { type, fields }: CartSetCustomTypeAction) => void;
76
91
  setLocale: (context: RepositoryContext, resource: Writable<Cart>, { locale }: CartSetLocaleAction) => void;
77
92
  setShippingAddress: (context: RepositoryContext, resource: Writable<Cart>, { address }: CartSetShippingAddressAction) => void;
93
+ removeDiscountCode: (context: RepositoryContext, resource: Writable<Cart>, { discountCode }: CartRemoveDiscountCodeAction) => void;
78
94
  };
79
95
  draftLineItemtoLineItem: (projectKey: string, draftLineItem: LineItemDraft, currency: string, country: string | undefined) => LineItem;
80
96
  }
package/dist/index.js CHANGED
@@ -1551,6 +1551,71 @@ var getRepositoryContext = (request) => ({
1551
1551
  projectKey: request.params.projectKey,
1552
1552
  storeKey: request.params.storeKey
1553
1553
  });
1554
+ var createAssociate = (a, projectKey, storage) => {
1555
+ if (!a)
1556
+ return void 0;
1557
+ if (!a.associateRoleAssignments) {
1558
+ throw new Error("AssociateRoleAssignments is required");
1559
+ }
1560
+ return {
1561
+ customer: getReferenceFromResourceIdentifier(
1562
+ a.customer,
1563
+ projectKey,
1564
+ storage
1565
+ ),
1566
+ associateRoleAssignments: a.associateRoleAssignments?.map(
1567
+ (a2) => ({
1568
+ associateRole: getAssociateRoleKeyReference(
1569
+ a2.associateRole,
1570
+ projectKey,
1571
+ storage
1572
+ ),
1573
+ inheritance: a2.inheritance
1574
+ })
1575
+ ),
1576
+ roles: a.roles
1577
+ };
1578
+ };
1579
+ var getAssociateRoleKeyReference = (id, projectKey, storage) => {
1580
+ if (id.key) {
1581
+ return {
1582
+ typeId: "associate-role",
1583
+ key: id.key
1584
+ };
1585
+ }
1586
+ const value = getReferenceFromResourceIdentifier(
1587
+ id,
1588
+ projectKey,
1589
+ storage
1590
+ );
1591
+ if (!value.obj?.key) {
1592
+ throw new Error("No associate-role found for reference");
1593
+ }
1594
+ return {
1595
+ typeId: "associate-role",
1596
+ key: value.obj?.key
1597
+ };
1598
+ };
1599
+ var getBusinessUnitKeyReference = (id, projectKey, storage) => {
1600
+ if (id.key) {
1601
+ return {
1602
+ typeId: "business-unit",
1603
+ key: id.key
1604
+ };
1605
+ }
1606
+ const value = getReferenceFromResourceIdentifier(
1607
+ id,
1608
+ projectKey,
1609
+ storage
1610
+ );
1611
+ if (!value.obj?.key) {
1612
+ throw new Error("No business-unit found for reference");
1613
+ }
1614
+ return {
1615
+ typeId: "business-unit",
1616
+ key: value.obj?.key
1617
+ };
1618
+ };
1554
1619
 
1555
1620
  // src/services/project.ts
1556
1621
  var ProjectService = class {
@@ -1810,9 +1875,128 @@ var BusinessUnitRepository = class extends AbstractResourceRepository {
1810
1875
  getTypeId() {
1811
1876
  return "business-unit";
1812
1877
  }
1878
+ _isCompanyDraft(draft) {
1879
+ return draft.unitType === "Company";
1880
+ }
1881
+ _isDivisionDraft(draft) {
1882
+ return draft.unitType === "Division";
1883
+ }
1813
1884
  create(context, draft) {
1814
- throw new Error("Method not implemented.");
1885
+ const resource = {
1886
+ ...getBaseResourceProperties(),
1887
+ key: draft.key,
1888
+ status: draft.status,
1889
+ stores: draft.stores?.map(
1890
+ (s) => getStoreKeyReference(s, context.projectKey, this._storage)
1891
+ ),
1892
+ storeMode: draft.storeMode,
1893
+ name: draft.name,
1894
+ contactEmail: draft.contactEmail,
1895
+ addresses: draft.addresses?.map(
1896
+ (a) => createAddress(a, context.projectKey, this._storage)
1897
+ ),
1898
+ custom: createCustomFields(
1899
+ draft.custom,
1900
+ context.projectKey,
1901
+ this._storage
1902
+ ),
1903
+ shippingAddressIds: draft.shippingAddresses,
1904
+ defaultShippingAddressId: draft.defaultShippingAddress,
1905
+ billingAddressIds: draft.billingAddresses,
1906
+ associateMode: draft.associateMode,
1907
+ associates: draft.associates?.map(
1908
+ (a) => createAssociate(a, context.projectKey, this._storage)
1909
+ )
1910
+ };
1911
+ if (this._isDivisionDraft(draft)) {
1912
+ const division = {
1913
+ ...resource,
1914
+ parentUnit: getBusinessUnitKeyReference(
1915
+ draft.parentUnit,
1916
+ context.projectKey,
1917
+ this._storage
1918
+ )
1919
+ };
1920
+ this.saveNew(context, division);
1921
+ return division;
1922
+ } else if (this._isCompanyDraft(draft)) {
1923
+ const company = resource;
1924
+ this.saveNew(context, company);
1925
+ return company;
1926
+ }
1927
+ throw new Error("Invalid business unit type");
1815
1928
  }
1929
+ actions = {
1930
+ addAddress: (context, resource, { address }) => {
1931
+ const newAddress = createAddress(
1932
+ address,
1933
+ context.projectKey,
1934
+ this._storage
1935
+ );
1936
+ if (newAddress) {
1937
+ resource.addresses.push(newAddress);
1938
+ }
1939
+ },
1940
+ addAssociate: (context, resource, { associate }) => {
1941
+ const newAssociate = createAssociate(
1942
+ associate,
1943
+ context.projectKey,
1944
+ this._storage
1945
+ );
1946
+ if (newAssociate) {
1947
+ resource.associates.push(newAssociate);
1948
+ }
1949
+ },
1950
+ setAssociates: (context, resource, { associates }) => {
1951
+ const newAssociates = associates.map((a) => createAssociate(a, context.projectKey, this._storage)).filter((a) => a !== void 0);
1952
+ resource.associates = newAssociates || void 0;
1953
+ },
1954
+ setContactEmail: (context, resource, { contactEmail }) => {
1955
+ resource.contactEmail = contactEmail;
1956
+ },
1957
+ setStoreMode: (context, resource, { storeMode }) => {
1958
+ resource.storeMode = storeMode;
1959
+ },
1960
+ changeAssociateMode: (context, resource, { storeMode }) => {
1961
+ resource.associateMode = storeMode;
1962
+ },
1963
+ changeName: (context, resource, { name }) => {
1964
+ resource.name = name;
1965
+ },
1966
+ changeAddress: (context, resource, { address }) => {
1967
+ const newAddress = createAddress(
1968
+ address,
1969
+ context.projectKey,
1970
+ this._storage
1971
+ );
1972
+ if (newAddress) {
1973
+ resource.addresses.push(newAddress);
1974
+ }
1975
+ },
1976
+ addStore: (context, resource, { store }) => {
1977
+ const newStore = getStoreKeyReference(
1978
+ store,
1979
+ context.projectKey,
1980
+ this._storage
1981
+ );
1982
+ if (newStore) {
1983
+ if (!resource.stores) {
1984
+ resource.stores = [];
1985
+ }
1986
+ resource.stores.push(newStore);
1987
+ }
1988
+ },
1989
+ changeParentUnit: (context, resource, { parentUnit }) => {
1990
+ resource.parentUnit = getBusinessUnitKeyReference(
1991
+ parentUnit,
1992
+ context.projectKey,
1993
+ this._storage
1994
+ );
1995
+ },
1996
+ changeStatus: (context, resource, { status }) => {
1997
+ resource.status = status;
1998
+ }
1999
+ };
1816
2000
  };
1817
2001
 
1818
2002
  // src/repositories/cart.ts
@@ -2108,6 +2292,11 @@ var CartRepository = class extends AbstractResourceRepository {
2108
2292
  ...address,
2109
2293
  custom
2110
2294
  };
2295
+ },
2296
+ removeDiscountCode: (context, resource, { discountCode }) => {
2297
+ resource.discountCodes = resource.discountCodes.filter(
2298
+ (code) => code.discountCode.id !== discountCode.id
2299
+ );
2111
2300
  }
2112
2301
  };
2113
2302
  draftLineItemtoLineItem = (projectKey, draftLineItem, currency, country) => {
@@ -2300,6 +2489,26 @@ var CartDiscountRepository = class extends AbstractResourceRepository {
2300
2489
  } else {
2301
2490
  resource.custom.fields[name] = value;
2302
2491
  }
2492
+ },
2493
+ setCustomType: (context, resource, { type, fields }) => {
2494
+ if (!type) {
2495
+ resource.custom = void 0;
2496
+ } else {
2497
+ const resolvedType = this._storage.getByResourceIdentifier(
2498
+ context.projectKey,
2499
+ type
2500
+ );
2501
+ if (!resolvedType) {
2502
+ throw new Error(`Type ${type} not found`);
2503
+ }
2504
+ resource.custom = {
2505
+ type: {
2506
+ typeId: "type",
2507
+ id: resolvedType.id
2508
+ },
2509
+ fields: fields || {}
2510
+ };
2511
+ }
2303
2512
  }
2304
2513
  };
2305
2514
  };
@@ -5440,6 +5649,18 @@ var AssociateRoleServices = class extends AbstractService {
5440
5649
  }
5441
5650
  };
5442
5651
 
5652
+ // src/services/business-units.ts
5653
+ var BusinessUnitServices = class extends AbstractService {
5654
+ repository;
5655
+ constructor(parent, repository) {
5656
+ super(parent);
5657
+ this.repository = repository;
5658
+ }
5659
+ getBasePath() {
5660
+ return "business-units";
5661
+ }
5662
+ };
5663
+
5443
5664
  // src/services/cart.ts
5444
5665
  var CartService = class extends AbstractService {
5445
5666
  repository;
@@ -6030,6 +6251,7 @@ var AttributeGroupService = class extends AbstractService {
6030
6251
  // src/services/index.ts
6031
6252
  var createServices = (router, repos) => ({
6032
6253
  "associate-role": new AssociateRoleServices(router, repos["associate-role"]),
6254
+ "business-unit": new BusinessUnitServices(router, repos["business-unit"]),
6033
6255
  category: new CategoryServices(router, repos["category"]),
6034
6256
  cart: new CartService(router, repos["cart"], repos["order"]),
6035
6257
  "cart-discount": new CartDiscountService(router, repos["cart-discount"]),