@medusajs/medusa 1.1.62 → 1.1.63-adminc.21
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/api/routes/admin/collections/list-collections.d.ts +16 -3
- package/dist/api/routes/admin/collections/list-collections.js +88 -10
- package/dist/api/routes/admin/collections/list-collections.js.map +1 -1
- package/dist/api/routes/admin/discounts/list-discounts.d.ts +6 -0
- package/dist/api/routes/admin/discounts/list-discounts.js +45 -8
- package/dist/api/routes/admin/discounts/list-discounts.js.map +1 -1
- package/dist/api/routes/admin/orders/list-orders.js +1 -1
- package/dist/api/routes/admin/orders/list-orders.js.map +1 -1
- package/dist/api/routes/admin/products/list-products.js +1 -2
- package/dist/api/routes/admin/products/list-products.js.map +1 -1
- package/dist/api/routes/admin/tax-rates/add-to-product-types.d.ts +29 -0
- package/dist/api/routes/admin/tax-rates/add-to-product-types.js +177 -0
- package/dist/api/routes/admin/tax-rates/add-to-product-types.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/add-to-products.d.ts +29 -0
- package/dist/api/routes/admin/tax-rates/add-to-products.js +173 -0
- package/dist/api/routes/admin/tax-rates/add-to-products.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/add-to-shipping-options.d.ts +29 -0
- package/dist/api/routes/admin/tax-rates/add-to-shipping-options.js +177 -0
- package/dist/api/routes/admin/tax-rates/add-to-shipping-options.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/create-tax-rate.d.ts +35 -0
- package/dist/api/routes/admin/tax-rates/create-tax-rate.js +286 -0
- package/dist/api/routes/admin/tax-rates/create-tax-rate.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/delete-tax-rate.d.ts +28 -0
- package/dist/api/routes/admin/tax-rates/delete-tax-rate.js +84 -0
- package/dist/api/routes/admin/tax-rates/delete-tax-rate.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/get-tax-rate.d.ts +26 -0
- package/dist/api/routes/admin/tax-rates/get-tax-rate.js +106 -0
- package/dist/api/routes/admin/tax-rates/get-tax-rate.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/index.d.ts +21 -0
- package/dist/api/routes/admin/tax-rates/index.js +74 -0
- package/dist/api/routes/admin/tax-rates/index.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/list-tax-rates.d.ts +44 -0
- package/dist/api/routes/admin/tax-rates/list-tax-rates.js +178 -0
- package/dist/api/routes/admin/tax-rates/list-tax-rates.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/update-tax-rate.d.ts +35 -0
- package/dist/api/routes/admin/tax-rates/update-tax-rate.js +286 -0
- package/dist/api/routes/admin/tax-rates/update-tax-rate.js.map +1 -0
- package/dist/api/routes/admin/tax-rates/utils/get-query-config.d.ts +7 -0
- package/dist/api/routes/admin/tax-rates/utils/get-query-config.js +91 -0
- package/dist/api/routes/admin/tax-rates/utils/get-query-config.js.map +1 -0
- package/dist/api/routes/store/carts/calculate-taxes.d.ts +24 -0
- package/dist/api/routes/store/carts/calculate-taxes.js +153 -0
- package/dist/api/routes/store/carts/calculate-taxes.js.map +1 -0
- package/dist/interfaces/cart-completion-strategy.d.ts +20 -0
- package/dist/interfaces/cart-completion-strategy.js +10 -0
- package/dist/interfaces/cart-completion-strategy.js.map +1 -0
- package/dist/interfaces/index.d.ts +3 -0
- package/dist/interfaces/index.js +16 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/tax-calculation-strategy.d.ts +16 -0
- package/dist/interfaces/tax-calculation-strategy.js +10 -0
- package/dist/interfaces/tax-calculation-strategy.js.map +1 -0
- package/dist/interfaces/tax-service.d.ts +51 -0
- package/dist/interfaces/tax-service.js +3 -0
- package/dist/interfaces/tax-service.js.map +1 -0
- package/dist/loaders/strategies.d.ts +12 -0
- package/dist/loaders/strategies.js +32 -0
- package/dist/loaders/strategies.js.map +1 -0
- package/dist/migrations/1641636508055-new_tax_system.d.ts +6 -0
- package/dist/migrations/1641636508055-new_tax_system.js +248 -0
- package/dist/migrations/1641636508055-new_tax_system.js.map +1 -0
- package/dist/models/discount.js +2 -1
- package/dist/models/discount.js.map +1 -1
- package/dist/models/line-item-tax-line.d.ts +7 -0
- package/dist/models/line-item-tax-line.js +65 -0
- package/dist/models/line-item-tax-line.js.map +1 -0
- package/dist/models/product-tax-rate.d.ts +40 -0
- package/dist/models/product-tax-rate.js +88 -0
- package/dist/models/product-tax-rate.js.map +1 -0
- package/dist/models/product-type-tax-rate.d.ts +40 -0
- package/dist/models/product-type-tax-rate.js +88 -0
- package/dist/models/product-type-tax-rate.js.map +1 -0
- package/dist/models/shipping-method-tax-line.d.ts +7 -0
- package/dist/models/shipping-method-tax-line.js +65 -0
- package/dist/models/shipping-method-tax-line.js.map +1 -0
- package/dist/models/shipping-tax-rate.d.ts +40 -0
- package/dist/models/shipping-tax-rate.js +88 -0
- package/dist/models/shipping-tax-rate.js.map +1 -0
- package/dist/models/tax-line.d.ts +39 -0
- package/dist/models/tax-line.js +79 -0
- package/dist/models/tax-line.js.map +1 -0
- package/dist/models/tax-provider.d.ts +17 -0
- package/dist/models/tax-provider.js +44 -0
- package/dist/models/tax-provider.js.map +1 -0
- package/dist/models/tax-rate.d.ts +58 -0
- package/dist/models/tax-rate.js +159 -0
- package/dist/models/tax-rate.js.map +1 -0
- package/dist/repositories/line-item-tax-line.d.ts +4 -0
- package/dist/repositories/line-item-tax-line.js +38 -0
- package/dist/repositories/line-item-tax-line.js.map +1 -0
- package/dist/repositories/product-tax-rate.d.ts +4 -0
- package/dist/repositories/product-tax-rate.js +38 -0
- package/dist/repositories/product-tax-rate.js.map +1 -0
- package/dist/repositories/shipping-method-tax-line.d.ts +4 -0
- package/dist/repositories/shipping-method-tax-line.js +38 -0
- package/dist/repositories/shipping-method-tax-line.js.map +1 -0
- package/dist/repositories/shipping-tax-rate.d.ts +4 -0
- package/dist/repositories/shipping-tax-rate.js +38 -0
- package/dist/repositories/shipping-tax-rate.js.map +1 -0
- package/dist/repositories/tax-rate.d.ts +18 -0
- package/dist/repositories/tax-rate.js +359 -0
- package/dist/repositories/tax-rate.js.map +1 -0
- package/dist/services/product-tax-rate.d.ts +25 -0
- package/dist/services/product-tax-rate.js +104 -0
- package/dist/services/product-tax-rate.js.map +1 -0
- package/dist/services/product-type.d.ts +27 -0
- package/dist/services/product-type.js +112 -0
- package/dist/services/product-type.js.map +1 -0
- package/dist/services/shipping-tax-rate.d.ts +26 -0
- package/dist/services/shipping-tax-rate.js +105 -0
- package/dist/services/shipping-tax-rate.js.map +1 -0
- package/dist/services/system-tax.d.ts +9 -0
- package/dist/services/system-tax.js +89 -0
- package/dist/services/system-tax.js.map +1 -0
- package/dist/services/tax-provider.d.ts +105 -0
- package/dist/services/tax-provider.js +455 -0
- package/dist/services/tax-provider.js.map +1 -0
- package/dist/services/tax-rate.d.ts +31 -0
- package/dist/services/tax-rate.js +405 -0
- package/dist/services/tax-rate.js.map +1 -0
- package/dist/strategies/cart-completion.d.ts +17 -0
- package/dist/strategies/cart-completion.js +336 -0
- package/dist/strategies/cart-completion.js.map +1 -0
- package/dist/strategies/tax-calculation.d.ts +11 -0
- package/dist/strategies/tax-calculation.js +147 -0
- package/dist/strategies/tax-calculation.js.map +1 -0
- package/dist/types/discount.js.map +1 -1
- package/dist/types/orders.js +1 -1
- package/dist/types/orders.js.map +1 -1
- package/dist/types/product-tax-rate.d.ts +10 -0
- package/dist/types/product-tax-rate.js +13 -0
- package/dist/types/product-tax-rate.js.map +1 -0
- package/dist/types/request.d.ts +3 -0
- package/dist/types/request.js +3 -0
- package/dist/types/request.js.map +1 -0
- package/dist/types/shipping-tax-rate.d.ts +10 -0
- package/dist/types/shipping-tax-rate.js +13 -0
- package/dist/types/shipping-tax-rate.js.map +1 -0
- package/dist/types/tax-rate.d.ts +25 -0
- package/dist/types/tax-rate.js +3 -0
- package/dist/types/tax-rate.js.map +1 -0
- package/dist/types/tax-service.d.ts +34 -0
- package/dist/types/tax-service.js +3 -0
- package/dist/types/tax-service.js.map +1 -0
- package/dist/types/totals.d.ts +42 -0
- package/dist/types/totals.js +3 -0
- package/dist/types/totals.js.map +1 -0
- package/jest.config.js +17 -0
- package/package.json +3 -3
- package/yarn-error.log +79 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-query-config.js","sourceRoot":"","sources":["../../../../../../src/api/routes/admin/tax-rates/utils/get-query-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAA+E;AAC/E,iCAA6B;AAI7B,SAAgB,YAAY,CAC1B,GAAY,EACZ,MAAqB;;IAErB,IAAM,MAAM,0CAAO,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,kBAAK,CAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAC,SAAC,CAAA;IAEtE,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,IAAA,aAAI,EAAC,CAAC,EAAE,MAAM,CAAC,EAAf,CAAe,CAAC,CAAA;SACvC;aAAM;YACL,OAAO,IAAA,aAAI,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;SACzB;KACF;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAdD,oCAcC;AAED,SAAgB,iBAAiB,CAC/B,MAA0B,EAC1B,MAAiB;IAEjB,IAAI,aAAa,GAAsB,EAAE,CAAA;IACzC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;QAChC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAClB,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAsB,CAAA;KAC1D;IAED,IAAI,YAAY,GAAa,EAAE,CAAA;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,YAAY,GAAG,MAAM,CAAA;KACtB;IAED,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,8BAA0B;QACzE,SAAS,EAAE,YAAY,CAAC,MAAM;YAC5B,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,iCAA6B;KAClC,CAAA;AACH,CAAC;AAtBD,8CAsBC;AAED,SAAgB,aAAa,CAC3B,MAA0B,EAC1B,MAAiB,EACjB,KAAU,EACV,MAAU,EACV,KAAuC;IAFvC,sBAAA,EAAA,UAAU;IACV,uBAAA,EAAA,UAAU;IAGV,IAAI,aAAa,GAAsB,EAAE,CAAA;IACzC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;QAChC,8DAA8D;QAC9D,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC1B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAClB,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAsB,CAAA;KAC1D;IAED,IAAI,YAAY,GAAa,EAAE,CAAA;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,YAAY,GAAG,MAAM,CAAA;KACtB;IAED,IAAM,OAAO,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;IAE/C,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,8BAA0B;QACzE,SAAS,EAAE,YAAY,CAAC,MAAM;YAC5B,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,iCAA6B;QACjC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,OAAO;KACf,CAAA;AACH,CAAC;AAhCD,sCAgCC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
declare const _default: (req: any, res: any) => Promise<void>;
|
|
2
|
+
/**
|
|
3
|
+
* @oas [post] /carts/{id}/taxes
|
|
4
|
+
* summary: "Calculate Cart Taxes"
|
|
5
|
+
* operationId: "PostCartsCartTaxes"
|
|
6
|
+
* description: "Calculates taxes for a cart. Depending on the cart's region
|
|
7
|
+
* this may involve making 3rd party API calls to a Tax Provider service."
|
|
8
|
+
* parameters:
|
|
9
|
+
* - (path) id=* {String} The Cart id.
|
|
10
|
+
* tags:
|
|
11
|
+
* - Cart
|
|
12
|
+
* responses:
|
|
13
|
+
* 200:
|
|
14
|
+
* description: "A cart object with the tax_total field populated"
|
|
15
|
+
* content:
|
|
16
|
+
* application/json:
|
|
17
|
+
* schema:
|
|
18
|
+
* oneOf:
|
|
19
|
+
* - type: object
|
|
20
|
+
* properties:
|
|
21
|
+
* cart:
|
|
22
|
+
* $ref: "#/components/schemas/cart"
|
|
23
|
+
*/
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
/**
|
|
40
|
+
* @oas [post] /carts/{id}/taxes
|
|
41
|
+
* summary: "Calculate Cart Taxes"
|
|
42
|
+
* operationId: "PostCartsCartTaxes"
|
|
43
|
+
* description: "Calculates taxes for a cart. Depending on the cart's region
|
|
44
|
+
* this may involve making 3rd party API calls to a Tax Provider service."
|
|
45
|
+
* parameters:
|
|
46
|
+
* - (path) id=* {String} The Cart id.
|
|
47
|
+
* tags:
|
|
48
|
+
* - Cart
|
|
49
|
+
* responses:
|
|
50
|
+
* 200:
|
|
51
|
+
* description: "A cart object with the tax_total field populated"
|
|
52
|
+
* content:
|
|
53
|
+
* application/json:
|
|
54
|
+
* schema:
|
|
55
|
+
* oneOf:
|
|
56
|
+
* - type: object
|
|
57
|
+
* properties:
|
|
58
|
+
* cart:
|
|
59
|
+
* $ref: "#/components/schemas/cart"
|
|
60
|
+
*/
|
|
61
|
+
exports.default = (function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
|
|
62
|
+
var id, idempotencyKeyService, headerKey, idempotencyKey, error_1, cartService, inProgress, err, _a, _b, key, error;
|
|
63
|
+
return __generator(this, function (_c) {
|
|
64
|
+
switch (_c.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
id = req.params.id;
|
|
67
|
+
idempotencyKeyService = req.scope.resolve("idempotencyKeyService");
|
|
68
|
+
headerKey = req.get("Idempotency-Key") || "";
|
|
69
|
+
_c.label = 1;
|
|
70
|
+
case 1:
|
|
71
|
+
_c.trys.push([1, 3, , 4]);
|
|
72
|
+
return [4 /*yield*/, idempotencyKeyService.initializeRequest(headerKey, req.method, req.params, req.path)];
|
|
73
|
+
case 2:
|
|
74
|
+
idempotencyKey = _c.sent();
|
|
75
|
+
return [3 /*break*/, 4];
|
|
76
|
+
case 3:
|
|
77
|
+
error_1 = _c.sent();
|
|
78
|
+
console.log(error_1);
|
|
79
|
+
res.status(409).send("Failed to create idempotency key");
|
|
80
|
+
return [2 /*return*/];
|
|
81
|
+
case 4:
|
|
82
|
+
res.setHeader("Access-Control-Expose-Headers", "Idempotency-Key");
|
|
83
|
+
res.setHeader("Idempotency-Key", idempotencyKey.idempotency_key);
|
|
84
|
+
cartService = req.scope.resolve("cartService");
|
|
85
|
+
inProgress = true;
|
|
86
|
+
err = false;
|
|
87
|
+
_c.label = 5;
|
|
88
|
+
case 5:
|
|
89
|
+
if (!inProgress) return [3 /*break*/, 12];
|
|
90
|
+
_a = idempotencyKey.recovery_point;
|
|
91
|
+
switch (_a) {
|
|
92
|
+
case "started": return [3 /*break*/, 6];
|
|
93
|
+
case "finished": return [3 /*break*/, 8];
|
|
94
|
+
}
|
|
95
|
+
return [3 /*break*/, 9];
|
|
96
|
+
case 6: return [4 /*yield*/, idempotencyKeyService.workStage(idempotencyKey.idempotency_key, function (manager) { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
|
+
var cart;
|
|
98
|
+
return __generator(this, function (_a) {
|
|
99
|
+
switch (_a.label) {
|
|
100
|
+
case 0: return [4 /*yield*/, cartService.withTransaction(manager).retrieve(id, {
|
|
101
|
+
select: [
|
|
102
|
+
"total",
|
|
103
|
+
"subtotal",
|
|
104
|
+
"tax_total",
|
|
105
|
+
"discount_total",
|
|
106
|
+
"shipping_total",
|
|
107
|
+
"gift_card_total",
|
|
108
|
+
],
|
|
109
|
+
}, { force_taxes: true })];
|
|
110
|
+
case 1:
|
|
111
|
+
cart = _a.sent();
|
|
112
|
+
return [2 /*return*/, {
|
|
113
|
+
response_code: 200,
|
|
114
|
+
response_body: { cart: cart },
|
|
115
|
+
}];
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}); })];
|
|
119
|
+
case 7:
|
|
120
|
+
_b = _c.sent(), key = _b.key, error = _b.error;
|
|
121
|
+
if (error) {
|
|
122
|
+
inProgress = false;
|
|
123
|
+
err = error;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
idempotencyKey = key;
|
|
127
|
+
}
|
|
128
|
+
return [3 /*break*/, 11];
|
|
129
|
+
case 8:
|
|
130
|
+
{
|
|
131
|
+
inProgress = false;
|
|
132
|
+
return [3 /*break*/, 11];
|
|
133
|
+
}
|
|
134
|
+
_c.label = 9;
|
|
135
|
+
case 9: return [4 /*yield*/, idempotencyKeyService.update(idempotencyKey.idempotency_key, {
|
|
136
|
+
recovery_point: "finished",
|
|
137
|
+
response_code: 500,
|
|
138
|
+
response_body: { message: "Unknown recovery point" },
|
|
139
|
+
})];
|
|
140
|
+
case 10:
|
|
141
|
+
idempotencyKey = _c.sent();
|
|
142
|
+
return [3 /*break*/, 11];
|
|
143
|
+
case 11: return [3 /*break*/, 5];
|
|
144
|
+
case 12:
|
|
145
|
+
if (err) {
|
|
146
|
+
throw err;
|
|
147
|
+
}
|
|
148
|
+
res.status(idempotencyKey.response_code).json(idempotencyKey.response_body);
|
|
149
|
+
return [2 /*return*/];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}); });
|
|
153
|
+
//# sourceMappingURL=calculate-taxes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-taxes.js","sourceRoot":"","sources":["../../../../../src/api/routes/store/carts/calculate-taxes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,mBAAe,UAAO,GAAG,EAAE,GAAG;;;;;gBACpB,EAAE,GAAK,GAAG,CAAC,MAAM,GAAf,CAAe;gBAEnB,qBAAqB,GAA0B,GAAG,CAAC,KAAK,CAAC,OAAO,CACpE,uBAAuB,CACxB,CAAA;gBAEK,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;;;;gBAI/B,qBAAM,qBAAqB,CAAC,iBAAiB,CAC5D,SAAS,EACT,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,IAAI,CACT,EAAA;;gBALD,cAAc,GAAG,SAKhB,CAAA;;;;gBAED,OAAO,CAAC,GAAG,CAAC,OAAK,CAAC,CAAA;gBAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;gBACxD,sBAAM;;gBAGR,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,iBAAiB,CAAC,CAAA;gBACjE,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,cAAc,CAAC,eAAe,CAAC,CAAA;gBAE1D,WAAW,GAAgB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBAE7D,UAAU,GAAG,IAAI,CAAA;gBACjB,GAAG,GAAG,KAAK,CAAA;;;qBAER,UAAU;gBACP,KAAA,cAAc,CAAC,cAAc,CAAA;;yBAC9B,SAAS,CAAC,CAAV,wBAAS;yBAmCT,UAAU,CAAC,CAAX,wBAAU;;;oBAlCU,qBAAM,qBAAqB,CAAC,SAAS,CAC1D,cAAc,CAAC,eAAe,EAC9B,UAAO,OAAsB;;;;oCACd,qBAAM,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAC9D,EAAE,EACF;oCACE,MAAM,EAAE;wCACN,OAAO;wCACP,UAAU;wCACV,WAAW;wCACX,gBAAgB;wCAChB,gBAAgB;wCAChB,iBAAiB;qCAClB;iCACF,EACD,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,EAAA;;gCAbK,IAAI,GAAG,SAaZ;gCAED,sBAAO;wCACL,aAAa,EAAE,GAAG;wCAClB,aAAa,EAAE,EAAE,IAAI,MAAA,EAAE;qCACxB,EAAA;;;qBACF,CACF,EAAA;;gBAvBK,KAAiB,SAuBtB,EAvBO,GAAG,SAAA,EAAE,KAAK,WAAA;gBAyBlB,IAAI,KAAK,EAAE;oBACT,UAAU,GAAG,KAAK,CAAA;oBAClB,GAAG,GAAG,KAAK,CAAA;iBACZ;qBAAM;oBACL,cAAc,GAAG,GAAG,CAAA;iBACrB;gBACD,yBAAK;;gBAGU;oBACf,UAAU,GAAG,KAAK,CAAA;oBAClB,yBAAK;iBACN;;oBAGkB,qBAAM,qBAAqB,CAAC,MAAM,CACjD,cAAc,CAAC,eAAe,EAC9B;oBACE,cAAc,EAAE,UAAU;oBAC1B,aAAa,EAAE,GAAG;oBAClB,aAAa,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBACrD,CACF,EAAA;;gBAPD,cAAc,GAAG,SAOhB,CAAA;gBACD,yBAAK;;;gBAIX,IAAI,GAAG,EAAE;oBACP,MAAM,GAAG,CAAA;iBACV;gBAED,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;;;;KAC5E,EAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IdempotencyKey } from "../models/idempotency-key";
|
|
2
|
+
import { RequestContext } from "../types/request";
|
|
3
|
+
export declare type CartCompletionResponse = {
|
|
4
|
+
/** The response code for the completion request */
|
|
5
|
+
response_code: number;
|
|
6
|
+
/** The response body for the completion request */
|
|
7
|
+
response_body: object;
|
|
8
|
+
};
|
|
9
|
+
export interface ICartCompletionStrategy {
|
|
10
|
+
/**
|
|
11
|
+
* Takes a cart id and completes the cart. This for example takes place when
|
|
12
|
+
* creating an order or confirming a swap.
|
|
13
|
+
* @param cartId - the id of the Cart to complete.
|
|
14
|
+
* @param idempotencyKey - the idempotency key for the request
|
|
15
|
+
* @param context - the request context for the completion request
|
|
16
|
+
* @return the response for the completion request
|
|
17
|
+
*/
|
|
18
|
+
complete(cartId: string, idempotencyKey: IdempotencyKey, context: RequestContext): Promise<CartCompletionResponse>;
|
|
19
|
+
}
|
|
20
|
+
export declare function isCartCompletionStrategy(object: any): object is ICartCompletionStrategy;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isCartCompletionStrategy = void 0;
|
|
4
|
+
function isCartCompletionStrategy(
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
object) {
|
|
7
|
+
return typeof object.complete === "function";
|
|
8
|
+
}
|
|
9
|
+
exports.isCartCompletionStrategy = isCartCompletionStrategy;
|
|
10
|
+
//# sourceMappingURL=cart-completion-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cart-completion-strategy.js","sourceRoot":"","sources":["../../src/interfaces/cart-completion-strategy.ts"],"names":[],"mappings":";;;AA2BA,SAAgB,wBAAwB;AACtC,8DAA8D;AAC9D,MAAW;IAEX,OAAO,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAA;AAC9C,CAAC;AALD,4DAKC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./tax-calculation-strategy"), exports);
|
|
14
|
+
__exportStar(require("./cart-completion-strategy"), exports);
|
|
15
|
+
__exportStar(require("./tax-service"), exports);
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAA0C;AAC1C,6DAA0C;AAC1C,gDAA6B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LineItem } from "../models/line-item";
|
|
2
|
+
import { TaxCalculationContext } from "./tax-service";
|
|
3
|
+
import { LineItemTaxLine } from "../models/line-item-tax-line";
|
|
4
|
+
import { ShippingMethodTaxLine } from "../models/shipping-method-tax-line";
|
|
5
|
+
export interface ITaxCalculationStrategy {
|
|
6
|
+
/**
|
|
7
|
+
* Calculates the tax amount for a given set of line items under applicable
|
|
8
|
+
* tax conditions and calculation contexts.
|
|
9
|
+
* @param items - the line items to calculate the tax total for
|
|
10
|
+
* @param taxLines - the tax lines that applies to the calculation
|
|
11
|
+
* @param calculationContext - other details relevant for the calculation
|
|
12
|
+
* @return the tax total
|
|
13
|
+
*/
|
|
14
|
+
calculate(items: LineItem[], taxLines: (ShippingMethodTaxLine | LineItemTaxLine)[], calculationContext: TaxCalculationContext): Promise<number>;
|
|
15
|
+
}
|
|
16
|
+
export declare function isTaxCalculationStrategy(object: any): object is ITaxCalculationStrategy;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isTaxCalculationStrategy = void 0;
|
|
4
|
+
function isTaxCalculationStrategy(
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
object) {
|
|
7
|
+
return typeof object.calculate === "function";
|
|
8
|
+
}
|
|
9
|
+
exports.isTaxCalculationStrategy = isTaxCalculationStrategy;
|
|
10
|
+
//# sourceMappingURL=tax-calculation-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tax-calculation-strategy.js","sourceRoot":"","sources":["../../src/interfaces/tax-calculation-strategy.ts"],"names":[],"mappings":";;;AAqBA,SAAgB,wBAAwB;AACtC,8DAA8D;AAC9D,MAAW;IAEX,OAAO,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,CAAA;AAC/C,CAAC;AALD,4DAKC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LineItem } from "../models/line-item";
|
|
2
|
+
import { Region } from "../models/region";
|
|
3
|
+
import { Address } from "../models/address";
|
|
4
|
+
import { ShippingMethod } from "../models/shipping-method";
|
|
5
|
+
import { Customer } from "../models/customer";
|
|
6
|
+
import { ProviderTaxLine, TaxServiceRate } from "../types/tax-service";
|
|
7
|
+
import { LineAllocationsMap } from "../types/totals";
|
|
8
|
+
/**
|
|
9
|
+
* A shipping method and the tax rates that have been configured to apply to the
|
|
10
|
+
* shipping method.
|
|
11
|
+
*/
|
|
12
|
+
export declare type ShippingTaxCalculationLine = {
|
|
13
|
+
shipping_method: ShippingMethod;
|
|
14
|
+
rates: TaxServiceRate[];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* A line item and the tax rates that have been configured to apply to the
|
|
18
|
+
* product contained in the line item.
|
|
19
|
+
*/
|
|
20
|
+
export declare type ItemTaxCalculationLine = {
|
|
21
|
+
item: LineItem;
|
|
22
|
+
rates: TaxServiceRate[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Information relevant to a tax calculation, such as the shipping address where
|
|
26
|
+
* the items are going.
|
|
27
|
+
*/
|
|
28
|
+
export declare type TaxCalculationContext = {
|
|
29
|
+
shipping_address: Address | null;
|
|
30
|
+
customer: Customer;
|
|
31
|
+
region: Region;
|
|
32
|
+
is_return: boolean;
|
|
33
|
+
shipping_methods: ShippingMethod[];
|
|
34
|
+
allocation_map: LineAllocationsMap;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Interface to be implemented by tax provider plugins. The interface defines a
|
|
38
|
+
* single method `getTaxLines` that returns numerical rates to apply to line
|
|
39
|
+
* items and shipping methods.
|
|
40
|
+
*/
|
|
41
|
+
export interface ITaxService {
|
|
42
|
+
/**
|
|
43
|
+
* Retrieves the numerical tax lines for a calculation context.
|
|
44
|
+
* @param itemLines - the line item calculation lines
|
|
45
|
+
* @param itemLines - the shipping calculation lines
|
|
46
|
+
* @param context - other details relevant to the tax determination
|
|
47
|
+
* @return numerical tax rates that should apply to the provided calculation
|
|
48
|
+
* lines
|
|
49
|
+
*/
|
|
50
|
+
getTaxLines(itemLines: ItemTaxCalculationLine[], shippingLines: ShippingTaxCalculationLine[], context: TaxCalculationContext): Promise<ProviderTaxLine[]>;
|
|
51
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tax-service.js","sourceRoot":"","sources":["../../src/interfaces/tax-service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AwilixContainer } from "awilix";
|
|
2
|
+
declare type LoaderOptions = {
|
|
3
|
+
container: AwilixContainer;
|
|
4
|
+
configModule: object;
|
|
5
|
+
isTest: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: ({ container, configModule, isTest }: LoaderOptions) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Registers all strategies in the strategies directory
|
|
10
|
+
* @returns void
|
|
11
|
+
*/
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var glob_1 = __importDefault(require("glob"));
|
|
7
|
+
var path_1 = __importDefault(require("path"));
|
|
8
|
+
var awilix_1 = require("awilix");
|
|
9
|
+
var format_registration_name_1 = __importDefault(require("../utils/format-registration-name"));
|
|
10
|
+
/**
|
|
11
|
+
* Registers all strategies in the strategies directory
|
|
12
|
+
* @returns void
|
|
13
|
+
*/
|
|
14
|
+
exports.default = (function (_a) {
|
|
15
|
+
var container = _a.container, configModule = _a.configModule, isTest = _a.isTest;
|
|
16
|
+
var useMock = typeof isTest !== "undefined" ? isTest : process.env.NODE_ENV === "test";
|
|
17
|
+
var corePath = useMock
|
|
18
|
+
? "../strategies/__mocks__/*.js"
|
|
19
|
+
: "../strategies/*.js";
|
|
20
|
+
var coreFull = path_1.default.join(__dirname, corePath);
|
|
21
|
+
var core = glob_1.default.sync(coreFull, { cwd: __dirname });
|
|
22
|
+
core.forEach(function (fn) {
|
|
23
|
+
var _a;
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
25
|
+
var loaded = require(fn).default;
|
|
26
|
+
var name = (0, format_registration_name_1.default)(fn);
|
|
27
|
+
container.register((_a = {},
|
|
28
|
+
_a[name] = (0, awilix_1.asFunction)(function (cradle) { return new loaded(cradle, configModule); }).singleton(),
|
|
29
|
+
_a));
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=strategies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/loaders/strategies.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,8CAAuB;AACvB,iCAAoD;AAEpD,+FAAsE;AAQtE;;;GAGG;AACH,mBAAe,UAAC,EAAkD;QAAhD,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,MAAM,YAAA;IAC/C,IAAM,OAAO,GACX,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAA;IAE1E,IAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,oBAAoB,CAAA;IACxB,IAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE/C,IAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;IACpD,IAAI,CAAC,OAAO,CAAC,UAAC,EAAE;;QACd,8DAA8D;QAC9D,IAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QAClC,IAAM,IAAI,GAAG,IAAA,kCAAsB,EAAC,EAAE,CAAC,CAAA;QACvC,SAAS,CAAC,QAAQ;YAChB,GAAC,IAAI,IAAG,IAAA,mBAAU,EAChB,UAAC,MAAM,IAAK,OAAA,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAhC,CAAgC,CAC7C,CAAC,SAAS,EAAE;gBACb,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,EAAA"}
|