@labdigital/commercetools-mock 2.47.0 → 2.48.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 +327 -277
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -7
- package/dist/index.d.ts +10 -7
- package/dist/index.js +323 -273
- 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/repositories/as-associate.ts +2 -0
- package/src/repositories/index.ts +2 -0
- package/src/repositories/my-quote-request.ts +3 -0
- package/src/repositories/quote-request/index.ts +13 -1
- package/src/services/abstract.ts +43 -15
- package/src/services/as-associate-quote-request.ts +34 -0
- package/src/services/as-associate.ts +8 -0
- 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,15 +28,15 @@ 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
|
-
var
|
|
39
|
+
var import_express11 = __toESM(require("express"), 1);
|
|
40
40
|
var import_light_my_request = __toESM(require("light-my-request"), 1);
|
|
41
41
|
var import_morgan = __toESM(require("morgan"), 1);
|
|
42
42
|
var import_msw = require("msw");
|
|
@@ -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
|
|
@@ -2140,11 +2133,125 @@ var OrderRepository = class extends AbstractResourceRepository {
|
|
|
2140
2133
|
}
|
|
2141
2134
|
};
|
|
2142
2135
|
|
|
2136
|
+
// src/repositories/quote-request/index.ts
|
|
2137
|
+
var import_node_assert2 = __toESM(require("assert"), 1);
|
|
2138
|
+
|
|
2139
|
+
// src/repositories/quote-request/actions.ts
|
|
2140
|
+
var QuoteRequestUpdateHandler = class extends AbstractUpdateHandler {
|
|
2141
|
+
setCustomField(context, resource, { name, value }) {
|
|
2142
|
+
if (!resource.custom) {
|
|
2143
|
+
throw new Error("Resource has no custom field");
|
|
2144
|
+
}
|
|
2145
|
+
resource.custom.fields[name] = value;
|
|
2146
|
+
}
|
|
2147
|
+
setCustomType(context, resource, { type, fields }) {
|
|
2148
|
+
if (!type) {
|
|
2149
|
+
resource.custom = void 0;
|
|
2150
|
+
} else {
|
|
2151
|
+
const resolvedType = this._storage.getByResourceIdentifier(
|
|
2152
|
+
context.projectKey,
|
|
2153
|
+
type
|
|
2154
|
+
);
|
|
2155
|
+
if (!resolvedType) {
|
|
2156
|
+
throw new Error(`Type ${type} not found`);
|
|
2157
|
+
}
|
|
2158
|
+
resource.custom = {
|
|
2159
|
+
type: {
|
|
2160
|
+
typeId: "type",
|
|
2161
|
+
id: resolvedType.id
|
|
2162
|
+
},
|
|
2163
|
+
fields: fields || {}
|
|
2164
|
+
};
|
|
2165
|
+
}
|
|
2166
|
+
}
|
|
2167
|
+
transitionState(context, resource, { state, force }) {
|
|
2168
|
+
let stateReference = void 0;
|
|
2169
|
+
if (state) {
|
|
2170
|
+
stateReference = getReferenceFromResourceIdentifier(
|
|
2171
|
+
state,
|
|
2172
|
+
context.projectKey,
|
|
2173
|
+
this._storage
|
|
2174
|
+
);
|
|
2175
|
+
resource.state = stateReference;
|
|
2176
|
+
} else {
|
|
2177
|
+
throw new CommercetoolsError(
|
|
2178
|
+
{
|
|
2179
|
+
code: "InvalidJsonInput",
|
|
2180
|
+
message: "Request body does not contain valid JSON.",
|
|
2181
|
+
detailedErrorMessage: "actions -> state: Missing required value"
|
|
2182
|
+
},
|
|
2183
|
+
400
|
|
2184
|
+
);
|
|
2185
|
+
}
|
|
2186
|
+
return resource;
|
|
2187
|
+
}
|
|
2188
|
+
};
|
|
2189
|
+
|
|
2190
|
+
// src/repositories/quote-request/index.ts
|
|
2191
|
+
var QuoteRequestRepository = class extends AbstractResourceRepository {
|
|
2192
|
+
constructor(config) {
|
|
2193
|
+
super("quote-request", config);
|
|
2194
|
+
this.actions = new QuoteRequestUpdateHandler(config.storage);
|
|
2195
|
+
}
|
|
2196
|
+
create(context, draft) {
|
|
2197
|
+
if ("cartId" in draft) {
|
|
2198
|
+
return this.createFromCart(context, {
|
|
2199
|
+
id: draft.cartId,
|
|
2200
|
+
typeId: "cart"
|
|
2201
|
+
});
|
|
2202
|
+
}
|
|
2203
|
+
(0, import_node_assert2.default)(draft.cart, "draft.cart is missing");
|
|
2204
|
+
return this.createFromCart(context, {
|
|
2205
|
+
id: draft.cart.id,
|
|
2206
|
+
typeId: "cart"
|
|
2207
|
+
});
|
|
2208
|
+
}
|
|
2209
|
+
createFromCart(context, cartReference) {
|
|
2210
|
+
const cart = this._storage.getByResourceIdentifier(
|
|
2211
|
+
context.projectKey,
|
|
2212
|
+
cartReference
|
|
2213
|
+
);
|
|
2214
|
+
if (!cart) {
|
|
2215
|
+
throw new Error("Cannot find cart");
|
|
2216
|
+
}
|
|
2217
|
+
if (!cart.customerId) {
|
|
2218
|
+
throw new Error("Cart does not have a customer");
|
|
2219
|
+
}
|
|
2220
|
+
const resource = {
|
|
2221
|
+
...getBaseResourceProperties(),
|
|
2222
|
+
billingAddress: cart.billingAddress,
|
|
2223
|
+
cart: cartReference,
|
|
2224
|
+
country: cart.country,
|
|
2225
|
+
custom: cart.custom,
|
|
2226
|
+
customer: {
|
|
2227
|
+
typeId: "customer",
|
|
2228
|
+
id: cart.customerId
|
|
2229
|
+
},
|
|
2230
|
+
customerGroup: cart.customerGroup,
|
|
2231
|
+
customLineItems: [],
|
|
2232
|
+
directDiscounts: cart.directDiscounts,
|
|
2233
|
+
lineItems: cart.lineItems,
|
|
2234
|
+
paymentInfo: cart.paymentInfo,
|
|
2235
|
+
quoteRequestState: "Submitted",
|
|
2236
|
+
shippingAddress: cart.shippingAddress,
|
|
2237
|
+
taxCalculationMode: cart.taxCalculationMode,
|
|
2238
|
+
taxedPrice: cart.taxedPrice,
|
|
2239
|
+
taxMode: cart.taxMode,
|
|
2240
|
+
taxRoundingMode: cart.taxRoundingMode,
|
|
2241
|
+
totalPrice: cart.totalPrice,
|
|
2242
|
+
store: cart.store
|
|
2243
|
+
};
|
|
2244
|
+
return this.saveNew(context, resource);
|
|
2245
|
+
}
|
|
2246
|
+
};
|
|
2247
|
+
|
|
2143
2248
|
// src/repositories/as-associate.ts
|
|
2144
2249
|
var AsAssociateOrderRepository = class extends OrderRepository {
|
|
2145
2250
|
};
|
|
2146
2251
|
var AsAssociateCartRepository = class extends CartRepository {
|
|
2147
2252
|
};
|
|
2253
|
+
var AsAssociateQuoteRequestRepository = class extends QuoteRequestRepository {
|
|
2254
|
+
};
|
|
2148
2255
|
|
|
2149
2256
|
// src/repositories/associate-role.ts
|
|
2150
2257
|
var AssociateRoleRepository = class extends AbstractResourceRepository {
|
|
@@ -2880,7 +2987,7 @@ var CustomObjectRepository = class extends AbstractResourceRepository {
|
|
|
2880
2987
|
};
|
|
2881
2988
|
|
|
2882
2989
|
// src/repositories/customer/actions.ts
|
|
2883
|
-
var
|
|
2990
|
+
var import_node_assert3 = __toESM(require("assert"), 1);
|
|
2884
2991
|
var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
2885
2992
|
addAddress(_context, resource, { address }) {
|
|
2886
2993
|
resource.addresses.push({
|
|
@@ -2890,7 +2997,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2890
2997
|
}
|
|
2891
2998
|
addBillingAddressId(_context, resource, { addressId, addressKey }) {
|
|
2892
2999
|
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2893
|
-
(0,
|
|
3000
|
+
(0, import_node_assert3.default)(address?.id);
|
|
2894
3001
|
if (resource.billingAddressIds === void 0) {
|
|
2895
3002
|
resource.billingAddressIds = [];
|
|
2896
3003
|
}
|
|
@@ -2900,7 +3007,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2900
3007
|
}
|
|
2901
3008
|
addShippingAddressId(_context, resource, { addressId, addressKey }) {
|
|
2902
3009
|
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2903
|
-
(0,
|
|
3010
|
+
(0, import_node_assert3.default)(address?.id);
|
|
2904
3011
|
if (resource.shippingAddressIds === void 0) {
|
|
2905
3012
|
resource.shippingAddressIds = [];
|
|
2906
3013
|
}
|
|
@@ -2914,7 +3021,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2914
3021
|
}
|
|
2915
3022
|
changeAddress(context, resource, { addressId, addressKey, address }) {
|
|
2916
3023
|
const current = this._findAddress(resource, addressId, addressKey, true);
|
|
2917
|
-
(0,
|
|
3024
|
+
(0, import_node_assert3.default)(current?.id);
|
|
2918
3025
|
const oldAddressIndex = resource.addresses.findIndex(
|
|
2919
3026
|
(a) => a.id === current.id
|
|
2920
3027
|
);
|
|
@@ -2940,7 +3047,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2940
3047
|
action.addressKey,
|
|
2941
3048
|
true
|
|
2942
3049
|
);
|
|
2943
|
-
(0,
|
|
3050
|
+
(0, import_node_assert3.default)(address?.id);
|
|
2944
3051
|
resource.addresses = resource.addresses.filter((a) => a.id !== address.id);
|
|
2945
3052
|
}
|
|
2946
3053
|
removeBillingAddressId(context, resource, action) {
|
|
@@ -2950,7 +3057,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2950
3057
|
action.addressKey,
|
|
2951
3058
|
true
|
|
2952
3059
|
);
|
|
2953
|
-
(0,
|
|
3060
|
+
(0, import_node_assert3.default)(address?.id);
|
|
2954
3061
|
resource.billingAddressIds = resource.billingAddressIds?.filter(
|
|
2955
3062
|
(id) => id !== address.id
|
|
2956
3063
|
);
|
|
@@ -2965,7 +3072,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2965
3072
|
action.addressKey,
|
|
2966
3073
|
true
|
|
2967
3074
|
);
|
|
2968
|
-
(0,
|
|
3075
|
+
(0, import_node_assert3.default)(address?.id);
|
|
2969
3076
|
resource.shippingAddressIds = resource.shippingAddressIds?.filter(
|
|
2970
3077
|
(id) => id !== address.id
|
|
2971
3078
|
);
|
|
@@ -3067,7 +3174,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
3067
3174
|
action.addressKey,
|
|
3068
3175
|
true
|
|
3069
3176
|
);
|
|
3070
|
-
(0,
|
|
3177
|
+
(0, import_node_assert3.default)(address?.id);
|
|
3071
3178
|
resource.defaultBillingAddressId = address.id;
|
|
3072
3179
|
if (resource.billingAddressIds === void 0) {
|
|
3073
3180
|
resource.billingAddressIds = [];
|
|
@@ -3083,7 +3190,7 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
3083
3190
|
action.addressKey,
|
|
3084
3191
|
true
|
|
3085
3192
|
);
|
|
3086
|
-
(0,
|
|
3193
|
+
(0, import_node_assert3.default)(address?.id);
|
|
3087
3194
|
resource.defaultShippingAddressId = address.id;
|
|
3088
3195
|
if (resource.shippingAddressIds === void 0) {
|
|
3089
3196
|
resource.shippingAddressIds = [];
|
|
@@ -3716,10 +3823,10 @@ var MyCustomerRepository = class extends CustomerRepository {
|
|
|
3716
3823
|
};
|
|
3717
3824
|
|
|
3718
3825
|
// src/repositories/my-order.ts
|
|
3719
|
-
var
|
|
3826
|
+
var import_node_assert4 = __toESM(require("assert"), 1);
|
|
3720
3827
|
var MyOrderRepository = class extends OrderRepository {
|
|
3721
3828
|
create(context, draft) {
|
|
3722
|
-
(0,
|
|
3829
|
+
(0, import_node_assert4.default)(draft.id, "draft.id is missing");
|
|
3723
3830
|
const cartIdentifier = {
|
|
3724
3831
|
id: draft.id,
|
|
3725
3832
|
typeId: "cart"
|
|
@@ -4024,19 +4131,16 @@ function toRegExp(str) {
|
|
|
4024
4131
|
return new RegExp(str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"));
|
|
4025
4132
|
}
|
|
4026
4133
|
function normalize(regex) {
|
|
4027
|
-
if (typeof regex === "string")
|
|
4028
|
-
regex = toRegExp(regex);
|
|
4134
|
+
if (typeof regex === "string") regex = toRegExp(regex);
|
|
4029
4135
|
if (!regex.source.startsWith("^"))
|
|
4030
4136
|
return new RegExp(`^${regex.source}`, regex.flags);
|
|
4031
|
-
else
|
|
4032
|
-
return regex;
|
|
4137
|
+
else return regex;
|
|
4033
4138
|
}
|
|
4034
4139
|
function first(arr, predicate) {
|
|
4035
4140
|
let i = 0;
|
|
4036
4141
|
for (const item of arr) {
|
|
4037
4142
|
const result = predicate(item, i++);
|
|
4038
|
-
if (result)
|
|
4039
|
-
return { item, result };
|
|
4143
|
+
if (result) return { item, result };
|
|
4040
4144
|
}
|
|
4041
4145
|
}
|
|
4042
4146
|
var TokenTypes = class {
|
|
@@ -4200,8 +4304,7 @@ var Lexer = class {
|
|
|
4200
4304
|
*/
|
|
4201
4305
|
peek(position = this._state.position) {
|
|
4202
4306
|
const read = (i = position) => {
|
|
4203
|
-
if (i >= this._state.source.length)
|
|
4204
|
-
return EOF(this);
|
|
4307
|
+
if (i >= this._state.source.length) return EOF(this);
|
|
4205
4308
|
const n = this._tokenTypes.peek(this._state.source, i);
|
|
4206
4309
|
if (!n || !n.result) {
|
|
4207
4310
|
throw new Error(
|
|
@@ -4221,8 +4324,7 @@ var Lexer = class {
|
|
|
4221
4324
|
) : null;
|
|
4222
4325
|
};
|
|
4223
4326
|
const t = read();
|
|
4224
|
-
if (t)
|
|
4225
|
-
return t;
|
|
4327
|
+
if (t) return t;
|
|
4226
4328
|
let unexpected = this._state.source.substring(position, position + 1);
|
|
4227
4329
|
try {
|
|
4228
4330
|
this.peek(position + 1);
|
|
@@ -4244,8 +4346,7 @@ var Lexer = class {
|
|
|
4244
4346
|
*/
|
|
4245
4347
|
strpos(i) {
|
|
4246
4348
|
let lines = this._state.source.substring(0, i).split(/\r?\n/);
|
|
4247
|
-
if (!Array.isArray(lines))
|
|
4248
|
-
lines = [lines];
|
|
4349
|
+
if (!Array.isArray(lines)) lines = [lines];
|
|
4249
4350
|
const line = lines.length;
|
|
4250
4351
|
const column = lines[lines.length - 1].length + 1;
|
|
4251
4352
|
return { line, column };
|
|
@@ -4344,8 +4445,7 @@ var Parser = class {
|
|
|
4344
4445
|
* @returns {number} The binding power of the specified token type
|
|
4345
4446
|
*/
|
|
4346
4447
|
bp(tokenOrType) {
|
|
4347
|
-
if (tokenOrType == null)
|
|
4348
|
-
return Number.NEGATIVE_INFINITY;
|
|
4448
|
+
if (tokenOrType == null) return Number.NEGATIVE_INFINITY;
|
|
4349
4449
|
if (tokenOrType && typeof tokenOrType.isEof == "function" && tokenOrType.isEof())
|
|
4350
4450
|
return Number.NEGATIVE_INFINITY;
|
|
4351
4451
|
const type = this._type(tokenOrType);
|
|
@@ -4390,27 +4490,21 @@ var Parser = class {
|
|
|
4390
4490
|
parse(opts = { terminals: [0] }) {
|
|
4391
4491
|
const stop = opts.stop = opts.stop || createStop();
|
|
4392
4492
|
const check = () => {
|
|
4393
|
-
if (stop.isStopped())
|
|
4394
|
-
return false;
|
|
4493
|
+
if (stop.isStopped()) return false;
|
|
4395
4494
|
const t = this.lexer.peek();
|
|
4396
4495
|
const bp = this.bp(t);
|
|
4397
4496
|
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;
|
|
4497
|
+
if (!canContinue) return false;
|
|
4498
|
+
if (typeof rbpOrType == "number") return rbpOrType < bp;
|
|
4499
|
+
if (typeof rbpOrType == "string") return t.type != rbpOrType;
|
|
4404
4500
|
}, true);
|
|
4405
4501
|
};
|
|
4406
4502
|
const mkinfo = (token) => {
|
|
4407
4503
|
const bp = this.bp(token);
|
|
4408
4504
|
return { token, bp, stop, ctx: opts.ctx, options: opts };
|
|
4409
4505
|
};
|
|
4410
|
-
if (!opts.terminals)
|
|
4411
|
-
|
|
4412
|
-
if (opts.terminals.length == 0)
|
|
4413
|
-
opts.terminals.push(0);
|
|
4506
|
+
if (!opts.terminals) opts.terminals = [0];
|
|
4507
|
+
if (opts.terminals.length == 0) opts.terminals.push(0);
|
|
4414
4508
|
let left = this.nud(mkinfo(this.lexer.next()));
|
|
4415
4509
|
while (check()) {
|
|
4416
4510
|
const operator = this.lexer.next();
|
|
@@ -4613,8 +4707,7 @@ var generateMatchFunc = (filter) => {
|
|
|
4613
4707
|
throw new Error(`Syntax error while parsing '${filter}'.`);
|
|
4614
4708
|
}
|
|
4615
4709
|
return (obj) => {
|
|
4616
|
-
if (!result.children)
|
|
4617
|
-
return false;
|
|
4710
|
+
if (!result.children) return false;
|
|
4618
4711
|
return result.children.some((c) => c.match(obj));
|
|
4619
4712
|
};
|
|
4620
4713
|
};
|
|
@@ -6225,8 +6318,7 @@ var generateMatchFunc2 = (predicate) => {
|
|
|
6225
6318
|
const expr = parser.parse({ terminals: [")"] });
|
|
6226
6319
|
return (obj, vars) => {
|
|
6227
6320
|
const value = resolveValue(obj, left);
|
|
6228
|
-
if (!value)
|
|
6229
|
-
return false;
|
|
6321
|
+
if (!value) return false;
|
|
6230
6322
|
const maxDistance = resolveSymbol(expr[2], vars);
|
|
6231
6323
|
const distance = haversineDistance(
|
|
6232
6324
|
{
|
|
@@ -6364,8 +6456,7 @@ var ProductProjectionSearch = class {
|
|
|
6364
6456
|
};
|
|
6365
6457
|
}
|
|
6366
6458
|
getFacets(params, products) {
|
|
6367
|
-
if (!params.facet)
|
|
6368
|
-
return {};
|
|
6459
|
+
if (!params.facet) return {};
|
|
6369
6460
|
const result = {};
|
|
6370
6461
|
const regexp = new RegExp(/ counting products$/);
|
|
6371
6462
|
for (let facet of params.facet) {
|
|
@@ -6942,112 +7033,6 @@ var QuoteRepository = class extends AbstractResourceRepository {
|
|
|
6942
7033
|
}
|
|
6943
7034
|
};
|
|
6944
7035
|
|
|
6945
|
-
// src/repositories/quote-request/index.ts
|
|
6946
|
-
var import_node_assert4 = __toESM(require("assert"), 1);
|
|
6947
|
-
|
|
6948
|
-
// src/repositories/quote-request/actions.ts
|
|
6949
|
-
var QuoteRequestUpdateHandler = class extends AbstractUpdateHandler {
|
|
6950
|
-
setCustomField(context, resource, { name, value }) {
|
|
6951
|
-
if (!resource.custom) {
|
|
6952
|
-
throw new Error("Resource has no custom field");
|
|
6953
|
-
}
|
|
6954
|
-
resource.custom.fields[name] = value;
|
|
6955
|
-
}
|
|
6956
|
-
setCustomType(context, resource, { type, fields }) {
|
|
6957
|
-
if (!type) {
|
|
6958
|
-
resource.custom = void 0;
|
|
6959
|
-
} else {
|
|
6960
|
-
const resolvedType = this._storage.getByResourceIdentifier(
|
|
6961
|
-
context.projectKey,
|
|
6962
|
-
type
|
|
6963
|
-
);
|
|
6964
|
-
if (!resolvedType) {
|
|
6965
|
-
throw new Error(`Type ${type} not found`);
|
|
6966
|
-
}
|
|
6967
|
-
resource.custom = {
|
|
6968
|
-
type: {
|
|
6969
|
-
typeId: "type",
|
|
6970
|
-
id: resolvedType.id
|
|
6971
|
-
},
|
|
6972
|
-
fields: fields || {}
|
|
6973
|
-
};
|
|
6974
|
-
}
|
|
6975
|
-
}
|
|
6976
|
-
transitionState(context, resource, { state, force }) {
|
|
6977
|
-
let stateReference = void 0;
|
|
6978
|
-
if (state) {
|
|
6979
|
-
stateReference = getReferenceFromResourceIdentifier(
|
|
6980
|
-
state,
|
|
6981
|
-
context.projectKey,
|
|
6982
|
-
this._storage
|
|
6983
|
-
);
|
|
6984
|
-
resource.state = stateReference;
|
|
6985
|
-
} else {
|
|
6986
|
-
throw new CommercetoolsError(
|
|
6987
|
-
{
|
|
6988
|
-
code: "InvalidJsonInput",
|
|
6989
|
-
message: "Request body does not contain valid JSON.",
|
|
6990
|
-
detailedErrorMessage: "actions -> state: Missing required value"
|
|
6991
|
-
},
|
|
6992
|
-
400
|
|
6993
|
-
);
|
|
6994
|
-
}
|
|
6995
|
-
return resource;
|
|
6996
|
-
}
|
|
6997
|
-
};
|
|
6998
|
-
|
|
6999
|
-
// src/repositories/quote-request/index.ts
|
|
7000
|
-
var QuoteRequestRepository = class extends AbstractResourceRepository {
|
|
7001
|
-
constructor(config) {
|
|
7002
|
-
super("quote-request", config);
|
|
7003
|
-
this.actions = new QuoteRequestUpdateHandler(config.storage);
|
|
7004
|
-
}
|
|
7005
|
-
create(context, draft) {
|
|
7006
|
-
(0, import_node_assert4.default)(draft.cart, "draft.cart is missing");
|
|
7007
|
-
return this.createFromCart(context, {
|
|
7008
|
-
id: draft.cart.id,
|
|
7009
|
-
typeId: "cart"
|
|
7010
|
-
});
|
|
7011
|
-
}
|
|
7012
|
-
createFromCart(context, cartReference) {
|
|
7013
|
-
const cart = this._storage.getByResourceIdentifier(
|
|
7014
|
-
context.projectKey,
|
|
7015
|
-
cartReference
|
|
7016
|
-
);
|
|
7017
|
-
if (!cart) {
|
|
7018
|
-
throw new Error("Cannot find cart");
|
|
7019
|
-
}
|
|
7020
|
-
if (!cart.customerId) {
|
|
7021
|
-
throw new Error("Cart does not have a customer");
|
|
7022
|
-
}
|
|
7023
|
-
const resource = {
|
|
7024
|
-
...getBaseResourceProperties(),
|
|
7025
|
-
billingAddress: cart.billingAddress,
|
|
7026
|
-
cart: cartReference,
|
|
7027
|
-
country: cart.country,
|
|
7028
|
-
custom: cart.custom,
|
|
7029
|
-
customer: {
|
|
7030
|
-
typeId: "customer",
|
|
7031
|
-
id: cart.customerId
|
|
7032
|
-
},
|
|
7033
|
-
customerGroup: cart.customerGroup,
|
|
7034
|
-
customLineItems: [],
|
|
7035
|
-
directDiscounts: cart.directDiscounts,
|
|
7036
|
-
lineItems: cart.lineItems,
|
|
7037
|
-
paymentInfo: cart.paymentInfo,
|
|
7038
|
-
quoteRequestState: "Submitted",
|
|
7039
|
-
shippingAddress: cart.shippingAddress,
|
|
7040
|
-
taxCalculationMode: cart.taxCalculationMode,
|
|
7041
|
-
taxedPrice: cart.taxedPrice,
|
|
7042
|
-
taxMode: cart.taxMode,
|
|
7043
|
-
taxRoundingMode: cart.taxRoundingMode,
|
|
7044
|
-
totalPrice: cart.totalPrice,
|
|
7045
|
-
store: cart.store
|
|
7046
|
-
};
|
|
7047
|
-
return this.saveNew(context, resource);
|
|
7048
|
-
}
|
|
7049
|
-
};
|
|
7050
|
-
|
|
7051
7036
|
// src/repositories/quote-staged/actions.ts
|
|
7052
7037
|
var StagedQuoteUpdateHandler = class extends AbstractUpdateHandler {
|
|
7053
7038
|
setCustomField(context, resource, { name, value }) {
|
|
@@ -7139,8 +7124,7 @@ var ReviewRepository = class extends AbstractResourceRepository {
|
|
|
7139
7124
|
super("review", config);
|
|
7140
7125
|
}
|
|
7141
7126
|
create(context, draft) {
|
|
7142
|
-
if (!draft.target)
|
|
7143
|
-
throw new Error("Missing target");
|
|
7127
|
+
if (!draft.target) throw new Error("Missing target");
|
|
7144
7128
|
const resource = {
|
|
7145
7129
|
...getBaseResourceProperties(),
|
|
7146
7130
|
locale: draft.locale,
|
|
@@ -7746,8 +7730,7 @@ var StoreRepository = class extends AbstractResourceRepository {
|
|
|
7746
7730
|
}
|
|
7747
7731
|
};
|
|
7748
7732
|
var transformChannels = (context, storage, channels) => {
|
|
7749
|
-
if (!channels)
|
|
7750
|
-
return [];
|
|
7733
|
+
if (!channels) return [];
|
|
7751
7734
|
return channels.map(
|
|
7752
7735
|
(ref) => getReferenceFromResourceIdentifier(
|
|
7753
7736
|
ref,
|
|
@@ -8044,7 +8027,8 @@ var ZoneUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
8044
8027
|
var createRepositories = (config) => ({
|
|
8045
8028
|
"as-associate": {
|
|
8046
8029
|
cart: new AsAssociateCartRepository(config),
|
|
8047
|
-
order: new AsAssociateOrderRepository(config)
|
|
8030
|
+
order: new AsAssociateOrderRepository(config),
|
|
8031
|
+
"quote-request": new AsAssociateQuoteRequestRepository(config)
|
|
8048
8032
|
},
|
|
8049
8033
|
"associate-role": new AssociateRoleRepository(config),
|
|
8050
8034
|
"attribute-group": new AttributeGroupRepository(config),
|
|
@@ -8090,7 +8074,7 @@ var createRepositories = (config) => ({
|
|
|
8090
8074
|
});
|
|
8091
8075
|
|
|
8092
8076
|
// src/services/as-associate.ts
|
|
8093
|
-
var
|
|
8077
|
+
var import_express6 = require("express");
|
|
8094
8078
|
|
|
8095
8079
|
// src/services/as-associate-cart.ts
|
|
8096
8080
|
var import_express3 = require("express");
|
|
@@ -8164,14 +8148,25 @@ var AbstractService = class {
|
|
|
8164
8148
|
}
|
|
8165
8149
|
}
|
|
8166
8150
|
const result = this.repository.query(getRepositoryContext(request), params);
|
|
8167
|
-
|
|
8151
|
+
response.status(200).send(result);
|
|
8152
|
+
return;
|
|
8168
8153
|
}
|
|
8169
8154
|
getWithId(request, response) {
|
|
8170
8155
|
const result = this._expandWithId(request, request.params.id);
|
|
8171
8156
|
if (!result) {
|
|
8172
|
-
|
|
8157
|
+
response.status(404).send({
|
|
8158
|
+
statusCode: 404,
|
|
8159
|
+
message: `The Resource with ID '${request.params.id} was not found.`,
|
|
8160
|
+
errors: [
|
|
8161
|
+
{
|
|
8162
|
+
code: "ResourceNotFound",
|
|
8163
|
+
message: `The Resource with ID '${request.params.id} was not found.`
|
|
8164
|
+
}
|
|
8165
|
+
]
|
|
8166
|
+
});
|
|
8167
|
+
return;
|
|
8173
8168
|
}
|
|
8174
|
-
|
|
8169
|
+
response.status(200).send(result);
|
|
8175
8170
|
}
|
|
8176
8171
|
getWithKey(request, response) {
|
|
8177
8172
|
const result = this.repository.getByKey(
|
|
@@ -8181,9 +8176,20 @@ var AbstractService = class {
|
|
|
8181
8176
|
expand: this._parseParam(request.query.expand)
|
|
8182
8177
|
}
|
|
8183
8178
|
);
|
|
8184
|
-
if (!result)
|
|
8185
|
-
|
|
8186
|
-
|
|
8179
|
+
if (!result) {
|
|
8180
|
+
response.status(404).send({
|
|
8181
|
+
statusCode: 404,
|
|
8182
|
+
message: `The Resource with key '${request.params.id} was not found.`,
|
|
8183
|
+
errors: [
|
|
8184
|
+
{
|
|
8185
|
+
code: "ResourceNotFound",
|
|
8186
|
+
message: `The Resource with key '${request.params.id} was not found.`
|
|
8187
|
+
}
|
|
8188
|
+
]
|
|
8189
|
+
});
|
|
8190
|
+
return;
|
|
8191
|
+
}
|
|
8192
|
+
response.status(200).send(result);
|
|
8187
8193
|
}
|
|
8188
8194
|
deleteWithId(request, response) {
|
|
8189
8195
|
const result = this.repository.delete(
|
|
@@ -8194,9 +8200,10 @@ var AbstractService = class {
|
|
|
8194
8200
|
}
|
|
8195
8201
|
);
|
|
8196
8202
|
if (!result) {
|
|
8197
|
-
|
|
8203
|
+
response.sendStatus(404);
|
|
8204
|
+
return;
|
|
8198
8205
|
}
|
|
8199
|
-
|
|
8206
|
+
response.status(200).send(result);
|
|
8200
8207
|
}
|
|
8201
8208
|
deleteWithKey(request, response) {
|
|
8202
8209
|
const resource = this.repository.getByKey(
|
|
@@ -8204,7 +8211,8 @@ var AbstractService = class {
|
|
|
8204
8211
|
request.params.key
|
|
8205
8212
|
);
|
|
8206
8213
|
if (!resource) {
|
|
8207
|
-
|
|
8214
|
+
response.sendStatus(404);
|
|
8215
|
+
return;
|
|
8208
8216
|
}
|
|
8209
8217
|
const result = this.repository.delete(
|
|
8210
8218
|
getRepositoryContext(request),
|
|
@@ -8214,9 +8222,10 @@ var AbstractService = class {
|
|
|
8214
8222
|
}
|
|
8215
8223
|
);
|
|
8216
8224
|
if (!result) {
|
|
8217
|
-
|
|
8225
|
+
response.sendStatus(404);
|
|
8226
|
+
return;
|
|
8218
8227
|
}
|
|
8219
|
-
|
|
8228
|
+
response.status(200).send(result);
|
|
8220
8229
|
}
|
|
8221
8230
|
post(request, response) {
|
|
8222
8231
|
const draft = request.body;
|
|
@@ -8225,7 +8234,7 @@ var AbstractService = class {
|
|
|
8225
8234
|
draft
|
|
8226
8235
|
);
|
|
8227
8236
|
const result = this._expandWithId(request, resource.id);
|
|
8228
|
-
|
|
8237
|
+
response.status(this.createStatusCode).send(result);
|
|
8229
8238
|
}
|
|
8230
8239
|
postWithId(request, response) {
|
|
8231
8240
|
const updateRequest = validateData(
|
|
@@ -8237,7 +8246,8 @@ var AbstractService = class {
|
|
|
8237
8246
|
request.params.id
|
|
8238
8247
|
);
|
|
8239
8248
|
if (!resource) {
|
|
8240
|
-
|
|
8249
|
+
response.sendStatus(404);
|
|
8250
|
+
return;
|
|
8241
8251
|
}
|
|
8242
8252
|
const updatedResource = this.repository.processUpdateActions(
|
|
8243
8253
|
getRepositoryContext(request),
|
|
@@ -8246,7 +8256,7 @@ var AbstractService = class {
|
|
|
8246
8256
|
updateRequest.actions
|
|
8247
8257
|
);
|
|
8248
8258
|
const result = this._expandWithId(request, updatedResource.id);
|
|
8249
|
-
|
|
8259
|
+
response.status(200).send(result);
|
|
8250
8260
|
}
|
|
8251
8261
|
postWithKey(request, response) {
|
|
8252
8262
|
const updateRequest = validateData(
|
|
@@ -8258,7 +8268,8 @@ var AbstractService = class {
|
|
|
8258
8268
|
request.params.key
|
|
8259
8269
|
);
|
|
8260
8270
|
if (!resource) {
|
|
8261
|
-
|
|
8271
|
+
response.sendStatus(404);
|
|
8272
|
+
return;
|
|
8262
8273
|
}
|
|
8263
8274
|
const updatedResource = this.repository.processUpdateActions(
|
|
8264
8275
|
getRepositoryContext(request),
|
|
@@ -8267,7 +8278,7 @@ var AbstractService = class {
|
|
|
8267
8278
|
updateRequest.actions
|
|
8268
8279
|
);
|
|
8269
8280
|
const result = this._expandWithId(request, updatedResource.id);
|
|
8270
|
-
|
|
8281
|
+
response.status(200).send(result);
|
|
8271
8282
|
}
|
|
8272
8283
|
_expandWithId(request, resourceId) {
|
|
8273
8284
|
const result = this.repository.get(
|
|
@@ -8332,15 +8343,43 @@ var AsAssociateOrderService = class extends AbstractService {
|
|
|
8332
8343
|
}
|
|
8333
8344
|
};
|
|
8334
8345
|
|
|
8346
|
+
// src/services/as-associate-quote-request.ts
|
|
8347
|
+
var import_express5 = require("express");
|
|
8348
|
+
var AsAssociateQuoteRequestService = class extends AbstractService {
|
|
8349
|
+
repository;
|
|
8350
|
+
constructor(parent, repository) {
|
|
8351
|
+
super(parent);
|
|
8352
|
+
this.repository = repository;
|
|
8353
|
+
}
|
|
8354
|
+
getBasePath() {
|
|
8355
|
+
return "quote-requests";
|
|
8356
|
+
}
|
|
8357
|
+
registerRoutes(parent) {
|
|
8358
|
+
const basePath = this.getBasePath();
|
|
8359
|
+
const router = (0, import_express5.Router)({ mergeParams: true });
|
|
8360
|
+
this.extraRoutes(router);
|
|
8361
|
+
router.get("/", this.get.bind(this));
|
|
8362
|
+
router.get("/:id", this.getWithId.bind(this));
|
|
8363
|
+
router.delete("/:id", this.deleteWithId.bind(this));
|
|
8364
|
+
router.post("/", this.post.bind(this));
|
|
8365
|
+
router.post("/:id", this.postWithId.bind(this));
|
|
8366
|
+
parent.use(`/${basePath}`, router);
|
|
8367
|
+
}
|
|
8368
|
+
};
|
|
8369
|
+
|
|
8335
8370
|
// src/services/as-associate.ts
|
|
8336
8371
|
var AsAssociateService = class {
|
|
8337
8372
|
router;
|
|
8338
8373
|
subServices;
|
|
8339
8374
|
constructor(parent, repositories) {
|
|
8340
|
-
this.router = (0,
|
|
8375
|
+
this.router = (0, import_express6.Router)({ mergeParams: true });
|
|
8341
8376
|
this.subServices = {
|
|
8342
8377
|
order: new AsAssociateOrderService(this.router, repositories.order),
|
|
8343
|
-
cart: new AsAssociateCartService(this.router, repositories.cart)
|
|
8378
|
+
cart: new AsAssociateCartService(this.router, repositories.cart),
|
|
8379
|
+
"quote-request": new AsAssociateQuoteRequestService(
|
|
8380
|
+
this.router,
|
|
8381
|
+
repositories["quote-request"]
|
|
8382
|
+
)
|
|
8344
8383
|
};
|
|
8345
8384
|
parent.use(
|
|
8346
8385
|
"/as-associate/:associateId/in-business-unit/key=:businessUnitId",
|
|
@@ -8404,7 +8443,8 @@ var CartService = class extends AbstractService {
|
|
|
8404
8443
|
const context = getRepositoryContext(request);
|
|
8405
8444
|
const cartOrOrder = request.body.reference.typeId === "order" ? this.orderRepository.get(context, request.body.reference.id) : this.repository.get(context, request.body.reference.id);
|
|
8406
8445
|
if (!cartOrOrder) {
|
|
8407
|
-
|
|
8446
|
+
response.status(400).send();
|
|
8447
|
+
return;
|
|
8408
8448
|
}
|
|
8409
8449
|
const cartDraft = {
|
|
8410
8450
|
...cartOrOrder,
|
|
@@ -8419,7 +8459,7 @@ var CartService = class extends AbstractService {
|
|
|
8419
8459
|
}))
|
|
8420
8460
|
};
|
|
8421
8461
|
const newCart = this.repository.create(context, cartDraft);
|
|
8422
|
-
|
|
8462
|
+
response.status(200).send(newCart);
|
|
8423
8463
|
}
|
|
8424
8464
|
};
|
|
8425
8465
|
|
|
@@ -8491,7 +8531,7 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8491
8531
|
offset: offset !== void 0 ? Number(offset) : void 0
|
|
8492
8532
|
}
|
|
8493
8533
|
);
|
|
8494
|
-
|
|
8534
|
+
response.status(200).send(result);
|
|
8495
8535
|
}
|
|
8496
8536
|
getWithContainerAndKey(request, response) {
|
|
8497
8537
|
const result = this.repository.getWithContainerAndKey(
|
|
@@ -8500,9 +8540,10 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8500
8540
|
request.params.key
|
|
8501
8541
|
);
|
|
8502
8542
|
if (!result) {
|
|
8503
|
-
|
|
8543
|
+
response.sendStatus(404);
|
|
8544
|
+
return;
|
|
8504
8545
|
}
|
|
8505
|
-
|
|
8546
|
+
response.status(200).send(result);
|
|
8506
8547
|
}
|
|
8507
8548
|
createWithContainerAndKey(request, response) {
|
|
8508
8549
|
const draft = {
|
|
@@ -8511,7 +8552,7 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8511
8552
|
container: request.params.container
|
|
8512
8553
|
};
|
|
8513
8554
|
const result = this.repository.create(getRepositoryContext(request), draft);
|
|
8514
|
-
|
|
8555
|
+
response.status(200).send(result);
|
|
8515
8556
|
}
|
|
8516
8557
|
deleteWithContainerAndKey(request, response) {
|
|
8517
8558
|
const current = this.repository.getWithContainerAndKey(
|
|
@@ -8520,13 +8561,14 @@ var CustomObjectService = class extends AbstractService {
|
|
|
8520
8561
|
request.params.key
|
|
8521
8562
|
);
|
|
8522
8563
|
if (!current) {
|
|
8523
|
-
|
|
8564
|
+
response.sendStatus(404);
|
|
8565
|
+
return;
|
|
8524
8566
|
}
|
|
8525
8567
|
const result = this.repository.delete(
|
|
8526
8568
|
getRepositoryContext(request),
|
|
8527
8569
|
current.id
|
|
8528
8570
|
);
|
|
8529
|
-
|
|
8571
|
+
response.status(200).send(result);
|
|
8530
8572
|
}
|
|
8531
8573
|
};
|
|
8532
8574
|
|
|
@@ -8555,21 +8597,21 @@ var CustomerService = class extends AbstractService {
|
|
|
8555
8597
|
const result = {
|
|
8556
8598
|
customer: expanded
|
|
8557
8599
|
};
|
|
8558
|
-
|
|
8600
|
+
response.status(this.createStatusCode).send(result);
|
|
8559
8601
|
}
|
|
8560
8602
|
passwordResetToken(request, response) {
|
|
8561
8603
|
const customer = this.repository.passwordResetToken(
|
|
8562
8604
|
getRepositoryContext(request),
|
|
8563
8605
|
request.body
|
|
8564
8606
|
);
|
|
8565
|
-
|
|
8607
|
+
response.status(200).send(customer);
|
|
8566
8608
|
}
|
|
8567
8609
|
passwordReset(request, response) {
|
|
8568
8610
|
const customer = this.repository.passwordReset(
|
|
8569
8611
|
getRepositoryContext(request),
|
|
8570
8612
|
request.body
|
|
8571
8613
|
);
|
|
8572
|
-
|
|
8614
|
+
response.status(200).send(customer);
|
|
8573
8615
|
}
|
|
8574
8616
|
confirmEmailToken(request, response) {
|
|
8575
8617
|
const id = request.body.id;
|
|
@@ -8577,7 +8619,7 @@ var CustomerService = class extends AbstractService {
|
|
|
8577
8619
|
getRepositoryContext(request),
|
|
8578
8620
|
id
|
|
8579
8621
|
);
|
|
8580
|
-
|
|
8622
|
+
response.status(200).send(token);
|
|
8581
8623
|
}
|
|
8582
8624
|
};
|
|
8583
8625
|
|
|
@@ -8630,7 +8672,7 @@ var InventoryEntryService = class extends AbstractService {
|
|
|
8630
8672
|
};
|
|
8631
8673
|
|
|
8632
8674
|
// src/services/my-business-unit.ts
|
|
8633
|
-
var
|
|
8675
|
+
var import_express7 = require("express");
|
|
8634
8676
|
var MyBusinessUnitService = class extends AbstractService {
|
|
8635
8677
|
repository;
|
|
8636
8678
|
constructor(parent, repository) {
|
|
@@ -8642,7 +8684,7 @@ var MyBusinessUnitService = class extends AbstractService {
|
|
|
8642
8684
|
}
|
|
8643
8685
|
registerRoutes(parent) {
|
|
8644
8686
|
const basePath = this.getBasePath();
|
|
8645
|
-
const router = (0,
|
|
8687
|
+
const router = (0, import_express7.Router)({ mergeParams: true });
|
|
8646
8688
|
this.extraRoutes(router);
|
|
8647
8689
|
router.get("/business-units/", this.get.bind(this));
|
|
8648
8690
|
parent.use(`/${basePath}`, router);
|
|
@@ -8650,7 +8692,7 @@ var MyBusinessUnitService = class extends AbstractService {
|
|
|
8650
8692
|
};
|
|
8651
8693
|
|
|
8652
8694
|
// src/services/my-cart.ts
|
|
8653
|
-
var
|
|
8695
|
+
var import_express8 = require("express");
|
|
8654
8696
|
var MyCartService = class extends AbstractService {
|
|
8655
8697
|
repository;
|
|
8656
8698
|
constructor(parent, repository) {
|
|
@@ -8662,7 +8704,7 @@ var MyCartService = class extends AbstractService {
|
|
|
8662
8704
|
}
|
|
8663
8705
|
registerRoutes(parent) {
|
|
8664
8706
|
const basePath = this.getBasePath();
|
|
8665
|
-
const router = (0,
|
|
8707
|
+
const router = (0, import_express8.Router)({ mergeParams: true });
|
|
8666
8708
|
this.extraRoutes(router);
|
|
8667
8709
|
router.get("/active-cart", this.activeCart.bind(this));
|
|
8668
8710
|
router.get("/carts/", this.get.bind(this));
|
|
@@ -8675,14 +8717,15 @@ var MyCartService = class extends AbstractService {
|
|
|
8675
8717
|
activeCart(request, response) {
|
|
8676
8718
|
const resource = this.repository.getActiveCart(request.params.projectKey);
|
|
8677
8719
|
if (!resource) {
|
|
8678
|
-
|
|
8720
|
+
response.sendStatus(404);
|
|
8721
|
+
return;
|
|
8679
8722
|
}
|
|
8680
|
-
|
|
8723
|
+
response.status(200).send(resource);
|
|
8681
8724
|
}
|
|
8682
8725
|
};
|
|
8683
8726
|
|
|
8684
8727
|
// src/services/my-customer.ts
|
|
8685
|
-
var
|
|
8728
|
+
var import_express9 = require("express");
|
|
8686
8729
|
var MyCustomerService = class extends AbstractService {
|
|
8687
8730
|
repository;
|
|
8688
8731
|
constructor(parent, repository) {
|
|
@@ -8694,7 +8737,7 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8694
8737
|
}
|
|
8695
8738
|
registerRoutes(parent) {
|
|
8696
8739
|
const basePath = this.getBasePath();
|
|
8697
|
-
const router = (0,
|
|
8740
|
+
const router = (0, import_express9.Router)({ mergeParams: true });
|
|
8698
8741
|
this.extraRoutes(router);
|
|
8699
8742
|
router.get("", this.getMe.bind(this));
|
|
8700
8743
|
router.post("", this.updateMe.bind(this));
|
|
@@ -8709,14 +8752,16 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8709
8752
|
getMe(request, response) {
|
|
8710
8753
|
const resource = this.repository.getMe(getRepositoryContext(request));
|
|
8711
8754
|
if (!resource) {
|
|
8712
|
-
|
|
8755
|
+
response.sendStatus(404);
|
|
8756
|
+
return;
|
|
8713
8757
|
}
|
|
8714
|
-
|
|
8758
|
+
response.status(200).send(resource);
|
|
8715
8759
|
}
|
|
8716
8760
|
updateMe(request, response) {
|
|
8717
8761
|
const resource = this.repository.getMe(getRepositoryContext(request));
|
|
8718
8762
|
if (!resource) {
|
|
8719
|
-
|
|
8763
|
+
response.sendStatus(404);
|
|
8764
|
+
return;
|
|
8720
8765
|
}
|
|
8721
8766
|
const updateRequest = validateData(
|
|
8722
8767
|
request.body,
|
|
@@ -8729,14 +8774,15 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8729
8774
|
updateRequest.actions
|
|
8730
8775
|
);
|
|
8731
8776
|
const result = this._expandWithId(request, updatedResource.id);
|
|
8732
|
-
|
|
8777
|
+
response.status(200).send(result);
|
|
8733
8778
|
}
|
|
8734
8779
|
deleteMe(request, response) {
|
|
8735
8780
|
const resource = this.repository.deleteMe(getRepositoryContext(request));
|
|
8736
8781
|
if (!resource) {
|
|
8737
|
-
|
|
8782
|
+
response.sendStatus(404);
|
|
8783
|
+
return;
|
|
8738
8784
|
}
|
|
8739
|
-
|
|
8785
|
+
response.status(200).send(resource);
|
|
8740
8786
|
}
|
|
8741
8787
|
signUp(request, response) {
|
|
8742
8788
|
const draft = request.body;
|
|
@@ -8745,28 +8791,28 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8745
8791
|
draft
|
|
8746
8792
|
);
|
|
8747
8793
|
const result = this._expandWithId(request, resource.id);
|
|
8748
|
-
|
|
8794
|
+
response.status(this.createStatusCode).send({ customer: result });
|
|
8749
8795
|
}
|
|
8750
8796
|
changePassword(request, response) {
|
|
8751
8797
|
const customer = this.repository.changePassword(
|
|
8752
8798
|
getRepositoryContext(request),
|
|
8753
8799
|
request.body
|
|
8754
8800
|
);
|
|
8755
|
-
|
|
8801
|
+
response.status(200).send(customer);
|
|
8756
8802
|
}
|
|
8757
8803
|
resetPassword(request, response) {
|
|
8758
8804
|
const customer = this.repository.passwordReset(
|
|
8759
8805
|
getRepositoryContext(request),
|
|
8760
8806
|
request.body
|
|
8761
8807
|
);
|
|
8762
|
-
|
|
8808
|
+
response.status(200).send(customer);
|
|
8763
8809
|
}
|
|
8764
8810
|
emailConfirm(request, response) {
|
|
8765
8811
|
const customer = this.repository.confirmEmail(
|
|
8766
8812
|
getRepositoryContext(request),
|
|
8767
8813
|
request.body
|
|
8768
8814
|
);
|
|
8769
|
-
|
|
8815
|
+
response.status(200).send(customer);
|
|
8770
8816
|
}
|
|
8771
8817
|
signIn(request, response) {
|
|
8772
8818
|
const { email, password } = request.body;
|
|
@@ -8775,7 +8821,7 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8775
8821
|
where: [`email = "${email}"`, `password = "${encodedPassword}"`]
|
|
8776
8822
|
});
|
|
8777
8823
|
if (result.count === 0) {
|
|
8778
|
-
|
|
8824
|
+
response.status(400).send({
|
|
8779
8825
|
message: "Account with the given credentials not found.",
|
|
8780
8826
|
errors: [
|
|
8781
8827
|
{
|
|
@@ -8784,13 +8830,14 @@ var MyCustomerService = class extends AbstractService {
|
|
|
8784
8830
|
}
|
|
8785
8831
|
]
|
|
8786
8832
|
});
|
|
8833
|
+
return;
|
|
8787
8834
|
}
|
|
8788
|
-
|
|
8835
|
+
response.status(200).send({ customer: result.results[0] });
|
|
8789
8836
|
}
|
|
8790
8837
|
};
|
|
8791
8838
|
|
|
8792
8839
|
// src/services/my-order.ts
|
|
8793
|
-
var
|
|
8840
|
+
var import_express10 = require("express");
|
|
8794
8841
|
var MyOrderService = class extends AbstractService {
|
|
8795
8842
|
repository;
|
|
8796
8843
|
constructor(parent, repository) {
|
|
@@ -8802,7 +8849,7 @@ var MyOrderService = class extends AbstractService {
|
|
|
8802
8849
|
}
|
|
8803
8850
|
registerRoutes(parent) {
|
|
8804
8851
|
const basePath = this.getBasePath();
|
|
8805
|
-
const router = (0,
|
|
8852
|
+
const router = (0, import_express10.Router)({ mergeParams: true });
|
|
8806
8853
|
this.extraRoutes(router);
|
|
8807
8854
|
router.get("/orders/", this.get.bind(this));
|
|
8808
8855
|
router.get("/orders/:id", this.getWithId.bind(this));
|
|
@@ -8860,7 +8907,7 @@ var OrderService = class extends AbstractService {
|
|
|
8860
8907
|
getRepositoryContext(request),
|
|
8861
8908
|
importDraft
|
|
8862
8909
|
);
|
|
8863
|
-
|
|
8910
|
+
response.status(200).send(resource);
|
|
8864
8911
|
}
|
|
8865
8912
|
getWithOrderNumber(request, response) {
|
|
8866
8913
|
const resource = this.repository.getWithOrderNumber(
|
|
@@ -8870,9 +8917,10 @@ var OrderService = class extends AbstractService {
|
|
|
8870
8917
|
request.query
|
|
8871
8918
|
);
|
|
8872
8919
|
if (resource) {
|
|
8873
|
-
|
|
8920
|
+
response.status(200).send(resource);
|
|
8921
|
+
return;
|
|
8874
8922
|
}
|
|
8875
|
-
|
|
8923
|
+
response.sendStatus(404);
|
|
8876
8924
|
}
|
|
8877
8925
|
};
|
|
8878
8926
|
|
|
@@ -8907,7 +8955,7 @@ var ProductService = class extends AbstractService {
|
|
|
8907
8955
|
getRepositoryContext(request),
|
|
8908
8956
|
searchBody
|
|
8909
8957
|
);
|
|
8910
|
-
|
|
8958
|
+
response.status(200).send(resource);
|
|
8911
8959
|
}
|
|
8912
8960
|
};
|
|
8913
8961
|
|
|
@@ -8946,7 +8994,7 @@ var ProductProjectionService = class extends AbstractService {
|
|
|
8946
8994
|
limit: limit !== void 0 ? Number(limit) : void 0,
|
|
8947
8995
|
offset: offset !== void 0 ? Number(offset) : void 0
|
|
8948
8996
|
});
|
|
8949
|
-
|
|
8997
|
+
response.status(200).send(result);
|
|
8950
8998
|
}
|
|
8951
8999
|
search(request, response) {
|
|
8952
9000
|
const query = request.query;
|
|
@@ -8969,7 +9017,7 @@ var ProductProjectionService = class extends AbstractService {
|
|
|
8969
9017
|
getRepositoryContext(request),
|
|
8970
9018
|
searchParams
|
|
8971
9019
|
);
|
|
8972
|
-
|
|
9020
|
+
response.status(200).send(resource);
|
|
8973
9021
|
}
|
|
8974
9022
|
};
|
|
8975
9023
|
|
|
@@ -9062,7 +9110,8 @@ var ShippingMethodService = class extends AbstractService {
|
|
|
9062
9110
|
matchingCart(request, response) {
|
|
9063
9111
|
const cartId = queryParamsValue(request.query.cartId);
|
|
9064
9112
|
if (!cartId) {
|
|
9065
|
-
|
|
9113
|
+
response.status(400).send();
|
|
9114
|
+
return;
|
|
9066
9115
|
}
|
|
9067
9116
|
const result = this.repository.matchingCart(
|
|
9068
9117
|
getRepositoryContext(request),
|
|
@@ -9071,7 +9120,8 @@ var ShippingMethodService = class extends AbstractService {
|
|
|
9071
9120
|
expand: this._parseParam(request.query.expand)
|
|
9072
9121
|
}
|
|
9073
9122
|
);
|
|
9074
|
-
|
|
9123
|
+
response.status(200).send(result);
|
|
9124
|
+
return;
|
|
9075
9125
|
}
|
|
9076
9126
|
};
|
|
9077
9127
|
|
|
@@ -9255,7 +9305,7 @@ var ProjectService = class {
|
|
|
9255
9305
|
}
|
|
9256
9306
|
get(request, response) {
|
|
9257
9307
|
const project = this.repository.get(getRepositoryContext(request));
|
|
9258
|
-
|
|
9308
|
+
response.status(200).send(project);
|
|
9259
9309
|
}
|
|
9260
9310
|
post(request, response) {
|
|
9261
9311
|
const updateRequest = validateData(
|
|
@@ -9264,7 +9314,8 @@ var ProjectService = class {
|
|
|
9264
9314
|
);
|
|
9265
9315
|
const project = this.repository.get(getRepositoryContext(request));
|
|
9266
9316
|
if (!project) {
|
|
9267
|
-
|
|
9317
|
+
response.sendStatus(404);
|
|
9318
|
+
return;
|
|
9268
9319
|
}
|
|
9269
9320
|
const updatedResource = this.repository.processUpdateActions(
|
|
9270
9321
|
getRepositoryContext(request),
|
|
@@ -9272,7 +9323,7 @@ var ProjectService = class {
|
|
|
9272
9323
|
updateRequest.version,
|
|
9273
9324
|
updateRequest.actions
|
|
9274
9325
|
);
|
|
9275
|
-
|
|
9326
|
+
response.status(200).send(updatedResource);
|
|
9276
9327
|
}
|
|
9277
9328
|
};
|
|
9278
9329
|
|
|
@@ -9328,8 +9379,7 @@ var InMemoryStorage = class extends AbstractStorage {
|
|
|
9328
9379
|
getProject = (projectKey) => this.addProject(projectKey);
|
|
9329
9380
|
// Expand resolves a nested reference and injects the object in the given obj
|
|
9330
9381
|
expand = (projectKey, obj, clause) => {
|
|
9331
|
-
if (!clause)
|
|
9332
|
-
return obj;
|
|
9382
|
+
if (!clause) return obj;
|
|
9333
9383
|
const newObj = cloneObject(obj);
|
|
9334
9384
|
if (Array.isArray(clause)) {
|
|
9335
9385
|
for (const c of clause) {
|
|
@@ -9360,15 +9410,13 @@ var InMemoryStorage = class extends AbstractStorage {
|
|
|
9360
9410
|
this._resolveReference(projectKey, reference, params.rest);
|
|
9361
9411
|
} else if (params.index === "*") {
|
|
9362
9412
|
const reference = obj[params.element];
|
|
9363
|
-
if (reference === void 0 || !Array.isArray(reference))
|
|
9364
|
-
return;
|
|
9413
|
+
if (reference === void 0 || !Array.isArray(reference)) return;
|
|
9365
9414
|
for (const itemRef of reference) {
|
|
9366
9415
|
this._resolveReference(projectKey, itemRef, params.rest);
|
|
9367
9416
|
}
|
|
9368
9417
|
} else {
|
|
9369
9418
|
const reference = obj[params.element][params.index];
|
|
9370
|
-
if (reference === void 0)
|
|
9371
|
-
return;
|
|
9419
|
+
if (reference === void 0) return;
|
|
9372
9420
|
this._resolveReference(projectKey, reference, params.rest);
|
|
9373
9421
|
}
|
|
9374
9422
|
};
|
|
@@ -9579,8 +9627,7 @@ var InMemoryStorage = class extends AbstractStorage {
|
|
|
9579
9627
|
});
|
|
9580
9628
|
}
|
|
9581
9629
|
_resolveReference(projectKey, reference, expand) {
|
|
9582
|
-
if (reference === void 0)
|
|
9583
|
-
return;
|
|
9630
|
+
if (reference === void 0) return;
|
|
9584
9631
|
if (reference.typeId !== void 0 && (reference.id !== void 0 || reference.key !== void 0)) {
|
|
9585
9632
|
if (!reference.obj) {
|
|
9586
9633
|
reference.obj = this.getByResourceIdentifier(projectKey, {
|
|
@@ -9696,9 +9743,9 @@ var CommercetoolsMock = class {
|
|
|
9696
9743
|
};
|
|
9697
9744
|
this._repositories = createRepositories(config);
|
|
9698
9745
|
this._oauth2.setCustomerRepository(this._repositories.customer);
|
|
9699
|
-
const app = (0,
|
|
9700
|
-
const projectRouter =
|
|
9701
|
-
projectRouter.use(
|
|
9746
|
+
const app = (0, import_express11.default)();
|
|
9747
|
+
const projectRouter = import_express11.default.Router({ mergeParams: true });
|
|
9748
|
+
projectRouter.use(import_express11.default.json());
|
|
9702
9749
|
if (!options?.silent) {
|
|
9703
9750
|
app.use((0, import_morgan.default)("tiny"));
|
|
9704
9751
|
}
|
|
@@ -9722,22 +9769,25 @@ var CommercetoolsMock = class {
|
|
|
9722
9769
|
app.use((err, req, resp, next) => {
|
|
9723
9770
|
if (err instanceof CommercetoolsError) {
|
|
9724
9771
|
if (err.errors?.length > 0) {
|
|
9725
|
-
|
|
9772
|
+
resp.status(err.statusCode).send({
|
|
9726
9773
|
statusCode: err.statusCode,
|
|
9727
9774
|
message: err.message,
|
|
9728
9775
|
errors: err.errors
|
|
9729
9776
|
});
|
|
9777
|
+
return;
|
|
9730
9778
|
}
|
|
9731
|
-
|
|
9779
|
+
resp.status(err.statusCode).send({
|
|
9732
9780
|
statusCode: err.statusCode,
|
|
9733
9781
|
message: err.message,
|
|
9734
9782
|
errors: [err.info]
|
|
9735
9783
|
});
|
|
9784
|
+
return;
|
|
9736
9785
|
}
|
|
9737
9786
|
console.error(err);
|
|
9738
|
-
|
|
9787
|
+
resp.status(500).send({
|
|
9739
9788
|
error: err.message
|
|
9740
9789
|
});
|
|
9790
|
+
return;
|
|
9741
9791
|
});
|
|
9742
9792
|
return app;
|
|
9743
9793
|
}
|