@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.cjs +34 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +34 -19
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/repositories/customer/index.test.ts +53 -1
- package/src/repositories/customer/index.ts +20 -4
- package/src/repositories/order/actions.ts +26 -12
- package/src/services/my-customer.test.ts +1 -0
- package/src/services/order.test.ts +150 -0
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: [`
|
|
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
|
|
4401
|
+
import assert4 from "assert";
|
|
4394
4402
|
|
|
4395
4403
|
// src/repositories/order/index.ts
|
|
4396
|
-
import
|
|
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
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
4807
|
+
assert4(draft.id, "draft.id is missing");
|
|
4793
4808
|
const cartIdentifier = {
|
|
4794
4809
|
id: draft.id,
|
|
4795
4810
|
typeId: "cart"
|