@labdigital/commercetools-mock 2.40.0 → 2.41.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
@@ -242,6 +242,7 @@ declare class CustomObjectRepository extends AbstractResourceRepository<"key-val
242
242
  declare class CustomerRepository extends AbstractResourceRepository<"customer"> {
243
243
  constructor(storage: AbstractStorage);
244
244
  create(context: RepositoryContext, draft: CustomerDraft): Customer;
245
+ saveUpdate(context: RepositoryContext, version: number, resource: ShallowWritable<ResourceMap["customer"]>): ShallowWritable<ResourceMap["customer"]>;
245
246
  passwordResetToken(context: RepositoryContext, request: CustomerCreatePasswordResetToken): CustomerToken;
246
247
  passwordReset(context: RepositoryContext, resetPassword: CustomerResetPassword | MyCustomerResetPassword): Writable<Customer>;
247
248
  verifyEmailToken(context: RepositoryContext, id: string): CustomerToken;
package/dist/index.d.ts CHANGED
@@ -242,6 +242,7 @@ declare class CustomObjectRepository extends AbstractResourceRepository<"key-val
242
242
  declare class CustomerRepository extends AbstractResourceRepository<"customer"> {
243
243
  constructor(storage: AbstractStorage);
244
244
  create(context: RepositoryContext, draft: CustomerDraft): Customer;
245
+ saveUpdate(context: RepositoryContext, version: number, resource: ShallowWritable<ResourceMap["customer"]>): ShallowWritable<ResourceMap["customer"]>;
245
246
  passwordResetToken(context: RepositoryContext, request: CustomerCreatePasswordResetToken): CustomerToken;
246
247
  passwordReset(context: RepositoryContext, resetPassword: CustomerResetPassword | MyCustomerResetPassword): Writable<Customer>;
247
248
  verifyEmailToken(context: RepositoryContext, id: string): CustomerToken;
package/dist/index.js CHANGED
@@ -3861,7 +3861,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
3861
3861
  }
3862
3862
  create(context, draft) {
3863
3863
  const results = this._storage.query(context.projectKey, this.getTypeId(), {
3864
- where: [`email="${draft.email.toLocaleLowerCase()}"`]
3864
+ where: [`lowercaseEmail="${draft.email.toLowerCase()}"`]
3865
3865
  });
3866
3866
  if (results.count > 0) {
3867
3867
  throw new CommercetoolsError({
@@ -3911,7 +3911,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
3911
3911
  (addressId) => lookupAdressId(addresses, addressId)
3912
3912
  ) ?? [];
3913
3913
  let storesForCustomer = [];
3914
- if (draft.stores) {
3914
+ if (draft.stores && draft.stores.length > 0) {
3915
3915
  const storeIds = draft.stores.map((storeReference) => storeReference.id).filter(Boolean);
3916
3916
  const stores = this._storage.query(context.projectKey, "store", {
3917
3917
  where: storeIds.map((id) => `id="${id}"`)
@@ -3938,6 +3938,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
3938
3938
  dateOfBirth: draft.dateOfBirth,
3939
3939
  companyName: draft.companyName,
3940
3940
  email: draft.email.toLowerCase(),
3941
+ lowercaseEmail: draft.email.toLowerCase(),
3941
3942
  password: draft.password ? hashPassword(draft.password) : void 0,
3942
3943
  isEmailVerified: draft.isEmailVerified || false,
3943
3944
  addresses,
@@ -3956,6 +3957,13 @@ var CustomerRepository = class extends AbstractResourceRepository {
3956
3957
  };
3957
3958
  return this.saveNew(context, resource);
3958
3959
  }
3960
+ saveUpdate(context, version, resource) {
3961
+ const updatedResource = {
3962
+ ...resource,
3963
+ lowercaseEmail: resource.email.toLowerCase()
3964
+ };
3965
+ return super.saveUpdate(context, version, updatedResource);
3966
+ }
3959
3967
  passwordResetToken(context, request) {
3960
3968
  const results = this._storage.query(context.projectKey, this.getTypeId(), {
3961
3969
  where: [`email="${request.email.toLocaleLowerCase()}"`]
@@ -4390,13 +4398,12 @@ var MyCustomerRepository = class extends CustomerRepository {
4390
4398
  };
4391
4399
 
4392
4400
  // src/repositories/my-order.ts
4393
- import assert5 from "assert";
4401
+ import assert4 from "assert";
4394
4402
 
4395
4403
  // src/repositories/order/index.ts
4396
- import assert4 from "assert";
4404
+ import assert3 from "assert";
4397
4405
 
4398
4406
  // src/repositories/order/actions.ts
4399
- import assert3 from "assert";
4400
4407
  var OrderUpdateHandler = class extends AbstractUpdateHandler {
4401
4408
  addPayment(context, resource, { payment }) {
4402
4409
  const resolvedPayment = this._storage.getByResourceIdentifier(
@@ -4496,17 +4503,13 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
4496
4503
  }
4497
4504
  }
4498
4505
  setDeliveryCustomField(context, resource, { deliveryId, name, value }) {
4499
- assert3(resource.shippingInfo, "shippingInfo is not defined");
4500
- if (Array.isArray(resource.shippingInfo.deliveries)) {
4501
- resource.shippingInfo.deliveries.map((delivery) => {
4502
- if (delivery.id !== deliveryId) throw "No matching delivery id found";
4503
- if (delivery.custom) {
4504
- const update = delivery.custom.fields;
4505
- update[name] = value;
4506
- Object.assign(delivery.custom.fields, update);
4507
- }
4508
- return delivery;
4509
- });
4506
+ if (!resource.shippingInfo) {
4507
+ throw new Error("Resource has no shipping info");
4508
+ }
4509
+ for (const delivery of resource.shippingInfo.deliveries || []) {
4510
+ if (delivery.id === deliveryId && delivery.custom?.fields) {
4511
+ delivery.custom.fields[name] = value;
4512
+ }
4510
4513
  }
4511
4514
  }
4512
4515
  setLocale(context, resource, { locale }) {
@@ -4515,6 +4518,18 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
4515
4518
  setOrderNumber(context, resource, { orderNumber }) {
4516
4519
  resource.orderNumber = orderNumber;
4517
4520
  }
4521
+ setParcelCustomField(context, resource, { parcelId, name, value }) {
4522
+ if (!resource.shippingInfo) {
4523
+ throw new Error("Resource has no shipping info");
4524
+ }
4525
+ for (const delivery of resource.shippingInfo.deliveries || []) {
4526
+ for (const parcel of delivery.parcels || []) {
4527
+ if (parcel.id === parcelId && parcel.custom?.fields) {
4528
+ parcel.custom.fields[name] = value;
4529
+ }
4530
+ }
4531
+ }
4532
+ }
4518
4533
  setPurchaseOrderNumber(context, resource, { purchaseOrderNumber }) {
4519
4534
  resource.purchaseOrderNumber = purchaseOrderNumber;
4520
4535
  }
@@ -4591,7 +4606,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4591
4606
  this.actions = new OrderUpdateHandler(storage);
4592
4607
  }
4593
4608
  create(context, draft) {
4594
- assert4(draft.cart, "draft.cart is missing");
4609
+ assert3(draft.cart, "draft.cart is missing");
4595
4610
  return this.createFromCart(
4596
4611
  context,
4597
4612
  {
@@ -4646,7 +4661,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4646
4661
  return this.saveNew(context, resource);
4647
4662
  }
4648
4663
  import(context, draft) {
4649
- assert4(this, "OrderRepository not valid");
4664
+ assert3(this, "OrderRepository not valid");
4650
4665
  const resource = {
4651
4666
  ...getBaseResourceProperties(),
4652
4667
  billingAddress: createAddress(
@@ -4789,7 +4804,7 @@ var OrderRepository = class extends AbstractResourceRepository {
4789
4804
  // src/repositories/my-order.ts
4790
4805
  var MyOrderRepository = class extends OrderRepository {
4791
4806
  create(context, draft) {
4792
- assert5(draft.id, "draft.id is missing");
4807
+ assert4(draft.id, "draft.id is missing");
4793
4808
  const cartIdentifier = {
4794
4809
  id: draft.id,
4795
4810
  typeId: "cart"