@labdigital/commercetools-mock 2.63.0 → 2.65.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.mts +388 -136
- package/dist/index.mjs +59 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/orderSearch.ts +40 -0
- package/src/repositories/customer/index.ts +35 -1
- package/src/repositories/order/index.ts +17 -8
- package/src/services/customer.test.ts +50 -0
- package/src/services/customer.ts +12 -5
- package/src/services/order.ts +9 -0
package/dist/index.mjs
CHANGED
|
@@ -1551,6 +1551,30 @@ var CartRepository = class extends AbstractResourceRepository {
|
|
|
1551
1551
|
}
|
|
1552
1552
|
};
|
|
1553
1553
|
|
|
1554
|
+
//#endregion
|
|
1555
|
+
//#region src/orderSearch.ts
|
|
1556
|
+
var OrderSearch = class {
|
|
1557
|
+
_storage;
|
|
1558
|
+
constructor(config) {
|
|
1559
|
+
this._storage = config.storage;
|
|
1560
|
+
}
|
|
1561
|
+
search(projectKey, params) {
|
|
1562
|
+
const orderResources = this._storage.all(projectKey, "order");
|
|
1563
|
+
const offset = params.offset || 0;
|
|
1564
|
+
const limit = params.limit || 20;
|
|
1565
|
+
const results = orderResources.slice(offset, offset + limit).map((order) => ({
|
|
1566
|
+
id: order.id,
|
|
1567
|
+
version: order.version
|
|
1568
|
+
}));
|
|
1569
|
+
return {
|
|
1570
|
+
total: orderResources.length,
|
|
1571
|
+
offset,
|
|
1572
|
+
limit,
|
|
1573
|
+
hits: results
|
|
1574
|
+
};
|
|
1575
|
+
}
|
|
1576
|
+
};
|
|
1577
|
+
|
|
1554
1578
|
//#endregion
|
|
1555
1579
|
//#region src/repositories/order/actions.ts
|
|
1556
1580
|
var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
@@ -1717,9 +1741,11 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
1717
1741
|
//#endregion
|
|
1718
1742
|
//#region src/repositories/order/index.ts
|
|
1719
1743
|
var OrderRepository = class extends AbstractResourceRepository {
|
|
1744
|
+
_searchService;
|
|
1720
1745
|
constructor(config) {
|
|
1721
1746
|
super("order", config);
|
|
1722
1747
|
this.actions = new OrderUpdateHandler(config.storage);
|
|
1748
|
+
this._searchService = new OrderSearch(config);
|
|
1723
1749
|
}
|
|
1724
1750
|
create(context, draft) {
|
|
1725
1751
|
assert(draft.cart, "draft.cart is missing");
|
|
@@ -1931,6 +1957,9 @@ var OrderRepository = class extends AbstractResourceRepository {
|
|
|
1931
1957
|
deliveries: []
|
|
1932
1958
|
};
|
|
1933
1959
|
}
|
|
1960
|
+
search(context, searchRequest) {
|
|
1961
|
+
return this._searchService.search(context.projectKey, searchRequest);
|
|
1962
|
+
}
|
|
1934
1963
|
};
|
|
1935
1964
|
|
|
1936
1965
|
//#endregion
|
|
@@ -3166,7 +3195,7 @@ var CustomerRepository = class extends AbstractResourceRepository {
|
|
|
3166
3195
|
this._storage.add(context.projectKey, "customer", customer);
|
|
3167
3196
|
return customer;
|
|
3168
3197
|
}
|
|
3169
|
-
|
|
3198
|
+
emailToken(context, id) {
|
|
3170
3199
|
const results = this._storage.query(context.projectKey, this.getTypeId(), { where: [`id="${id.toLocaleLowerCase()}"`] });
|
|
3171
3200
|
if (results.count === 0) throw new CommercetoolsError({
|
|
3172
3201
|
code: "ResourceNotFound",
|
|
@@ -3186,6 +3215,22 @@ var CustomerRepository = class extends AbstractResourceRepository {
|
|
|
3186
3215
|
invalidateOlderTokens: false
|
|
3187
3216
|
};
|
|
3188
3217
|
}
|
|
3218
|
+
emailTokenConfirm(context, request) {
|
|
3219
|
+
const customerId = validateEmailVerifyToken(request.tokenValue);
|
|
3220
|
+
if (!customerId) throw new CommercetoolsError({
|
|
3221
|
+
code: "ResourceNotFound",
|
|
3222
|
+
message: `The Customer with ID 'Token(${request.tokenValue})' was not found.`
|
|
3223
|
+
});
|
|
3224
|
+
const customer = this._storage.get(context.projectKey, "customer", customerId);
|
|
3225
|
+
if (!customer) throw new CommercetoolsError({
|
|
3226
|
+
code: "ResourceNotFound",
|
|
3227
|
+
message: `The Customer with ID 'Token(${request.tokenValue})' was not found.`
|
|
3228
|
+
});
|
|
3229
|
+
customer.isEmailVerified = true;
|
|
3230
|
+
customer.version += 1;
|
|
3231
|
+
this._storage.add(context.projectKey, "customer", customer);
|
|
3232
|
+
return customer;
|
|
3233
|
+
}
|
|
3189
3234
|
storeReferenceToStoreKeyReference(draftStores, projectKey) {
|
|
3190
3235
|
const storeIds = draftStores.map((storeReference) => storeReference.id).filter(Boolean);
|
|
3191
3236
|
let stores = [];
|
|
@@ -7322,7 +7367,8 @@ var CustomerService = class extends AbstractService {
|
|
|
7322
7367
|
extraRoutes(parent) {
|
|
7323
7368
|
parent.post("/password-token", this.passwordResetToken.bind(this));
|
|
7324
7369
|
parent.post("/password/reset", this.passwordReset.bind(this));
|
|
7325
|
-
parent.post("/email-token", this.
|
|
7370
|
+
parent.post("/email-token", this.emailToken.bind(this));
|
|
7371
|
+
parent.post("/email/confirm", this.emailTokenConfirm.bind(this));
|
|
7326
7372
|
}
|
|
7327
7373
|
post(request, response) {
|
|
7328
7374
|
const draft = request.body;
|
|
@@ -7338,11 +7384,15 @@ var CustomerService = class extends AbstractService {
|
|
|
7338
7384
|
const customer = this.repository.passwordReset(getRepositoryContext(request), request.body);
|
|
7339
7385
|
response.status(200).send(customer);
|
|
7340
7386
|
}
|
|
7341
|
-
|
|
7387
|
+
emailToken(request, response) {
|
|
7342
7388
|
const id = request.body.id;
|
|
7343
|
-
const token = this.repository.
|
|
7389
|
+
const token = this.repository.emailToken(getRepositoryContext(request), id);
|
|
7344
7390
|
response.status(200).send(token);
|
|
7345
7391
|
}
|
|
7392
|
+
emailTokenConfirm(request, response) {
|
|
7393
|
+
const customer = this.repository.emailTokenConfirm(getRepositoryContext(request), request.body);
|
|
7394
|
+
response.status(200).send(customer);
|
|
7395
|
+
}
|
|
7346
7396
|
};
|
|
7347
7397
|
|
|
7348
7398
|
//#endregion
|
|
@@ -7628,6 +7678,7 @@ var OrderService = class extends AbstractService {
|
|
|
7628
7678
|
}
|
|
7629
7679
|
extraRoutes(router) {
|
|
7630
7680
|
router.post("/import", this.import.bind(this));
|
|
7681
|
+
router.post("/search", this.search.bind(this));
|
|
7631
7682
|
router.get("/order-number=:orderNumber", this.getWithOrderNumber.bind(this));
|
|
7632
7683
|
}
|
|
7633
7684
|
import(request, response) {
|
|
@@ -7651,6 +7702,10 @@ var OrderService = class extends AbstractService {
|
|
|
7651
7702
|
}]
|
|
7652
7703
|
});
|
|
7653
7704
|
}
|
|
7705
|
+
search(request, response) {
|
|
7706
|
+
const resource = this.repository.search(getRepositoryContext(request), request.body);
|
|
7707
|
+
response.status(200).send(resource);
|
|
7708
|
+
}
|
|
7654
7709
|
};
|
|
7655
7710
|
|
|
7656
7711
|
//#endregion
|