@labdigital/commercetools-mock 2.10.0 → 2.11.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 +49 -26
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +49 -26
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/oauth/server.test.ts +55 -0
- package/src/oauth/server.ts +21 -8
- package/src/oauth/store.ts +19 -2
package/dist/index.cjs
CHANGED
|
@@ -1287,6 +1287,7 @@ var import_express = __toESM(require("express"), 1);
|
|
|
1287
1287
|
|
|
1288
1288
|
// src/oauth/store.ts
|
|
1289
1289
|
var import_crypto = require("crypto");
|
|
1290
|
+
var import_uuid2 = require("uuid");
|
|
1290
1291
|
var OAuth2Store = class {
|
|
1291
1292
|
tokens = [];
|
|
1292
1293
|
validate = true;
|
|
@@ -1303,12 +1304,25 @@ var OAuth2Store = class {
|
|
|
1303
1304
|
this.tokens.push(token);
|
|
1304
1305
|
return token;
|
|
1305
1306
|
}
|
|
1307
|
+
getAnonymousToken(scope, anonymousId) {
|
|
1308
|
+
if (!anonymousId) {
|
|
1309
|
+
anonymousId = (0, import_uuid2.v4)();
|
|
1310
|
+
}
|
|
1311
|
+
const token = {
|
|
1312
|
+
access_token: (0, import_crypto.randomBytes)(16).toString("base64"),
|
|
1313
|
+
token_type: "Bearer",
|
|
1314
|
+
expires_in: 172800,
|
|
1315
|
+
scope: scope ? `${scope} anonymous_id:${anonymousId}` : `anonymous_id:${anonymousId}`
|
|
1316
|
+
};
|
|
1317
|
+
this.tokens.push(token);
|
|
1318
|
+
return token;
|
|
1319
|
+
}
|
|
1306
1320
|
getCustomerToken(scope, customerId) {
|
|
1307
1321
|
const token = {
|
|
1308
1322
|
access_token: (0, import_crypto.randomBytes)(16).toString("base64"),
|
|
1309
1323
|
token_type: "Bearer",
|
|
1310
1324
|
expires_in: 172800,
|
|
1311
|
-
scope: scope ? `${scope}
|
|
1325
|
+
scope: scope ? `${scope} customer_id:${customerId}` : `customer_id:${customerId}`
|
|
1312
1326
|
};
|
|
1313
1327
|
this.tokens.push(token);
|
|
1314
1328
|
return token;
|
|
@@ -1523,15 +1537,24 @@ var OAuth2Server = class {
|
|
|
1523
1537
|
);
|
|
1524
1538
|
}
|
|
1525
1539
|
async anonymousTokenHandler(request, response, next) {
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1540
|
+
const grantType = request.query.grant_type || request.body.grant_type;
|
|
1541
|
+
if (!grantType) {
|
|
1542
|
+
return next(
|
|
1543
|
+
new CommercetoolsError(
|
|
1544
|
+
{
|
|
1545
|
+
code: "invalid_request",
|
|
1546
|
+
message: "Missing required parameter: grant_type."
|
|
1547
|
+
},
|
|
1548
|
+
400
|
|
1549
|
+
)
|
|
1550
|
+
);
|
|
1551
|
+
}
|
|
1552
|
+
if (grantType === "client_credentials") {
|
|
1553
|
+
const scope = request.query.scope?.toString() || request.body.scope?.toString();
|
|
1554
|
+
const anonymous_id = void 0;
|
|
1555
|
+
const token = this.store.getAnonymousToken(scope, anonymous_id);
|
|
1556
|
+
return response.status(200).send(token);
|
|
1557
|
+
}
|
|
1535
1558
|
}
|
|
1536
1559
|
};
|
|
1537
1560
|
|
|
@@ -1591,7 +1614,7 @@ var DEFAULT_API_HOSTNAME = "https://api.*.commercetools.com";
|
|
|
1591
1614
|
var DEFAULT_AUTH_HOSTNAME = "https://auth.*.commercetools.com";
|
|
1592
1615
|
|
|
1593
1616
|
// src/repositories/helpers.ts
|
|
1594
|
-
var
|
|
1617
|
+
var import_uuid3 = require("uuid");
|
|
1595
1618
|
var createAddress = (base, projectKey, storage) => {
|
|
1596
1619
|
if (!base)
|
|
1597
1620
|
return void 0;
|
|
@@ -1629,7 +1652,7 @@ var createCustomFields = (draft, projectKey, storage) => {
|
|
|
1629
1652
|
};
|
|
1630
1653
|
};
|
|
1631
1654
|
var createPrice = (draft) => ({
|
|
1632
|
-
id: (0,
|
|
1655
|
+
id: (0, import_uuid3.v4)(),
|
|
1633
1656
|
value: createTypedMoney(draft.value)
|
|
1634
1657
|
});
|
|
1635
1658
|
var createCentPrecisionMoney = (value) => {
|
|
@@ -2195,7 +2218,7 @@ var BusinessUnitRepository = class extends AbstractResourceRepository {
|
|
|
2195
2218
|
};
|
|
2196
2219
|
|
|
2197
2220
|
// src/repositories/cart.ts
|
|
2198
|
-
var
|
|
2221
|
+
var import_uuid4 = require("uuid");
|
|
2199
2222
|
var CartRepository = class extends AbstractResourceRepository {
|
|
2200
2223
|
getTypeId() {
|
|
2201
2224
|
return "cart";
|
|
@@ -2328,7 +2351,7 @@ var CartRepository = class extends AbstractResourceRepository {
|
|
|
2328
2351
|
);
|
|
2329
2352
|
}
|
|
2330
2353
|
resource.lineItems.push({
|
|
2331
|
-
id: (0,
|
|
2354
|
+
id: (0, import_uuid4.v4)(),
|
|
2332
2355
|
productId: product.id,
|
|
2333
2356
|
productKey: product.key,
|
|
2334
2357
|
productSlug: product.masterData.current.slug,
|
|
@@ -2599,7 +2622,7 @@ var CartRepository = class extends AbstractResourceRepository {
|
|
|
2599
2622
|
);
|
|
2600
2623
|
}
|
|
2601
2624
|
return {
|
|
2602
|
-
id: (0,
|
|
2625
|
+
id: (0, import_uuid4.v4)(),
|
|
2603
2626
|
productId: product.id,
|
|
2604
2627
|
productKey: product.key,
|
|
2605
2628
|
productSlug: product.masterData.current.slug,
|
|
@@ -2770,14 +2793,14 @@ var CartDiscountRepository = class extends AbstractResourceRepository {
|
|
|
2770
2793
|
};
|
|
2771
2794
|
|
|
2772
2795
|
// src/repositories/category.ts
|
|
2773
|
-
var
|
|
2796
|
+
var import_uuid5 = require("uuid");
|
|
2774
2797
|
var CategoryRepository = class extends AbstractResourceRepository {
|
|
2775
2798
|
getTypeId() {
|
|
2776
2799
|
return "category";
|
|
2777
2800
|
}
|
|
2778
2801
|
assetFromAssetDraft = (draft, context) => ({
|
|
2779
2802
|
...draft,
|
|
2780
|
-
id: (0,
|
|
2803
|
+
id: (0, import_uuid5.v4)(),
|
|
2781
2804
|
custom: createCustomFields(draft.custom, context.projectKey, this._storage)
|
|
2782
2805
|
});
|
|
2783
2806
|
create(context, draft) {
|
|
@@ -2792,7 +2815,7 @@ var CategoryRepository = class extends AbstractResourceRepository {
|
|
|
2792
2815
|
ancestors: [],
|
|
2793
2816
|
// TODO
|
|
2794
2817
|
assets: draft.assets?.map((d) => ({
|
|
2795
|
-
id: (0,
|
|
2818
|
+
id: (0, import_uuid5.v4)(),
|
|
2796
2819
|
name: d.name,
|
|
2797
2820
|
description: d.description,
|
|
2798
2821
|
sources: d.sources,
|
|
@@ -3788,7 +3811,7 @@ var OrderEditRepository = class extends AbstractResourceRepository {
|
|
|
3788
3811
|
};
|
|
3789
3812
|
|
|
3790
3813
|
// src/repositories/payment.ts
|
|
3791
|
-
var
|
|
3814
|
+
var import_uuid6 = require("uuid");
|
|
3792
3815
|
var PaymentRepository = class extends AbstractResourceRepository {
|
|
3793
3816
|
getTypeId() {
|
|
3794
3817
|
return "payment";
|
|
@@ -3823,7 +3846,7 @@ var PaymentRepository = class extends AbstractResourceRepository {
|
|
|
3823
3846
|
}
|
|
3824
3847
|
transactionFromTransactionDraft = (draft, context) => ({
|
|
3825
3848
|
...draft,
|
|
3826
|
-
id: (0,
|
|
3849
|
+
id: (0, import_uuid6.v4)(),
|
|
3827
3850
|
amount: createCentPrecisionMoney(draft.amount),
|
|
3828
3851
|
custom: createCustomFields(draft.custom, context.projectKey, this._storage),
|
|
3829
3852
|
state: draft.state ?? "Initial"
|
|
@@ -3907,7 +3930,7 @@ var PaymentRepository = class extends AbstractResourceRepository {
|
|
|
3907
3930
|
};
|
|
3908
3931
|
|
|
3909
3932
|
// src/repositories/product.ts
|
|
3910
|
-
var
|
|
3933
|
+
var import_uuid7 = require("uuid");
|
|
3911
3934
|
var import_deep_equal2 = __toESM(require("deep-equal"), 1);
|
|
3912
3935
|
var ProductRepository = class extends AbstractResourceRepository {
|
|
3913
3936
|
getTypeId() {
|
|
@@ -4013,7 +4036,7 @@ var ProductRepository = class extends AbstractResourceRepository {
|
|
|
4013
4036
|
}
|
|
4014
4037
|
priceFromDraft(context, draft) {
|
|
4015
4038
|
return {
|
|
4016
|
-
id: (0,
|
|
4039
|
+
id: (0, import_uuid7.v4)(),
|
|
4017
4040
|
key: draft.key,
|
|
4018
4041
|
country: draft.country,
|
|
4019
4042
|
value: createTypedMoney(draft.value),
|
|
@@ -6055,7 +6078,7 @@ var SubscriptionRepository = class extends AbstractResourceRepository {
|
|
|
6055
6078
|
};
|
|
6056
6079
|
|
|
6057
6080
|
// src/repositories/tax-category.ts
|
|
6058
|
-
var
|
|
6081
|
+
var import_uuid8 = require("uuid");
|
|
6059
6082
|
var TaxCategoryRepository = class extends AbstractResourceRepository {
|
|
6060
6083
|
getTypeId() {
|
|
6061
6084
|
return "tax-category";
|
|
@@ -6071,7 +6094,7 @@ var TaxCategoryRepository = class extends AbstractResourceRepository {
|
|
|
6071
6094
|
}
|
|
6072
6095
|
taxRateFromTaxRateDraft = (draft) => ({
|
|
6073
6096
|
...draft,
|
|
6074
|
-
id: (0,
|
|
6097
|
+
id: (0, import_uuid8.v4)(),
|
|
6075
6098
|
amount: draft.amount || 0
|
|
6076
6099
|
});
|
|
6077
6100
|
actions = {
|
|
@@ -6630,7 +6653,7 @@ var CustomerGroupService = class extends AbstractService {
|
|
|
6630
6653
|
};
|
|
6631
6654
|
|
|
6632
6655
|
// src/services/customer.ts
|
|
6633
|
-
var
|
|
6656
|
+
var import_uuid9 = require("uuid");
|
|
6634
6657
|
var CustomerService = class extends AbstractService {
|
|
6635
6658
|
repository;
|
|
6636
6659
|
constructor(parent, repository) {
|
|
@@ -6654,7 +6677,7 @@ var CustomerService = class extends AbstractService {
|
|
|
6654
6677
|
...rest,
|
|
6655
6678
|
customerId: customer.results[0].id,
|
|
6656
6679
|
expiresAt: new Date(Date.now() + ttlMinutes * 60).toISOString(),
|
|
6657
|
-
value: (0,
|
|
6680
|
+
value: (0, import_uuid9.v4)()
|
|
6658
6681
|
});
|
|
6659
6682
|
});
|
|
6660
6683
|
}
|