@labdigital/commercetools-mock 2.47.0 → 2.47.1
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 +139 -144
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +142 -147
- package/dist/index.js.map +1 -1
- package/package.json +24 -25
- package/src/ctMock.ts +6 -3
- package/src/oauth/server.test.ts +8 -0
- package/src/oauth/server.ts +15 -11
- package/src/services/abstract.ts +25 -15
- package/src/services/cart.ts +3 -2
- package/src/services/custom-object.ts +8 -6
- package/src/services/customer.ts +4 -4
- package/src/services/my-cart.ts +3 -2
- package/src/services/my-customer.ts +16 -12
- package/src/services/order.ts +4 -3
- package/src/services/product-projection.ts +2 -2
- package/src/services/product.ts +1 -1
- package/src/services/project.ts +4 -3
- package/src/services/shipping-method.ts +4 -2
package/dist/index.cjs
CHANGED
|
@@ -28,12 +28,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
30
|
// src/index.ts
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
33
|
CommercetoolsMock: () => CommercetoolsMock,
|
|
34
34
|
getBaseResourceProperties: () => getBaseResourceProperties
|
|
35
35
|
});
|
|
36
|
-
module.exports = __toCommonJS(
|
|
36
|
+
module.exports = __toCommonJS(index_exports);
|
|
37
37
|
|
|
38
38
|
// src/ctMock.ts
|
|
39
39
|
var import_express10 = __toESM(require("express"), 1);
|
|
@@ -246,8 +246,7 @@ var OAuth2Store = class {
|
|
|
246
246
|
};
|
|
247
247
|
}
|
|
248
248
|
validateToken(token) {
|
|
249
|
-
if (!this.validate)
|
|
250
|
-
return true;
|
|
249
|
+
if (!this.validate) return true;
|
|
251
250
|
const foundToken = this.tokens.find((t) => t.access_token === token);
|
|
252
251
|
if (foundToken) {
|
|
253
252
|
return true;
|
|
@@ -362,7 +361,7 @@ var OAuth2Server = class {
|
|
|
362
361
|
)
|
|
363
362
|
);
|
|
364
363
|
}
|
|
365
|
-
const grantType = request.query.grant_type || request.body
|
|
364
|
+
const grantType = request.query.grant_type || request.body?.grant_type;
|
|
366
365
|
if (!grantType) {
|
|
367
366
|
return next(
|
|
368
367
|
new CommercetoolsError(
|
|
@@ -380,10 +379,11 @@ var OAuth2Server = class {
|
|
|
380
379
|
request.credentials.clientSecret,
|
|
381
380
|
request.query.scope?.toString()
|
|
382
381
|
);
|
|
383
|
-
|
|
382
|
+
response.status(200).send(token);
|
|
383
|
+
return;
|
|
384
384
|
}
|
|
385
385
|
if (grantType === "refresh_token") {
|
|
386
|
-
const refreshToken = request.query.refresh_token?.toString() || request.body
|
|
386
|
+
const refreshToken = request.query.refresh_token?.toString() || request.body?.refresh_token;
|
|
387
387
|
if (!refreshToken) {
|
|
388
388
|
return next(
|
|
389
389
|
new CommercetoolsError(
|
|
@@ -413,7 +413,8 @@ var OAuth2Server = class {
|
|
|
413
413
|
)
|
|
414
414
|
);
|
|
415
415
|
}
|
|
416
|
-
|
|
416
|
+
response.status(200).send(token);
|
|
417
|
+
return;
|
|
417
418
|
}
|
|
418
419
|
return next(
|
|
419
420
|
new CommercetoolsError(
|
|
@@ -427,7 +428,7 @@ var OAuth2Server = class {
|
|
|
427
428
|
}
|
|
428
429
|
async customerTokenHandler(request, response, next) {
|
|
429
430
|
const projectKey = request.params.projectKey;
|
|
430
|
-
const grantType = request.query.grant_type || request.body
|
|
431
|
+
const grantType = request.query.grant_type || request.body?.grant_type;
|
|
431
432
|
if (!grantType) {
|
|
432
433
|
return next(
|
|
433
434
|
new CommercetoolsError(
|
|
@@ -440,11 +441,11 @@ var OAuth2Server = class {
|
|
|
440
441
|
);
|
|
441
442
|
}
|
|
442
443
|
if (grantType === "password") {
|
|
443
|
-
const username = request.query.username || request.body
|
|
444
|
+
const username = request.query.username || request.body?.username;
|
|
444
445
|
const password = hashPassword(
|
|
445
446
|
request.query.password || request.body.password
|
|
446
447
|
);
|
|
447
|
-
const scope = request.query.scope?.toString() || request.body
|
|
448
|
+
const scope = request.query.scope?.toString() || request.body?.scope?.toString();
|
|
448
449
|
const result = this.customerRepository.query(
|
|
449
450
|
{ projectKey: request.params.projectKey },
|
|
450
451
|
{
|
|
@@ -464,7 +465,7 @@ var OAuth2Server = class {
|
|
|
464
465
|
}
|
|
465
466
|
const customer = result.results[0];
|
|
466
467
|
const token = this.store.getCustomerToken(projectKey, customer.id, scope);
|
|
467
|
-
|
|
468
|
+
response.status(200).send(token);
|
|
468
469
|
}
|
|
469
470
|
}
|
|
470
471
|
async inStoreCustomerTokenHandler(request, response, next) {
|
|
@@ -507,7 +508,8 @@ var OAuth2Server = class {
|
|
|
507
508
|
}
|
|
508
509
|
const customer = result.results[0];
|
|
509
510
|
const token = this.store.getCustomerToken(projectKey, customer.id, scope);
|
|
510
|
-
|
|
511
|
+
response.status(200).send(token);
|
|
512
|
+
return;
|
|
511
513
|
}
|
|
512
514
|
}
|
|
513
515
|
async anonymousTokenHandler(request, response, next) {
|
|
@@ -525,14 +527,15 @@ var OAuth2Server = class {
|
|
|
525
527
|
);
|
|
526
528
|
}
|
|
527
529
|
if (grantType === "client_credentials") {
|
|
528
|
-
const scope = request.query.scope?.toString() || request.body
|
|
530
|
+
const scope = request.query.scope?.toString() || request.body?.scope?.toString();
|
|
529
531
|
const anonymous_id = void 0;
|
|
530
532
|
const token = this.store.getAnonymousToken(
|
|
531
533
|
projectKey,
|
|
532
534
|
anonymous_id,
|
|
533
535
|
scope
|
|
534
536
|
);
|
|
535
|
-
|
|
537
|
+
response.status(200).send(token);
|
|
538
|
+
return;
|
|
536
539
|
}
|
|
537
540
|
}
|
|
538
541
|
};
|
|
@@ -590,8 +593,7 @@ var import_deep_equal = __toESM(require("deep-equal"), 1);
|
|
|
590
593
|
|
|
591
594
|
// src/repositories/errors.ts
|
|
592
595
|
var checkConcurrentModification = (currentVersion, expectedVersion, identifier) => {
|
|
593
|
-
if (currentVersion === expectedVersion)
|
|
594
|
-
return;
|
|
596
|
+
if (currentVersion === expectedVersion) return;
|
|
595
597
|
throw new CommercetoolsError(
|
|
596
598
|
{
|
|
597
599
|
message: `Object ${identifier} has a different version than expected. Expected: ${expectedVersion} - Actual: ${currentVersion}.`,
|
|
@@ -782,8 +784,7 @@ var import_uuid6 = require("uuid");
|
|
|
782
784
|
var import_decimal = require("decimal.js/decimal");
|
|
783
785
|
var import_uuid4 = require("uuid");
|
|
784
786
|
var createAddress = (base, projectKey, storage) => {
|
|
785
|
-
if (!base)
|
|
786
|
-
return void 0;
|
|
787
|
+
if (!base) return void 0;
|
|
787
788
|
if (!base?.country) {
|
|
788
789
|
throw new Error("Country is required");
|
|
789
790
|
}
|
|
@@ -792,12 +793,9 @@ var createAddress = (base, projectKey, storage) => {
|
|
|
792
793
|
};
|
|
793
794
|
};
|
|
794
795
|
var createCustomFields = (draft, projectKey, storage) => {
|
|
795
|
-
if (!draft)
|
|
796
|
-
|
|
797
|
-
if (!draft.type)
|
|
798
|
-
return void 0;
|
|
799
|
-
if (!draft.type.typeId)
|
|
800
|
-
return void 0;
|
|
796
|
+
if (!draft) return void 0;
|
|
797
|
+
if (!draft.type) return void 0;
|
|
798
|
+
if (!draft.type.typeId) return void 0;
|
|
801
799
|
const typeResource = storage.getByResourceIdentifier(
|
|
802
800
|
projectKey,
|
|
803
801
|
draft.type
|
|
@@ -880,8 +878,7 @@ var createTypedMoney = (value) => {
|
|
|
880
878
|
return result;
|
|
881
879
|
};
|
|
882
880
|
var resolveStoreReference = (ref, projectKey, storage) => {
|
|
883
|
-
if (!ref)
|
|
884
|
-
return void 0;
|
|
881
|
+
if (!ref) return void 0;
|
|
885
882
|
const resource = storage.getByResourceIdentifier(projectKey, ref);
|
|
886
883
|
if (!resource) {
|
|
887
884
|
throw new Error("No such store");
|
|
@@ -949,8 +946,7 @@ var getRepositoryContext = (request) => ({
|
|
|
949
946
|
storeKey: request.params.storeKey
|
|
950
947
|
});
|
|
951
948
|
var createAssociate = (a, projectKey, storage) => {
|
|
952
|
-
if (!a)
|
|
953
|
-
return void 0;
|
|
949
|
+
if (!a) return void 0;
|
|
954
950
|
if (!a.associateRoleAssignments) {
|
|
955
951
|
throw new Error("AssociateRoleAssignments is required");
|
|
956
952
|
}
|
|
@@ -1037,6 +1033,10 @@ var markMatchingShippingRatePriceTiers = (cart, tiers) => {
|
|
|
1037
1033
|
switch (tierType) {
|
|
1038
1034
|
case "CartValue":
|
|
1039
1035
|
return markMatchingCartValueTiers(cart, tiers);
|
|
1036
|
+
// case 'CartClassification':
|
|
1037
|
+
// return markMatchingCartClassificationTiers(cart, tiers)
|
|
1038
|
+
// case 'CartScore':
|
|
1039
|
+
// return markMatchingCartScoreTiers(cart, tiers)
|
|
1040
1040
|
default:
|
|
1041
1041
|
throw new Error(`Unsupported tier type: ${tierType}`);
|
|
1042
1042
|
}
|
|
@@ -1049,8 +1049,7 @@ var markMatchingCartValueTiers = (cart, tiers) => {
|
|
|
1049
1049
|
let hasMatchingTier = false;
|
|
1050
1050
|
for (const tier of sortedTiers) {
|
|
1051
1051
|
const isMatching = !hasMatchingTier && cart.totalPrice.currencyCode === tier.price.currencyCode && cart.totalPrice.centAmount >= tier.minimumCentAmount;
|
|
1052
|
-
if (isMatching)
|
|
1053
|
-
hasMatchingTier = true;
|
|
1052
|
+
if (isMatching) hasMatchingTier = true;
|
|
1054
1053
|
result[tier.minimumCentAmount] = {
|
|
1055
1054
|
...tier,
|
|
1056
1055
|
isMatching
|
|
@@ -1162,10 +1161,8 @@ var CartUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
1162
1161
|
product.masterData.current.masterVariant,
|
|
1163
1162
|
...product.masterData.current.variants
|
|
1164
1163
|
].find((x) => {
|
|
1165
|
-
if (sku)
|
|
1166
|
-
|
|
1167
|
-
if (variantId)
|
|
1168
|
-
return x.id === variantId;
|
|
1164
|
+
if (sku) return x.sku === sku;
|
|
1165
|
+
if (variantId) return x.id === variantId;
|
|
1169
1166
|
return false;
|
|
1170
1167
|
});
|
|
1171
1168
|
if (!variant) {
|
|
@@ -1693,10 +1690,8 @@ var CartRepository = class extends AbstractResourceRepository {
|
|
|
1693
1690
|
product.masterData.current.masterVariant,
|
|
1694
1691
|
...product.masterData.current.variants
|
|
1695
1692
|
].find((x) => {
|
|
1696
|
-
if (sku)
|
|
1697
|
-
|
|
1698
|
-
if (variantId)
|
|
1699
|
-
return x.id === variantId;
|
|
1693
|
+
if (sku) return x.sku === sku;
|
|
1694
|
+
if (variantId) return x.id === variantId;
|
|
1700
1695
|
return false;
|
|
1701
1696
|
});
|
|
1702
1697
|
if (!variant) {
|
|
@@ -1878,8 +1873,7 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
1878
1873
|
);
|
|
1879
1874
|
}
|
|
1880
1875
|
setStore(context, resource, { store }) {
|
|
1881
|
-
if (!store)
|
|
1882
|
-
return;
|
|
1876
|
+
if (!store) return;
|
|
1883
1877
|
const resolvedType = this._storage.getByResourceIdentifier(
|
|
1884
1878
|
context.projectKey,
|
|
1885
1879
|
store
|
|
@@ -1910,8 +1904,7 @@ var OrderUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
1910
1904
|
};
|
|
1911
1905
|
}
|
|
1912
1906
|
updateSyncInfo(context, resource, { channel, externalId, syncedAt }) {
|
|
1913
|
-
if (!channel)
|
|
1914
|
-
return;
|
|
1907
|
+
if (!channel) return;
|
|
1915
1908
|
const resolvedType = this._storage.getByResourceIdentifier(
|
|
1916
1909
|
context.projectKey,
|
|
1917
1910
|
channel
|
|
@@ -4024,19 +4017,16 @@ function toRegExp(str) {
|
|
|
4024
4017
|
return new RegExp(str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"));
|
|
4025
4018
|
}
|
|
4026
4019
|
function normalize(regex) {
|
|
4027
|
-
if (typeof regex === "string")
|
|
4028
|
-
regex = toRegExp(regex);
|
|
4020
|
+
if (typeof regex === "string") regex = toRegExp(regex);
|
|
4029
4021
|
if (!regex.source.startsWith("^"))
|
|
4030
4022
|
return new RegExp(`^${regex.source}`, regex.flags);
|
|
4031
|
-
else
|
|
4032
|
-
return regex;
|
|
4023
|
+
else return regex;
|
|
4033
4024
|
}
|
|
4034
4025
|
function first(arr, predicate) {
|
|
4035
4026
|
let i = 0;
|
|
4036
4027
|
for (const item of arr) {
|
|
4037
4028
|
const result = predicate(item, i++);
|
|
4038
|
-
if (result)
|
|
4039
|
-
return { item, result };
|
|
4029
|
+
if (result) return { item, result };
|
|
4040
4030
|
}
|
|
4041
4031
|
}
|
|
4042
4032
|
var TokenTypes = class {
|
|
@@ -4200,8 +4190,7 @@ var Lexer = class {
|
|
|
4200
4190
|
*/
|
|
4201
4191
|
peek(position = this._state.position) {
|
|
4202
4192
|
const read = (i = position) => {
|
|
4203
|
-
if (i >= this._state.source.length)
|
|
4204
|
-
return EOF(this);
|
|
4193
|
+
if (i >= this._state.source.length) return EOF(this);
|
|
4205
4194
|
const n = this._tokenTypes.peek(this._state.source, i);
|
|
4206
4195
|
if (!n || !n.result) {
|
|
4207
4196
|
throw new Error(
|
|
@@ -4221,8 +4210,7 @@ var Lexer = class {
|
|
|
4221
4210
|
) : null;
|
|
4222
4211
|
};
|
|
4223
4212
|
const t = read();
|
|
4224
|
-
if (t)
|
|
4225
|
-
return t;
|
|
4213
|
+
if (t) return t;
|
|
4226
4214
|
let unexpected = this._state.source.substring(position, position + 1);
|
|
4227
4215
|
try {
|
|
4228
4216
|
this.peek(position + 1);
|
|
@@ -4244,8 +4232,7 @@ var Lexer = class {
|
|
|
4244
4232
|
*/
|
|
4245
4233
|
strpos(i) {
|
|
4246
4234
|
let lines = this._state.source.substring(0, i).split(/\r?\n/);
|
|
4247
|
-
if (!Array.isArray(lines))
|
|
4248
|
-
lines = [lines];
|
|
4235
|
+
if (!Array.isArray(lines)) lines = [lines];
|
|
4249
4236
|
const line = lines.length;
|
|
4250
4237
|
const column = lines[lines.length - 1].length + 1;
|
|
4251
4238
|
return { line, column };
|
|
@@ -4344,8 +4331,7 @@ var Parser = class {
|
|
|
4344
4331
|
* @returns {number} The binding power of the specified token type
|
|
4345
4332
|
*/
|
|
4346
4333
|
bp(tokenOrType) {
|
|
4347
|
-
if (tokenOrType == null)
|
|
4348
|
-
return Number.NEGATIVE_INFINITY;
|
|
4334
|
+
if (tokenOrType == null) return Number.NEGATIVE_INFINITY;
|
|
4349
4335
|
if (tokenOrType && typeof tokenOrType.isEof == "function" && tokenOrType.isEof())
|
|
4350
4336
|
return Number.NEGATIVE_INFINITY;
|
|
4351
4337
|
const type = this._type(tokenOrType);
|
|
@@ -4390,27 +4376,21 @@ var Parser = class {
|
|
|
4390
4376
|
parse(opts = { terminals: [0] }) {
|
|
4391
4377
|
const stop = opts.stop = opts.stop || createStop();
|
|
4392
4378
|
const check = () => {
|
|
4393
|
-
if (stop.isStopped())
|
|
4394
|
-
return false;
|
|
4379
|
+
if (stop.isStopped()) return false;
|
|
4395
4380
|
const t = this.lexer.peek();
|
|
4396
4381
|
const bp = this.bp(t);
|
|
4397
4382
|
return opts.terminals.reduce((canContinue, rbpOrType) => {
|
|
4398
|
-
if (!canContinue)
|
|
4399
|
-
|
|
4400
|
-
if (typeof rbpOrType == "
|
|
4401
|
-
return rbpOrType < bp;
|
|
4402
|
-
if (typeof rbpOrType == "string")
|
|
4403
|
-
return t.type != rbpOrType;
|
|
4383
|
+
if (!canContinue) return false;
|
|
4384
|
+
if (typeof rbpOrType == "number") return rbpOrType < bp;
|
|
4385
|
+
if (typeof rbpOrType == "string") return t.type != rbpOrType;
|
|
4404
4386
|
}, true);
|
|
4405
4387
|
};
|
|
4406
4388
|
const mkinfo = (token) => {
|
|
4407
4389
|
const bp = this.bp(token);
|
|
4408
4390
|
return { token, bp, stop, ctx: opts.ctx, options: opts };
|
|
4409
4391
|
};
|
|
4410
|
-
if (!opts.terminals)
|
|
4411
|
-
|
|
4412
|
-
if (opts.terminals.length == 0)
|
|
4413
|
-
opts.terminals.push(0);
|
|
4392
|
+
if (!opts.terminals) opts.terminals = [0];
|
|
4393
|
+
if (opts.terminals.length == 0) opts.terminals.push(0);
|
|
4414
4394
|
let left = this.nud(mkinfo(this.lexer.next()));
|
|
4415
4395
|
while (check()) {
|
|
4416
4396
|
const operator = this.lexer.next();
|
|
@@ -4613,8 +4593,7 @@ var generateMatchFunc = (filter) => {
|
|
|
4613
4593
|
throw new Error(`Syntax error while parsing '${filter}'.`);
|
|
4614
4594
|
}
|
|
4615
4595
|
return (obj) => {
|
|
4616
|
-
if (!result.children)
|
|
4617
|
-
return false;
|
|
4596
|
+
if (!result.children) return false;
|
|
4618
4597
|
return result.children.some((c) => c.match(obj));
|
|
4619
4598
|
};
|
|
4620
4599
|
};
|
|
@@ -6225,8 +6204,7 @@ var generateMatchFunc2 = (predicate) => {
|
|
|
6225
6204
|
const expr = parser.parse({ terminals: [")"] });
|
|
6226
6205
|
return (obj, vars) => {
|
|
6227
6206
|
const value = resolveValue(obj, left);
|
|
6228
|
-
if (!value)
|
|
6229
|
-
return false;
|
|
6207
|
+
if (!value) return false;
|
|
6230
6208
|
const maxDistance = resolveSymbol(expr[2], vars);
|
|
6231
6209
|
const distance = haversineDistance(
|
|
6232
6210
|
{
|
|
@@ -6364,8 +6342,7 @@ var ProductProjectionSearch = class {
|
|
|
6364
6342
|
};
|
|
6365
6343
|
}
|
|
6366
6344
|
getFacets(params, products) {
|
|
6367
|
-
if (!params.facet)
|
|
6368
|
-
return {};
|
|
6345
|
+
if (!params.facet) return {};
|
|
6369
6346
|
const result = {};
|
|
6370
6347
|
const regexp = new RegExp(/ counting products$/);
|
|
6371
6348
|
for (let facet of params.facet) {
|
|
@@ -7139,8 +7116,7 @@ var ReviewRepository = class extends AbstractResourceRepository {
|
|
|
7139
7116
|
super("review", config);
|
|
7140
7117
|
}
|
|
7141
7118
|
create(context, draft) {
|
|
7142
|
-
if (!draft.target)
|
|
7143
|
-
throw new Error("Missing target");
|
|
7119
|
+
if (!draft.target) throw new Error("Missing target");
|
|
7144
7120
|
const resource = {
|
|
7145
7121
|
...getBaseResourceProperties(),
|
|
7146
7122
|
locale: draft.locale,
|
|
@@ -7746,8 +7722,7 @@ var StoreRepository = class extends AbstractResourceRepository {
|
|
|
7746
7722
|
}
|
|
7747
7723
|
};
|
|
7748
7724
|
var transformChannels = (context, storage, channels) => {
|
|
7749
|
-
if (!channels)
|
|
7750
|
-
return [];
|
|
7725
|
+
if (!channels) return [];
|
|
7751
7726
|
return channels.map(
|
|
7752
7727
|
(ref) => getReferenceFromResourceIdentifier(
|
|
7753
7728
|
ref,
|
|
@@ -8164,14 +8139,16 @@ var AbstractService = class {
|
|
|
8164
8139
|
}
|
|
8165
8140
|
}
|
|
8166
8141
|
const result = this.repository.query(getRepositoryContext(request), params);
|
|
8167
|
-
|
|
8142
|
+
response.status(200).send(result);
|
|
8143
|
+
return;
|
|
8168
8144
|
}
|
|
8169
8145
|
getWithId(request, response) {
|
|
8170
8146
|
const result = this._expandWithId(request, request.params.id);
|
|
8171
8147
|
if (!result) {
|
|
8172
|
-
|
|
8148
|
+
response.status(404).send();
|
|
8149
|
+
return;
|
|
8173
8150
|
}
|
|
8174
|
-
|
|
8151
|
+
response.status(200).send(result);
|
|
8175
8152
|
}
|
|
8176
8153
|
getWithKey(request, response) {
|
|
8177
8154
|
const result = this.repository.getByKey(
|
|
@@ -8181,9 +8158,11 @@ var AbstractService = class {
|
|
|
8181
8158
|
expand: this._parseParam(request.query.expand)
|
|
8182
8159
|
}
|
|
8183
8160
|
);
|
|
8184
|
-
if (!result)
|
|
8185
|
-
|
|
8186
|
-
|
|
8161
|
+
if (!result) {
|
|
8162
|
+
response.status(404).send();
|
|
8163
|
+
return;
|
|
8164
|
+
}
|
|
8165
|
+
response.status(200).send(result);
|
|
8187
8166
|
}
|
|
8188
8167
|
deleteWithId(request, response) {
|
|
8189
8168
|
const result = this.repository.delete(
|
|
@@ -8194,9 +8173,10 @@ var AbstractService = class {
|
|
|
8194
8173
|
}
|
|
8195
8174
|
);
|
|
8196
8175
|
if (!result) {
|
|
8197
|
-
|
|
8176
|
+
response.status(404).send("Not found");
|
|
8177
|
+
return;
|
|
8198
8178
|
}
|
|
8199
|
-
|
|
8179
|
+
response.status(200).send(result);
|
|
8200
8180
|
}
|
|
8201
8181
|
deleteWithKey(request, response) {
|
|
8202
8182
|
const resource = this.repository.getByKey(
|
|
@@ -8204,7 +8184,8 @@ var AbstractService = class {
|
|
|
8204
8184
|
request.params.key
|
|
8205
8185
|
);
|
|
8206
8186
|
if (!resource) {
|
|
8207
|
-
|
|
8187
|
+
response.status(404).send("Not found");
|
|
8188
|
+
return;
|
|
8208
8189
|
}
|
|
8209
8190
|
const result = this.repository.delete(
|
|
8210
8191
|
getRepositoryContext(request),
|
|
@@ -8214,9 +8195,10 @@ var AbstractService = class {
|
|
|
8214
8195
|
}
|
|
8215
8196
|
);
|
|
8216
8197
|
if (!result) {
|
|
8217
|
-
|
|
8198
|
+
response.status(404).send("Not found");
|
|
8199
|
+
return;
|
|
8218
8200
|
}
|
|
8219
|
-
|
|
8201
|
+
response.status(200).send(result);
|
|
8220
8202
|
}
|
|
8221
8203
|
post(request, response) {
|
|
8222
8204
|
const draft = request.body;
|
|
@@ -8225,7 +8207,7 @@ var AbstractService = class {
|
|
|
8225
8207
|
draft
|
|
8226
8208
|
);
|
|
8227
8209
|
const result = this._expandWithId(request, resource.id);
|
|
8228
|
-
|
|
8210
|
+
response.status(this.createStatusCode).send(result);
|
|
8229
8211
|
}
|
|
8230
8212
|
postWithId(request, response) {
|
|
8231
8213
|
const updateRequest = validateData(
|
|
@@ -8237,7 +8219,8 @@ var AbstractService = class {
|
|
|
8237
8219
|
request.params.id
|
|
8238
8220
|
);
|
|
8239
8221
|
if (!resource) {
|
|
8240
|
-
|
|
8222
|
+
response.status(404).send("Not found");
|
|
8223
|
+
return;
|
|
8241
8224
|
}
|
|
8242
8225
|
const updatedResource = this.repository.processUpdateActions(
|
|
8243
8226
|
getRepositoryContext(request),
|
|
@@ -8246,7 +8229,7 @@ var AbstractService = class {
|
|
|
8246
8229
|
updateRequest.actions
|
|
8247
8230
|
);
|
|
8248
8231
|
const result = this._expandWithId(request, updatedResource.id);
|
|
8249
|
-
|
|
8232
|
+
response.status(200).send(result);
|
|
8250
8233
|
}
|
|
8251
8234
|
postWithKey(request, response) {
|
|
8252
8235
|
const updateRequest = validateData(
|
|
@@ -8258,7 +8241,8 @@ var AbstractService = class {
|
|
|
8258
8241
|
request.params.key
|
|
8259
8242
|
);
|
|
8260
8243
|
if (!resource) {
|
|
8261
|
-
|
|
8244
|
+
response.status(404).send("Not found");
|
|
8245
|
+
return;
|
|
8262
8246
|
}
|
|
8263
8247
|
const updatedResource = this.repository.processUpdateActions(
|
|
8264
8248
|
getRepositoryContext(request),
|
|
@@ -8267,7 +8251,7 @@ var AbstractService = class {
|
|
|
8267
8251
|
updateRequest.actions
|
|
8268
8252
|
);
|
|
8269
8253
|
const result = this._expandWithId(request, updatedResource.id);
|
|
8270
|
-
|
|
8254
|
+
response.status(200).send(result);
|
|
8271
8255
|
}
|
|
8272
8256
|
_expandWithId(request, resourceId) {
|
|
8273
8257
|
const result = this.repository.get(
|
|
@@ -8404,7 +8388,8 @@ var CartService = class extends AbstractService {
|
|
|
8404
8388
|
const context = getRepositoryContext(request);
|
|
8405
8389
|
const cartOrOrder = request.body.reference.typeId === "order" ? this.orderRepository.get(context, request.body.reference.id) : this.repository.get(context, request.body.reference.id);
|
|
8406
8390
|
if (!cartOrOrder) {
|
|
8407
|
-
|
|
8391
|
+
response.status(400).send();
|
|
8392
|
+
return;
|
|
8408
8393
|
}
|
|
8409
8394
|
const cartDraft = {
|
|
8410
8395
|
...cartOrOrder,
|
|
@@ -8419,7 +8404,7 @@ var CartService = class extends AbstractService {
|
|
|
8419
8404
|
}))
|
|
8420
8405
|
};
|
|
8421
8406
|
const newCart = this.repository.create(context, cartDraft);
|
|
8422
|
-
|
|
8407
|
+
response.status(200).send(newCart);
|
|
8423
8408
|
}
|
|
8424
8409
|
};
|
|
8425
8410
|
|
|
@@ -8491,7 +8476,7 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8491
8476
|
offset: offset !== void 0 ? Number(offset) : void 0
|
|
8492
8477
|
}
|
|
8493
8478
|
);
|
|
8494
|
-
|
|
8479
|
+
response.status(200).send(result);
|
|
8495
8480
|
}
|
|
8496
8481
|
getWithContainerAndKey(request, response) {
|
|
8497
8482
|
const result = this.repository.getWithContainerAndKey(
|
|
@@ -8500,9 +8485,10 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8500
8485
|
request.params.key
|
|
8501
8486
|
);
|
|
8502
8487
|
if (!result) {
|
|
8503
|
-
|
|
8488
|
+
response.status(404).send("Not Found");
|
|
8489
|
+
return;
|
|
8504
8490
|
}
|
|
8505
|
-
|
|
8491
|
+
response.status(200).send(result);
|
|
8506
8492
|
}
|
|
8507
8493
|
createWithContainerAndKey(request, response) {
|
|
8508
8494
|
const draft = {
|
|
@@ -8511,7 +8497,7 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8511
8497
|
container: request.params.container
|
|
8512
8498
|
};
|
|
8513
8499
|
const result = this.repository.create(getRepositoryContext(request), draft);
|
|
8514
|
-
|
|
8500
|
+
response.status(200).send(result);
|
|
8515
8501
|
}
|
|
8516
8502
|
deleteWithContainerAndKey(request, response) {
|
|
8517
8503
|
const current = this.repository.getWithContainerAndKey(
|
|
@@ -8520,13 +8506,14 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8520
8506
|
request.params.key
|
|
8521
8507
|
);
|
|
8522
8508
|
if (!current) {
|
|
8523
|
-
|
|
8509
|
+
response.status(404).send("Not Found");
|
|
8510
|
+
return;
|
|
8524
8511
|
}
|
|
8525
8512
|
const result = this.repository.delete(
|
|
8526
8513
|
getRepositoryContext(request),
|
|
8527
8514
|
current.id
|
|
8528
8515
|
);
|
|
8529
|
-
|
|
8516
|
+
response.status(200).send(result);
|
|
8530
8517
|
}
|
|
8531
8518
|
};
|
|
8532
8519
|
|
|
@@ -8555,21 +8542,21 @@ var CustomerService = class extends AbstractService {
|
|
|
8555
8542
|
const result = {
|
|
8556
8543
|
customer: expanded
|
|
8557
8544
|
};
|
|
8558
|
-
|
|
8545
|
+
response.status(this.createStatusCode).send(result);
|
|
8559
8546
|
}
|
|
8560
8547
|
passwordResetToken(request, response) {
|
|
8561
8548
|
const customer = this.repository.passwordResetToken(
|
|
8562
8549
|
getRepositoryContext(request),
|
|
8563
8550
|
request.body
|
|
8564
8551
|
);
|
|
8565
|
-
|
|
8552
|
+
response.status(200).send(customer);
|
|
8566
8553
|
}
|
|
8567
8554
|
passwordReset(request, response) {
|
|
8568
8555
|
const customer = this.repository.passwordReset(
|
|
8569
8556
|
getRepositoryContext(request),
|
|
8570
8557
|
request.body
|
|
8571
8558
|
);
|
|
8572
|
-
|
|
8559
|
+
response.status(200).send(customer);
|
|
8573
8560
|
}
|
|
8574
8561
|
confirmEmailToken(request, response) {
|
|
8575
8562
|
const id = request.body.id;
|
|
@@ -8577,7 +8564,7 @@ var CustomerService = class extends AbstractService {
|
|
|
8577
8564
|
getRepositoryContext(request),
|
|
8578
8565
|
id
|
|
8579
8566
|
);
|
|
8580
|
-
|
|
8567
|
+
response.status(200).send(token);
|
|
8581
8568
|
}
|
|
8582
8569
|
};
|
|
8583
8570
|
|
|
@@ -8675,9 +8662,10 @@ var MyCartService = class extends AbstractService {
|
|
|
8675
8662
|
activeCart(request, response) {
|
|
8676
8663
|
const resource = this.repository.getActiveCart(request.params.projectKey);
|
|
8677
8664
|
if (!resource) {
|
|
8678
|
-
|
|
8665
|
+
response.status(404).send("Not found");
|
|
8666
|
+
return;
|
|
8679
8667
|
}
|
|
8680
|
-
|
|
8668
|
+
response.status(200).send(resource);
|
|
8681
8669
|
}
|
|
8682
8670
|
};
|
|
8683
8671
|
|
|
@@ -8709,14 +8697,16 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8709
8697
|
getMe(request, response) {
|
|
8710
8698
|
const resource = this.repository.getMe(getRepositoryContext(request));
|
|
8711
8699
|
if (!resource) {
|
|
8712
|
-
|
|
8700
|
+
response.status(404).send("Not found");
|
|
8701
|
+
return;
|
|
8713
8702
|
}
|
|
8714
|
-
|
|
8703
|
+
response.status(200).send(resource);
|
|
8715
8704
|
}
|
|
8716
8705
|
updateMe(request, response) {
|
|
8717
8706
|
const resource = this.repository.getMe(getRepositoryContext(request));
|
|
8718
8707
|
if (!resource) {
|
|
8719
|
-
|
|
8708
|
+
response.status(404).send("Not found");
|
|
8709
|
+
return;
|
|
8720
8710
|
}
|
|
8721
8711
|
const updateRequest = validateData(
|
|
8722
8712
|
request.body,
|
|
@@ -8729,14 +8719,15 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8729
8719
|
updateRequest.actions
|
|
8730
8720
|
);
|
|
8731
8721
|
const result = this._expandWithId(request, updatedResource.id);
|
|
8732
|
-
|
|
8722
|
+
response.status(200).send(result);
|
|
8733
8723
|
}
|
|
8734
8724
|
deleteMe(request, response) {
|
|
8735
8725
|
const resource = this.repository.deleteMe(getRepositoryContext(request));
|
|
8736
8726
|
if (!resource) {
|
|
8737
|
-
|
|
8727
|
+
response.status(404).send("Not found");
|
|
8728
|
+
return;
|
|
8738
8729
|
}
|
|
8739
|
-
|
|
8730
|
+
response.status(200).send(resource);
|
|
8740
8731
|
}
|
|
8741
8732
|
signUp(request, response) {
|
|
8742
8733
|
const draft = request.body;
|
|
@@ -8745,28 +8736,28 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8745
8736
|
draft
|
|
8746
8737
|
);
|
|
8747
8738
|
const result = this._expandWithId(request, resource.id);
|
|
8748
|
-
|
|
8739
|
+
response.status(this.createStatusCode).send({ customer: result });
|
|
8749
8740
|
}
|
|
8750
8741
|
changePassword(request, response) {
|
|
8751
8742
|
const customer = this.repository.changePassword(
|
|
8752
8743
|
getRepositoryContext(request),
|
|
8753
8744
|
request.body
|
|
8754
8745
|
);
|
|
8755
|
-
|
|
8746
|
+
response.status(200).send(customer);
|
|
8756
8747
|
}
|
|
8757
8748
|
resetPassword(request, response) {
|
|
8758
8749
|
const customer = this.repository.passwordReset(
|
|
8759
8750
|
getRepositoryContext(request),
|
|
8760
8751
|
request.body
|
|
8761
8752
|
);
|
|
8762
|
-
|
|
8753
|
+
response.status(200).send(customer);
|
|
8763
8754
|
}
|
|
8764
8755
|
emailConfirm(request, response) {
|
|
8765
8756
|
const customer = this.repository.confirmEmail(
|
|
8766
8757
|
getRepositoryContext(request),
|
|
8767
8758
|
request.body
|
|
8768
8759
|
);
|
|
8769
|
-
|
|
8760
|
+
response.status(200).send(customer);
|
|
8770
8761
|
}
|
|
8771
8762
|
signIn(request, response) {
|
|
8772
8763
|
const { email, password } = request.body;
|
|
@@ -8775,7 +8766,7 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8775
8766
|
where: [`email = "${email}"`, `password = "${encodedPassword}"`]
|
|
8776
8767
|
});
|
|
8777
8768
|
if (result.count === 0) {
|
|
8778
|
-
|
|
8769
|
+
response.status(400).send({
|
|
8779
8770
|
message: "Account with the given credentials not found.",
|
|
8780
8771
|
errors: [
|
|
8781
8772
|
{
|
|
@@ -8784,8 +8775,9 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8784
8775
|
}
|
|
8785
8776
|
]
|
|
8786
8777
|
});
|
|
8778
|
+
return;
|
|
8787
8779
|
}
|
|
8788
|
-
|
|
8780
|
+
response.status(200).send({ customer: result.results[0] });
|
|
8789
8781
|
}
|
|
8790
8782
|
};
|
|
8791
8783
|
|
|
@@ -8860,7 +8852,7 @@ var OrderService = class extends AbstractService {
|
|
|
8860
8852
|
getRepositoryContext(request),
|
|
8861
8853
|
importDraft
|
|
8862
8854
|
);
|
|
8863
|
-
|
|
8855
|
+
response.status(200).send(resource);
|
|
8864
8856
|
}
|
|
8865
8857
|
getWithOrderNumber(request, response) {
|
|
8866
8858
|
const resource = this.repository.getWithOrderNumber(
|
|
@@ -8870,9 +8862,10 @@ var OrderService = class extends AbstractService {
|
|
|
8870
8862
|
request.query
|
|
8871
8863
|
);
|
|
8872
8864
|
if (resource) {
|
|
8873
|
-
|
|
8865
|
+
response.status(200).send(resource);
|
|
8866
|
+
return;
|
|
8874
8867
|
}
|
|
8875
|
-
|
|
8868
|
+
response.status(404).send("Not found");
|
|
8876
8869
|
}
|
|
8877
8870
|
};
|
|
8878
8871
|
|
|
@@ -8907,7 +8900,7 @@ var ProductService = class extends AbstractService {
|
|
|
8907
8900
|
getRepositoryContext(request),
|
|
8908
8901
|
searchBody
|
|
8909
8902
|
);
|
|
8910
|
-
|
|
8903
|
+
response.status(200).send(resource);
|
|
8911
8904
|
}
|
|
8912
8905
|
};
|
|
8913
8906
|
|
|
@@ -8946,7 +8939,7 @@ var ProductProjectionService = class extends AbstractService {
|
|
|
8946
8939
|
limit: limit !== void 0 ? Number(limit) : void 0,
|
|
8947
8940
|
offset: offset !== void 0 ? Number(offset) : void 0
|
|
8948
8941
|
});
|
|
8949
|
-
|
|
8942
|
+
response.status(200).send(result);
|
|
8950
8943
|
}
|
|
8951
8944
|
search(request, response) {
|
|
8952
8945
|
const query = request.query;
|
|
@@ -8969,7 +8962,7 @@ var ProductProjectionService = class extends AbstractService {
|
|
|
8969
8962
|
getRepositoryContext(request),
|
|
8970
8963
|
searchParams
|
|
8971
8964
|
);
|
|
8972
|
-
|
|
8965
|
+
response.status(200).send(resource);
|
|
8973
8966
|
}
|
|
8974
8967
|
};
|
|
8975
8968
|
|
|
@@ -9062,7 +9055,8 @@ var ShippingMethodService = class extends AbstractService {
|
|
|
9062
9055
|
matchingCart(request, response) {
|
|
9063
9056
|
const cartId = queryParamsValue(request.query.cartId);
|
|
9064
9057
|
if (!cartId) {
|
|
9065
|
-
|
|
9058
|
+
response.status(400).send();
|
|
9059
|
+
return;
|
|
9066
9060
|
}
|
|
9067
9061
|
const result = this.repository.matchingCart(
|
|
9068
9062
|
getRepositoryContext(request),
|
|
@@ -9071,7 +9065,8 @@ var ShippingMethodService = class extends AbstractService {
|
|
|
9071
9065
|
expand: this._parseParam(request.query.expand)
|
|
9072
9066
|
}
|
|
9073
9067
|
);
|
|
9074
|
-
|
|
9068
|
+
response.status(200).send(result);
|
|
9069
|
+
return;
|
|
9075
9070
|
}
|
|
9076
9071
|
};
|
|
9077
9072
|
|
|
@@ -9255,7 +9250,7 @@ var ProjectService = class {
|
|
|
9255
9250
|
}
|
|
9256
9251
|
get(request, response) {
|
|
9257
9252
|
const project = this.repository.get(getRepositoryContext(request));
|
|
9258
|
-
|
|
9253
|
+
response.status(200).send(project);
|
|
9259
9254
|
}
|
|
9260
9255
|
post(request, response) {
|
|
9261
9256
|
const updateRequest = validateData(
|
|
@@ -9264,7 +9259,8 @@ var ProjectService = class {
|
|
|
9264
9259
|
);
|
|
9265
9260
|
const project = this.repository.get(getRepositoryContext(request));
|
|
9266
9261
|
if (!project) {
|
|
9267
|
-
|
|
9262
|
+
response.status(404).send({});
|
|
9263
|
+
return;
|
|
9268
9264
|
}
|
|
9269
9265
|
const updatedResource = this.repository.processUpdateActions(
|
|
9270
9266
|
getRepositoryContext(request),
|
|
@@ -9272,7 +9268,7 @@ var ProjectService = class {
|
|
|
9272
9268
|
updateRequest.version,
|
|
9273
9269
|
updateRequest.actions
|
|
9274
9270
|
);
|
|
9275
|
-
|
|
9271
|
+
response.status(200).send(updatedResource);
|
|
9276
9272
|
}
|
|
9277
9273
|
};
|
|
9278
9274
|
|
|
@@ -9328,8 +9324,7 @@ var InMemoryStorage = class extends AbstractStorage {
|
|
|
9328
9324
|
getProject = (projectKey) => this.addProject(projectKey);
|
|
9329
9325
|
// Expand resolves a nested reference and injects the object in the given obj
|
|
9330
9326
|
expand = (projectKey, obj, clause) => {
|
|
9331
|
-
if (!clause)
|
|
9332
|
-
return obj;
|
|
9327
|
+
if (!clause) return obj;
|
|
9333
9328
|
const newObj = cloneObject(obj);
|
|
9334
9329
|
if (Array.isArray(clause)) {
|
|
9335
9330
|
for (const c of clause) {
|
|
@@ -9360,15 +9355,13 @@ var InMemoryStorage = class extends AbstractStorage {
|
|
|
9360
9355
|
this._resolveReference(projectKey, reference, params.rest);
|
|
9361
9356
|
} else if (params.index === "*") {
|
|
9362
9357
|
const reference = obj[params.element];
|
|
9363
|
-
if (reference === void 0 || !Array.isArray(reference))
|
|
9364
|
-
return;
|
|
9358
|
+
if (reference === void 0 || !Array.isArray(reference)) return;
|
|
9365
9359
|
for (const itemRef of reference) {
|
|
9366
9360
|
this._resolveReference(projectKey, itemRef, params.rest);
|
|
9367
9361
|
}
|
|
9368
9362
|
} else {
|
|
9369
9363
|
const reference = obj[params.element][params.index];
|
|
9370
|
-
if (reference === void 0)
|
|
9371
|
-
return;
|
|
9364
|
+
if (reference === void 0) return;
|
|
9372
9365
|
this._resolveReference(projectKey, reference, params.rest);
|
|
9373
9366
|
}
|
|
9374
9367
|
};
|
|
@@ -9579,8 +9572,7 @@ var InMemoryStorage = class extends AbstractStorage {
|
|
|
9579
9572
|
});
|
|
9580
9573
|
}
|
|
9581
9574
|
_resolveReference(projectKey, reference, expand) {
|
|
9582
|
-
if (reference === void 0)
|
|
9583
|
-
return;
|
|
9575
|
+
if (reference === void 0) return;
|
|
9584
9576
|
if (reference.typeId !== void 0 && (reference.id !== void 0 || reference.key !== void 0)) {
|
|
9585
9577
|
if (!reference.obj) {
|
|
9586
9578
|
reference.obj = this.getByResourceIdentifier(projectKey, {
|
|
@@ -9722,22 +9714,25 @@ var CommercetoolsMock = class {
|
|
|
9722
9714
|
app.use((err, req, resp, next) => {
|
|
9723
9715
|
if (err instanceof CommercetoolsError) {
|
|
9724
9716
|
if (err.errors?.length > 0) {
|
|
9725
|
-
|
|
9717
|
+
resp.status(err.statusCode).send({
|
|
9726
9718
|
statusCode: err.statusCode,
|
|
9727
9719
|
message: err.message,
|
|
9728
9720
|
errors: err.errors
|
|
9729
9721
|
});
|
|
9722
|
+
return;
|
|
9730
9723
|
}
|
|
9731
|
-
|
|
9724
|
+
resp.status(err.statusCode).send({
|
|
9732
9725
|
statusCode: err.statusCode,
|
|
9733
9726
|
message: err.message,
|
|
9734
9727
|
errors: [err.info]
|
|
9735
9728
|
});
|
|
9729
|
+
return;
|
|
9736
9730
|
}
|
|
9737
9731
|
console.error(err);
|
|
9738
|
-
|
|
9732
|
+
resp.status(500).send({
|
|
9739
9733
|
error: err.message
|
|
9740
9734
|
});
|
|
9735
|
+
return;
|
|
9741
9736
|
});
|
|
9742
9737
|
return app;
|
|
9743
9738
|
}
|