celitech-sdk 1.1.71 → 1.1.73
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/.github/workflows/publish_npmjs.yml +1 -0
- package/.manifest.json +12 -12
- package/README.md +2 -2
- package/dist/http/client.d.ts +14 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +36 -0
- package/dist/http/client.js.map +1 -0
- package/dist/http/environment.d.ts +4 -0
- package/dist/http/environment.d.ts.map +1 -0
- package/dist/http/environment.js +8 -0
- package/dist/http/environment.js.map +1 -0
- package/dist/http/error.d.ts +7 -0
- package/dist/http/error.d.ts.map +1 -0
- package/dist/http/error.js +12 -0
- package/dist/http/error.js.map +1 -0
- package/dist/http/handlers/handler-chain.d.ts +8 -0
- package/dist/http/handlers/handler-chain.d.ts.map +1 -0
- package/dist/http/handlers/handler-chain.js +34 -0
- package/dist/http/handlers/handler-chain.js.map +1 -0
- package/dist/http/handlers/hook-handler.d.ts +12 -0
- package/dist/http/handlers/hook-handler.d.ts.map +1 -0
- package/dist/http/handlers/hook-handler.js +49 -0
- package/dist/http/handlers/hook-handler.js.map +1 -0
- package/dist/http/handlers/request-validation-handler.d.ts +9 -0
- package/dist/http/handlers/request-validation-handler.d.ts.map +1 -0
- package/dist/http/handlers/request-validation-handler.js +78 -0
- package/dist/http/handlers/request-validation-handler.js.map +1 -0
- package/dist/http/handlers/response-validation-handler.d.ts +11 -0
- package/dist/http/handlers/response-validation-handler.d.ts.map +1 -0
- package/dist/http/handlers/response-validation-handler.js +89 -0
- package/dist/http/handlers/response-validation-handler.js.map +1 -0
- package/dist/http/handlers/retry-handler.d.ts +9 -0
- package/dist/http/handlers/retry-handler.d.ts.map +1 -0
- package/dist/http/handlers/retry-handler.js +47 -0
- package/dist/http/handlers/retry-handler.js.map +1 -0
- package/dist/http/handlers/terminating-handler.d.ts +8 -0
- package/dist/http/handlers/terminating-handler.d.ts.map +1 -0
- package/dist/http/handlers/terminating-handler.js +45 -0
- package/dist/http/handlers/terminating-handler.js.map +1 -0
- package/dist/http/hooks/custom-hook.d.ts +9 -0
- package/dist/http/hooks/custom-hook.d.ts.map +1 -0
- package/dist/http/hooks/custom-hook.js +84 -0
- package/dist/http/hooks/custom-hook.js.map +1 -0
- package/dist/http/hooks/hook.d.ts +31 -0
- package/dist/http/hooks/hook.d.ts.map +1 -0
- package/dist/http/hooks/hook.js +3 -0
- package/dist/http/hooks/hook.js.map +1 -0
- package/dist/http/index.d.ts +5 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +21 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/serializer.d.ts +13 -0
- package/dist/http/serializer.d.ts.map +1 -0
- package/dist/http/serializer.js +150 -0
- package/dist/http/serializer.js.map +1 -0
- package/dist/http/transport/request-builder.d.ts +24 -0
- package/dist/http/transport/request-builder.d.ts.map +1 -0
- package/dist/http/transport/request-builder.js +130 -0
- package/dist/http/transport/request-builder.js.map +1 -0
- package/dist/http/transport/request.d.ts +53 -0
- package/dist/http/transport/request.d.ts.map +1 -0
- package/dist/http/transport/request.js +116 -0
- package/dist/http/transport/request.js.map +1 -0
- package/dist/http/types.d.ts +60 -0
- package/dist/http/types.d.ts.map +1 -0
- package/dist/http/types.js +16 -0
- package/dist/http/types.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/services/base-service.d.ts +14 -0
- package/dist/services/base-service.d.ts.map +1 -0
- package/dist/services/base-service.js +27 -0
- package/dist/services/base-service.js.map +1 -0
- package/dist/services/destinations/destinations.d.ts +12 -0
- package/dist/services/destinations/destinations.d.ts.map +1 -0
- package/dist/services/destinations/destinations.js +43 -0
- package/dist/services/destinations/destinations.js.map +1 -0
- package/dist/services/destinations/index.d.ts +2 -0
- package/dist/services/destinations/index.d.ts.map +1 -0
- package/dist/services/destinations/index.js +18 -0
- package/dist/services/destinations/index.js.map +1 -0
- package/dist/services/destinations/models/destinations.d.ts +76 -0
- package/dist/services/destinations/models/destinations.d.ts.map +1 -0
- package/dist/services/destinations/models/destinations.js +49 -0
- package/dist/services/destinations/models/destinations.js.map +1 -0
- package/dist/services/destinations/models/index.d.ts +3 -0
- package/dist/services/destinations/models/index.d.ts.map +1 -0
- package/dist/services/destinations/models/index.js +19 -0
- package/dist/services/destinations/models/index.js.map +1 -0
- package/dist/services/destinations/models/list-destinations-ok-response.d.ts +140 -0
- package/dist/services/destinations/models/list-destinations-ok-response.d.ts.map +1 -0
- package/dist/services/destinations/models/list-destinations-ok-response.js +36 -0
- package/dist/services/destinations/models/list-destinations-ok-response.js.map +1 -0
- package/dist/services/e-sim/e-sim.d.ts +35 -0
- package/dist/services/e-sim/e-sim.d.ts.map +1 -0
- package/dist/services/e-sim/e-sim.js +120 -0
- package/dist/services/e-sim/e-sim.js.map +1 -0
- package/dist/services/e-sim/index.d.ts +2 -0
- package/dist/services/e-sim/index.d.ts.map +1 -0
- package/dist/services/e-sim/index.js +18 -0
- package/dist/services/e-sim/index.js.map +1 -0
- package/dist/services/e-sim/models/device.d.ts +90 -0
- package/dist/services/e-sim/models/device.d.ts.map +1 -0
- package/dist/services/e-sim/models/device.js +54 -0
- package/dist/services/e-sim/models/device.js.map +1 -0
- package/dist/services/e-sim/models/get-esim-device-ok-response.d.ts +163 -0
- package/dist/services/e-sim/models/get-esim-device-ok-response.d.ts.map +1 -0
- package/dist/services/e-sim/models/get-esim-device-ok-response.js +36 -0
- package/dist/services/e-sim/models/get-esim-device-ok-response.js.map +1 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response-esim.d.ts +154 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response-esim.d.ts.map +1 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response-esim.js +40 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response-esim.js.map +1 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response.d.ts +249 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response.d.ts.map +1 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response.js +36 -0
- package/dist/services/e-sim/models/get-esim-history-ok-response.js.map +1 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response-esim.d.ts +76 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response-esim.d.ts.map +1 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response-esim.js +49 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response-esim.js.map +1 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response.d.ts +140 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response.d.ts.map +1 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response.js +36 -0
- package/dist/services/e-sim/models/get-esim-mac-ok-response.js.map +1 -0
- package/dist/services/e-sim/models/get-esim-ok-response-esim.d.ts +90 -0
- package/dist/services/e-sim/models/get-esim-ok-response-esim.d.ts.map +1 -0
- package/dist/services/e-sim/models/get-esim-ok-response-esim.js +54 -0
- package/dist/services/e-sim/models/get-esim-ok-response-esim.js.map +1 -0
- package/dist/services/e-sim/models/get-esim-ok-response.d.ts +163 -0
- package/dist/services/e-sim/models/get-esim-ok-response.d.ts.map +1 -0
- package/dist/services/e-sim/models/get-esim-ok-response.js +36 -0
- package/dist/services/e-sim/models/get-esim-ok-response.js.map +1 -0
- package/dist/services/e-sim/models/history.d.ts +76 -0
- package/dist/services/e-sim/models/history.d.ts.map +1 -0
- package/dist/services/e-sim/models/history.js +45 -0
- package/dist/services/e-sim/models/history.js.map +1 -0
- package/dist/services/e-sim/models/index.d.ts +10 -0
- package/dist/services/e-sim/models/index.d.ts.map +1 -0
- package/dist/services/e-sim/models/index.js +26 -0
- package/dist/services/e-sim/models/index.js.map +1 -0
- package/dist/services/e-sim/request-params.d.ts +4 -0
- package/dist/services/e-sim/request-params.d.ts.map +1 -0
- package/dist/services/e-sim/request-params.js +3 -0
- package/dist/services/e-sim/request-params.js.map +1 -0
- package/dist/services/packages/index.d.ts +2 -0
- package/dist/services/packages/index.d.ts.map +1 -0
- package/dist/services/packages/index.js +18 -0
- package/dist/services/packages/index.js.map +1 -0
- package/dist/services/packages/models/index.d.ts +3 -0
- package/dist/services/packages/models/index.d.ts.map +1 -0
- package/dist/services/packages/models/index.js +19 -0
- package/dist/services/packages/models/index.js.map +1 -0
- package/dist/services/packages/models/list-packages-ok-response.d.ts +223 -0
- package/dist/services/packages/models/list-packages-ok-response.d.ts.map +1 -0
- package/dist/services/packages/models/list-packages-ok-response.js +42 -0
- package/dist/services/packages/models/list-packages-ok-response.js.map +1 -0
- package/dist/services/packages/models/packages.d.ts +118 -0
- package/dist/services/packages/models/packages.d.ts.map +1 -0
- package/dist/services/packages/models/packages.js +64 -0
- package/dist/services/packages/models/packages.js.map +1 -0
- package/dist/services/packages/packages.d.ts +21 -0
- package/dist/services/packages/packages.d.ts.map +1 -0
- package/dist/services/packages/packages.js +59 -0
- package/dist/services/packages/packages.js.map +1 -0
- package/dist/services/packages/request-params.d.ts +11 -0
- package/dist/services/packages/request-params.d.ts.map +1 -0
- package/dist/services/packages/request-params.js +3 -0
- package/dist/services/packages/request-params.js.map +1 -0
- package/dist/services/purchases/index.d.ts +2 -0
- package/dist/services/purchases/index.d.ts.map +1 -0
- package/dist/services/purchases/index.js +18 -0
- package/dist/services/purchases/index.js.map +1 -0
- package/dist/services/purchases/models/create-purchase-ok-response-profile.d.ts +62 -0
- package/dist/services/purchases/models/create-purchase-ok-response-profile.d.ts.map +1 -0
- package/dist/services/purchases/models/create-purchase-ok-response-profile.js +39 -0
- package/dist/services/purchases/models/create-purchase-ok-response-profile.js.map +1 -0
- package/dist/services/purchases/models/create-purchase-ok-response-purchase.d.ts +132 -0
- package/dist/services/purchases/models/create-purchase-ok-response-purchase.d.ts.map +1 -0
- package/dist/services/purchases/models/create-purchase-ok-response-purchase.js +69 -0
- package/dist/services/purchases/models/create-purchase-ok-response-purchase.js.map +1 -0
- package/dist/services/purchases/models/create-purchase-ok-response.d.ts +315 -0
- package/dist/services/purchases/models/create-purchase-ok-response.d.ts.map +1 -0
- package/dist/services/purchases/models/create-purchase-ok-response.js +46 -0
- package/dist/services/purchases/models/create-purchase-ok-response.js.map +1 -0
- package/dist/services/purchases/models/create-purchase-request.d.ts +160 -0
- package/dist/services/purchases/models/create-purchase-request.d.ts.map +1 -0
- package/dist/services/purchases/models/create-purchase-request.js +79 -0
- package/dist/services/purchases/models/create-purchase-request.js.map +1 -0
- package/dist/services/purchases/models/edit-purchase-ok-response.d.ts +104 -0
- package/dist/services/purchases/models/edit-purchase-ok-response.d.ts.map +1 -0
- package/dist/services/purchases/models/edit-purchase-ok-response.js +59 -0
- package/dist/services/purchases/models/edit-purchase-ok-response.js.map +1 -0
- package/dist/services/purchases/models/edit-purchase-request.d.ts +104 -0
- package/dist/services/purchases/models/edit-purchase-request.d.ts.map +1 -0
- package/dist/services/purchases/models/edit-purchase-request.js +59 -0
- package/dist/services/purchases/models/edit-purchase-request.js.map +1 -0
- package/dist/services/purchases/models/get-purchase-consumption-ok-response.d.ts +62 -0
- package/dist/services/purchases/models/get-purchase-consumption-ok-response.d.ts.map +1 -0
- package/dist/services/purchases/models/get-purchase-consumption-ok-response.js +41 -0
- package/dist/services/purchases/models/get-purchase-consumption-ok-response.js.map +1 -0
- package/dist/services/purchases/models/index.d.ts +16 -0
- package/dist/services/purchases/models/index.d.ts.map +1 -0
- package/dist/services/purchases/models/index.js +32 -0
- package/dist/services/purchases/models/index.js.map +1 -0
- package/dist/services/purchases/models/list-purchases-ok-response.d.ts +622 -0
- package/dist/services/purchases/models/list-purchases-ok-response.d.ts.map +1 -0
- package/dist/services/purchases/models/list-purchases-ok-response.js +42 -0
- package/dist/services/purchases/models/list-purchases-ok-response.js.map +1 -0
- package/dist/services/purchases/models/package_.d.ts +104 -0
- package/dist/services/purchases/models/package_.d.ts.map +1 -0
- package/dist/services/purchases/models/package_.js +59 -0
- package/dist/services/purchases/models/package_.js.map +1 -0
- package/dist/services/purchases/models/purchases-esim.d.ts +48 -0
- package/dist/services/purchases/models/purchases-esim.d.ts.map +1 -0
- package/dist/services/purchases/models/purchases-esim.js +35 -0
- package/dist/services/purchases/models/purchases-esim.js.map +1 -0
- package/dist/services/purchases/models/purchases.d.ts +372 -0
- package/dist/services/purchases/models/purchases.d.ts.map +1 -0
- package/dist/services/purchases/models/purchases.js +91 -0
- package/dist/services/purchases/models/purchases.js.map +1 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-profile.d.ts +48 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-profile.d.ts.map +1 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-profile.js +35 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-profile.js.map +1 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-purchase.d.ts +132 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-purchase.d.ts.map +1 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-purchase.js +69 -0
- package/dist/services/purchases/models/top-up-esim-ok-response-purchase.js.map +1 -0
- package/dist/services/purchases/models/top-up-esim-ok-response.d.ts +292 -0
- package/dist/services/purchases/models/top-up-esim-ok-response.d.ts.map +1 -0
- package/dist/services/purchases/models/top-up-esim-ok-response.js +46 -0
- package/dist/services/purchases/models/top-up-esim-ok-response.js.map +1 -0
- package/dist/services/purchases/models/top-up-esim-request.d.ts +146 -0
- package/dist/services/purchases/models/top-up-esim-request.d.ts.map +1 -0
- package/dist/services/purchases/models/top-up-esim-request.js +74 -0
- package/dist/services/purchases/models/top-up-esim-request.js.map +1 -0
- package/dist/services/purchases/purchases.d.ts +49 -0
- package/dist/services/purchases/purchases.d.ts.map +1 -0
- package/dist/services/purchases/purchases.js +162 -0
- package/dist/services/purchases/purchases.js.map +1 -0
- package/dist/services/purchases/request-params.d.ts +11 -0
- package/dist/services/purchases/request-params.d.ts.map +1 -0
- package/dist/services/purchases/request-params.js +3 -0
- package/dist/services/purchases/request-params.js.map +1 -0
- package/examples/package.json +1 -1
- package/package.json +1 -1
- package/src/http/handlers/hook-handler.ts +6 -4
- package/src/http/handlers/response-validation-handler.ts +1 -1
- package/src/http/handlers/retry-handler.ts +8 -5
- package/src/http/hooks/hook.ts +3 -2
- package/src/http/serializer.ts +7 -4
- package/src/http/transport/request-builder.ts +145 -0
- package/src/http/transport/request.ts +45 -36
- package/src/services/destinations/destinations.ts +14 -11
- package/src/services/destinations/models/destinations.ts +3 -3
- package/src/services/destinations/models/list-destinations-ok-response.ts +3 -3
- package/src/services/e-sim/e-sim.ts +57 -45
- package/src/services/e-sim/models/device.ts +3 -3
- package/src/services/e-sim/models/get-esim-device-ok-response.ts +3 -3
- package/src/services/e-sim/models/get-esim-history-ok-response-esim.ts +3 -3
- package/src/services/e-sim/models/get-esim-history-ok-response.ts +3 -3
- package/src/services/e-sim/models/get-esim-mac-ok-response-esim.ts +3 -3
- package/src/services/e-sim/models/get-esim-mac-ok-response.ts +3 -3
- package/src/services/e-sim/models/get-esim-ok-response-esim.ts +3 -3
- package/src/services/e-sim/models/get-esim-ok-response.ts +3 -3
- package/src/services/e-sim/models/history.ts +3 -3
- package/src/services/packages/models/list-packages-ok-response.ts +3 -3
- package/src/services/packages/models/packages.ts +3 -3
- package/src/services/packages/packages.ts +22 -19
- package/src/services/purchases/models/create-purchase-ok-response-profile.ts +3 -3
- package/src/services/purchases/models/create-purchase-ok-response-purchase.ts +3 -3
- package/src/services/purchases/models/create-purchase-ok-response.ts +3 -3
- package/src/services/purchases/models/create-purchase-request.ts +3 -3
- package/src/services/purchases/models/edit-purchase-ok-response.ts +3 -3
- package/src/services/purchases/models/edit-purchase-request.ts +3 -3
- package/src/services/purchases/models/get-purchase-consumption-ok-response.ts +3 -3
- package/src/services/purchases/models/list-purchases-ok-response.ts +3 -3
- package/src/services/purchases/models/package_.ts +3 -3
- package/src/services/purchases/models/purchases-esim.ts +3 -3
- package/src/services/purchases/models/purchases.ts +3 -3
- package/src/services/purchases/models/top-up-esim-ok-response-profile.ts +3 -3
- package/src/services/purchases/models/top-up-esim-ok-response-purchase.ts +3 -3
- package/src/services/purchases/models/top-up-esim-ok-response.ts +3 -3
- package/src/services/purchases/models/top-up-esim-request.ts +3 -3
- package/src/services/purchases/purchases.ts +81 -66
- package/.github/PROTECTED_BRANCHES.txt +0 -1
|
@@ -0,0 +1,162 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PurchasesService = void 0;
|
|
13
|
+
const zod_1 = require("zod");
|
|
14
|
+
const base_service_1 = require("../base-service");
|
|
15
|
+
const http_1 = require("../../http");
|
|
16
|
+
const request_builder_1 = require("../../http/transport/request-builder");
|
|
17
|
+
const list_purchases_ok_response_1 = require("./models/list-purchases-ok-response");
|
|
18
|
+
const create_purchase_request_1 = require("./models/create-purchase-request");
|
|
19
|
+
const create_purchase_ok_response_1 = require("./models/create-purchase-ok-response");
|
|
20
|
+
const top_up_esim_request_1 = require("./models/top-up-esim-request");
|
|
21
|
+
const top_up_esim_ok_response_1 = require("./models/top-up-esim-ok-response");
|
|
22
|
+
const edit_purchase_request_1 = require("./models/edit-purchase-request");
|
|
23
|
+
const edit_purchase_ok_response_1 = require("./models/edit-purchase-ok-response");
|
|
24
|
+
const get_purchase_consumption_ok_response_1 = require("./models/get-purchase-consumption-ok-response");
|
|
25
|
+
class PurchasesService extends base_service_1.BaseService {
|
|
26
|
+
/**
|
|
27
|
+
* This endpoint can be used to list all the successful purchases made between a given interval.
|
|
28
|
+
* @param {string} [iccid] - ID of the eSIM
|
|
29
|
+
* @param {string} [afterDate] - Start date of the interval for filtering purchases in the format 'yyyy-MM-dd'
|
|
30
|
+
* @param {string} [beforeDate] - End date of the interval for filtering purchases in the format 'yyyy-MM-dd'
|
|
31
|
+
* @param {string} [referenceId] - The referenceId that was provided by the partner during the purchase or topup flow.
|
|
32
|
+
* @param {string} [afterCursor] - To get the next batch of results, use this parameter. It tells the API where to start fetching data after the last item you received. It helps you avoid repeats and efficiently browse through large sets of data.
|
|
33
|
+
* @param {number} [limit] - Maximum number of purchases to be returned in the response. The value must be greater than 0 and less than or equal to 100. If not provided, the default value is 20
|
|
34
|
+
* @param {number} [after] - Epoch value representing the start of the time interval for filtering purchases
|
|
35
|
+
* @param {number} [before] - Epoch value representing the end of the time interval for filtering purchases
|
|
36
|
+
* @returns {Promise<HttpResponse<ListPurchasesOkResponse>>} Successful Response
|
|
37
|
+
*/
|
|
38
|
+
listPurchases(params, requestConfig) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const request = new request_builder_1.RequestBuilder()
|
|
41
|
+
.setConfig(this.config)
|
|
42
|
+
.setBaseUrl(this.config)
|
|
43
|
+
.setMethod('GET')
|
|
44
|
+
.setPath('/purchases')
|
|
45
|
+
.setRequestSchema(zod_1.z.any())
|
|
46
|
+
.setResponseSchema(list_purchases_ok_response_1.listPurchasesOkResponseResponse)
|
|
47
|
+
.setRequestContentType(http_1.ContentType.Json)
|
|
48
|
+
.setResponseContentType(http_1.ContentType.Json)
|
|
49
|
+
.setRetryAttempts(this.config, requestConfig)
|
|
50
|
+
.setRetryDelayMs(this.config, requestConfig)
|
|
51
|
+
.setResponseValidation(this.config, requestConfig)
|
|
52
|
+
.addQueryParam('iccid', params === null || params === void 0 ? void 0 : params.iccid)
|
|
53
|
+
.addQueryParam('afterDate', params === null || params === void 0 ? void 0 : params.afterDate)
|
|
54
|
+
.addQueryParam('beforeDate', params === null || params === void 0 ? void 0 : params.beforeDate)
|
|
55
|
+
.addQueryParam('referenceId', params === null || params === void 0 ? void 0 : params.referenceId)
|
|
56
|
+
.addQueryParam('afterCursor', params === null || params === void 0 ? void 0 : params.afterCursor)
|
|
57
|
+
.addQueryParam('limit', params === null || params === void 0 ? void 0 : params.limit)
|
|
58
|
+
.addQueryParam('after', params === null || params === void 0 ? void 0 : params.after)
|
|
59
|
+
.addQueryParam('before', params === null || params === void 0 ? void 0 : params.before)
|
|
60
|
+
.build();
|
|
61
|
+
return this.client.call(request);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* This endpoint is used to purchase a new eSIM by providing the package details.
|
|
66
|
+
* @returns {Promise<HttpResponse<CreatePurchaseOkResponse>>} Successful Response
|
|
67
|
+
*/
|
|
68
|
+
createPurchase(body, requestConfig) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const request = new request_builder_1.RequestBuilder()
|
|
71
|
+
.setConfig(this.config)
|
|
72
|
+
.setBaseUrl(this.config)
|
|
73
|
+
.setMethod('POST')
|
|
74
|
+
.setPath('/purchases')
|
|
75
|
+
.setRequestSchema(create_purchase_request_1.createPurchaseRequestRequest)
|
|
76
|
+
.setResponseSchema(create_purchase_ok_response_1.createPurchaseOkResponseResponse)
|
|
77
|
+
.setRequestContentType(http_1.ContentType.Json)
|
|
78
|
+
.setResponseContentType(http_1.ContentType.Json)
|
|
79
|
+
.setRetryAttempts(this.config, requestConfig)
|
|
80
|
+
.setRetryDelayMs(this.config, requestConfig)
|
|
81
|
+
.setResponseValidation(this.config, requestConfig)
|
|
82
|
+
.addHeaderParam('Content-Type', 'application/json')
|
|
83
|
+
.addBody(body)
|
|
84
|
+
.build();
|
|
85
|
+
return this.client.call(request);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* This endpoint is used to top-up an eSIM with the previously associated destination by providing an existing ICCID and the package details. The top-up is not feasible for eSIMs in "DELETED" or "ERROR" state.
|
|
90
|
+
* @returns {Promise<HttpResponse<TopUpEsimOkResponse>>} Successful Response
|
|
91
|
+
*/
|
|
92
|
+
topUpEsim(body, requestConfig) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const request = new request_builder_1.RequestBuilder()
|
|
95
|
+
.setConfig(this.config)
|
|
96
|
+
.setBaseUrl(this.config)
|
|
97
|
+
.setMethod('POST')
|
|
98
|
+
.setPath('/purchases/topup')
|
|
99
|
+
.setRequestSchema(top_up_esim_request_1.topUpEsimRequestRequest)
|
|
100
|
+
.setResponseSchema(top_up_esim_ok_response_1.topUpEsimOkResponseResponse)
|
|
101
|
+
.setRequestContentType(http_1.ContentType.Json)
|
|
102
|
+
.setResponseContentType(http_1.ContentType.Json)
|
|
103
|
+
.setRetryAttempts(this.config, requestConfig)
|
|
104
|
+
.setRetryDelayMs(this.config, requestConfig)
|
|
105
|
+
.setResponseValidation(this.config, requestConfig)
|
|
106
|
+
.addHeaderParam('Content-Type', 'application/json')
|
|
107
|
+
.addBody(body)
|
|
108
|
+
.build();
|
|
109
|
+
return this.client.call(request);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* This endpoint allows you to modify the dates of an existing package with a future activation start time. Editing can only be performed for packages that have not been activated, and it cannot change the package size. The modification must not change the package duration category to ensure pricing consistency.
|
|
114
|
+
* @returns {Promise<HttpResponse<EditPurchaseOkResponse>>} Successful Response
|
|
115
|
+
*/
|
|
116
|
+
editPurchase(body, requestConfig) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
const request = new request_builder_1.RequestBuilder()
|
|
119
|
+
.setConfig(this.config)
|
|
120
|
+
.setBaseUrl(this.config)
|
|
121
|
+
.setMethod('POST')
|
|
122
|
+
.setPath('/purchases/edit')
|
|
123
|
+
.setRequestSchema(edit_purchase_request_1.editPurchaseRequestRequest)
|
|
124
|
+
.setResponseSchema(edit_purchase_ok_response_1.editPurchaseOkResponseResponse)
|
|
125
|
+
.setRequestContentType(http_1.ContentType.Json)
|
|
126
|
+
.setResponseContentType(http_1.ContentType.Json)
|
|
127
|
+
.setRetryAttempts(this.config, requestConfig)
|
|
128
|
+
.setRetryDelayMs(this.config, requestConfig)
|
|
129
|
+
.setResponseValidation(this.config, requestConfig)
|
|
130
|
+
.addHeaderParam('Content-Type', 'application/json')
|
|
131
|
+
.addBody(body)
|
|
132
|
+
.build();
|
|
133
|
+
return this.client.call(request);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* This endpoint can be called for consumption notifications (e.g. every 1 hour or when the user clicks a button). It returns the data balance (consumption) of purchased packages.
|
|
138
|
+
* @param {string} purchaseId - ID of the purchase
|
|
139
|
+
* @returns {Promise<HttpResponse<GetPurchaseConsumptionOkResponse>>} Successful Response
|
|
140
|
+
*/
|
|
141
|
+
getPurchaseConsumption(purchaseId, requestConfig) {
|
|
142
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
const request = new request_builder_1.RequestBuilder()
|
|
144
|
+
.setConfig(this.config)
|
|
145
|
+
.setBaseUrl(this.config)
|
|
146
|
+
.setMethod('GET')
|
|
147
|
+
.setPath('/purchases/{purchaseId}/consumption')
|
|
148
|
+
.setRequestSchema(zod_1.z.any())
|
|
149
|
+
.setResponseSchema(get_purchase_consumption_ok_response_1.getPurchaseConsumptionOkResponseResponse)
|
|
150
|
+
.setRequestContentType(http_1.ContentType.Json)
|
|
151
|
+
.setResponseContentType(http_1.ContentType.Json)
|
|
152
|
+
.setRetryAttempts(this.config, requestConfig)
|
|
153
|
+
.setRetryDelayMs(this.config, requestConfig)
|
|
154
|
+
.setResponseValidation(this.config, requestConfig)
|
|
155
|
+
.addPathParam('purchaseId', purchaseId)
|
|
156
|
+
.build();
|
|
157
|
+
return this.client.call(request);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.PurchasesService = PurchasesService;
|
|
162
|
+
//# sourceMappingURL=purchases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"purchases.js","sourceRoot":"","sources":["../../../src/services/purchases/purchases.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-params.d.ts","sourceRoot":"","sources":["../../../src/services/purchases/request-params.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-params.js","sourceRoot":"","sources":["../../../src/services/purchases/request-params.ts"],"names":[],"mappings":""}
|
package/examples/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "celitech-sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.73",
|
|
4
4
|
"description": "Welcome to the CELITECH API documentation! Useful links: [Homepage](https://www.celitech.com) | [Support email](mailto:support@celitech.com) | [Blog](https://www.celitech.com/blog/) ",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,18 +20,20 @@ export class HookHandler implements RequestHandler {
|
|
|
20
20
|
const response = await this.next.handle(nextRequest);
|
|
21
21
|
|
|
22
22
|
if (response.metadata.status < 400) {
|
|
23
|
-
return await this.hook.afterResponse(request, response, hookParams);
|
|
23
|
+
return await this.hook.afterResponse(request.toHookRequest(), response, hookParams);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
const error = await this.hook.onError(request, response, hookParams);
|
|
26
|
+
const error = await this.hook.onError(request.toHookRequest(), response, hookParams);
|
|
27
27
|
|
|
28
28
|
throw new HttpError(error.metadata, error.error);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
private async beforeRequest<T>(request: Request<T>, hookParams: Map<string, string>): Promise<Request<T>> {
|
|
32
|
-
const hookRequest =
|
|
32
|
+
const hookRequest = request.toHookRequest();
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
const newRequest = await this.hook.beforeRequest(hookRequest, hookParams);
|
|
35
|
+
|
|
36
|
+
request.updateFromHookRequest(newRequest);
|
|
35
37
|
|
|
36
38
|
return request;
|
|
37
39
|
}
|
|
@@ -57,7 +57,7 @@ export class ResponseValidationHandler implements RequestHandler {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
private validate<T>(request: Request<T>, data: any): T {
|
|
60
|
-
if (request.
|
|
60
|
+
if (request.validation?.responseValidation) {
|
|
61
61
|
return request.responseSchema.parse(data);
|
|
62
62
|
}
|
|
63
63
|
return data;
|
|
@@ -10,15 +10,14 @@ export class RetryHandler implements RequestHandler {
|
|
|
10
10
|
throw new Error('No next handler set in retry handler.');
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
for (let attempt = 1; attempt <= retry.attempts; attempt++) {
|
|
13
|
+
for (let attempt = 1; attempt <= request.retry.attempts; attempt++) {
|
|
15
14
|
try {
|
|
16
15
|
return await this.next.handle(request);
|
|
17
16
|
} catch (error: any) {
|
|
18
|
-
if (!this.shouldRetry(error) || attempt === retry.attempts) {
|
|
17
|
+
if (!this.shouldRetry(error) || attempt === request.retry.attempts) {
|
|
19
18
|
throw error;
|
|
20
19
|
}
|
|
21
|
-
await this.delay(retry.delayMs);
|
|
20
|
+
await this.delay(request.retry.delayMs);
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
|
|
@@ -29,7 +28,11 @@ export class RetryHandler implements RequestHandler {
|
|
|
29
28
|
return error instanceof HttpError && (error.metadata.status >= 500 || error.metadata.status === 408);
|
|
30
29
|
}
|
|
31
30
|
|
|
32
|
-
private delay(delayMs: number): Promise<void> {
|
|
31
|
+
private delay(delayMs: number | undefined): Promise<void> {
|
|
32
|
+
if (!delayMs) {
|
|
33
|
+
return Promise.resolve();
|
|
34
|
+
}
|
|
35
|
+
|
|
33
36
|
return new Promise((resolve, reject) => {
|
|
34
37
|
setTimeout(() => resolve(), delayMs);
|
|
35
38
|
});
|
package/src/http/hooks/hook.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
2
2
|
|
|
3
3
|
export interface HttpRequest {
|
|
4
|
+
baseUrl: string;
|
|
4
5
|
method: HttpMethod;
|
|
5
6
|
path: string;
|
|
6
|
-
headers
|
|
7
|
+
headers: Map<string, unknown>;
|
|
7
8
|
body?: BodyInit;
|
|
8
9
|
abortSignal?: AbortSignal;
|
|
9
|
-
queryParams
|
|
10
|
+
queryParams: Map<string, unknown>;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
interface HttpMetadata {
|
package/src/http/serializer.ts
CHANGED
|
@@ -25,7 +25,7 @@ export function serializeQuery(
|
|
|
25
25
|
_style = SerializationStyle.FORM,
|
|
26
26
|
explode = true,
|
|
27
27
|
): string {
|
|
28
|
-
if (!queryParams || !Object.entries(queryParams)) {
|
|
28
|
+
if (!queryParams || !Object.entries(queryParams).length) {
|
|
29
29
|
return '';
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -58,9 +58,12 @@ export function serializeQuery(
|
|
|
58
58
|
return `?${query}`;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
export function serializeHeader(
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
export function serializeHeader(
|
|
62
|
+
headers?: Record<string, unknown>,
|
|
63
|
+
explode = false,
|
|
64
|
+
): Record<string, string> | undefined {
|
|
65
|
+
if (!headers || !Object.entries(headers).length) {
|
|
66
|
+
return undefined;
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
return Object.entries(headers).reduce((acc, [key, value]) => {
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import z, { ZodType } from 'zod';
|
|
2
|
+
import { Request, CreateRequestParameters } from './request';
|
|
3
|
+
import { ContentType, HttpMethod, SdkConfig, RequestConfig, RetryOptions, ValidationOptions } from '../types';
|
|
4
|
+
import { Environment } from '../environment';
|
|
5
|
+
|
|
6
|
+
export class RequestBuilder<T> {
|
|
7
|
+
private params: CreateRequestParameters<T>;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.params = {
|
|
11
|
+
baseUrl: Environment.DEFAULT,
|
|
12
|
+
method: 'GET',
|
|
13
|
+
path: '',
|
|
14
|
+
config: {},
|
|
15
|
+
responseSchema: z.any(),
|
|
16
|
+
requestSchema: z.any(),
|
|
17
|
+
requestContentType: ContentType.Json,
|
|
18
|
+
responseContentType: ContentType.Json,
|
|
19
|
+
retry: {
|
|
20
|
+
attempts: 3,
|
|
21
|
+
delayMs: 150,
|
|
22
|
+
},
|
|
23
|
+
validation: {
|
|
24
|
+
responseValidation: true,
|
|
25
|
+
},
|
|
26
|
+
pathParams: new Map(),
|
|
27
|
+
queryParams: new Map(),
|
|
28
|
+
headers: new Map(),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
setRetryAttempts(sdkConfig?: SdkConfig, requestConfig?: RequestConfig): RequestBuilder<T> {
|
|
33
|
+
if (requestConfig?.retry?.attempts !== undefined) {
|
|
34
|
+
this.params.retry.attempts = requestConfig.retry.attempts;
|
|
35
|
+
} else if (sdkConfig?.retry?.attempts !== undefined) {
|
|
36
|
+
this.params.retry.attempts = sdkConfig.retry.attempts;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
setRetryDelayMs(sdkConfig?: SdkConfig, requestConfig?: RequestConfig): RequestBuilder<T> {
|
|
43
|
+
if (requestConfig?.retry?.delayMs !== undefined) {
|
|
44
|
+
this.params.retry.delayMs = requestConfig.retry.delayMs;
|
|
45
|
+
} else if (sdkConfig?.retry?.delayMs !== undefined) {
|
|
46
|
+
this.params.retry.delayMs = sdkConfig.retry.delayMs;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
setResponseValidation(sdkConfig: SdkConfig, requestConfig?: RequestConfig): RequestBuilder<T> {
|
|
53
|
+
if (requestConfig?.validation?.responseValidation !== undefined) {
|
|
54
|
+
this.params.validation.responseValidation = requestConfig.validation.responseValidation;
|
|
55
|
+
} else if (sdkConfig?.validation?.responseValidation !== undefined) {
|
|
56
|
+
this.params.validation.responseValidation = sdkConfig.validation.responseValidation;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
setBaseUrl(sdkConfig: SdkConfig): RequestBuilder<T> {
|
|
63
|
+
if (sdkConfig?.baseUrl !== undefined) {
|
|
64
|
+
this.params.baseUrl = sdkConfig.baseUrl;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
setMethod(method: HttpMethod): RequestBuilder<T> {
|
|
71
|
+
this.params.method = method;
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
setPath(path: string): RequestBuilder<T> {
|
|
76
|
+
this.params.path = path;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
setConfig(config: SdkConfig): RequestBuilder<T> {
|
|
81
|
+
this.params.config = config;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
setRequestContentType(contentType: ContentType): RequestBuilder<T> {
|
|
86
|
+
this.params.requestContentType = contentType;
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
setResponseContentType(contentType: ContentType): RequestBuilder<T> {
|
|
91
|
+
this.params.responseContentType = contentType;
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
setRequestSchema(requestSchema: ZodType): RequestBuilder<T> {
|
|
96
|
+
this.params.requestSchema = requestSchema;
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
setResponseSchema(responseSchema: ZodType): RequestBuilder<T> {
|
|
101
|
+
this.params.responseSchema = responseSchema;
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
addBody(body?: any): RequestBuilder<T> {
|
|
106
|
+
if (body !== undefined) {
|
|
107
|
+
this.params.body = body;
|
|
108
|
+
}
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
addPathParam(key: string, value: unknown): RequestBuilder<T> {
|
|
113
|
+
if (value === undefined) {
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
this.params.pathParams.set(key, value);
|
|
118
|
+
|
|
119
|
+
return this;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
addQueryParam(key: string, value: unknown): RequestBuilder<T> {
|
|
123
|
+
if (value === undefined) {
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
this.params.queryParams.set(key, value);
|
|
128
|
+
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
addHeaderParam(key: string, value: unknown): RequestBuilder<T> {
|
|
133
|
+
if (value === undefined) {
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
this.params.headers.set(key, value);
|
|
138
|
+
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
public build(): Request<T> {
|
|
143
|
+
return new Request<T>(this.params);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
import { ZodType } from 'zod';
|
|
2
|
-
import { ContentType, HttpMethod, SdkConfig, RetryOptions, RequestConfig } from '../types';
|
|
2
|
+
import { ContentType, HttpMethod, SdkConfig, RetryOptions, RequestConfig, ValidationOptions } from '../types';
|
|
3
3
|
import { serializeHeader, serializePath, serializeQuery } from '../serializer';
|
|
4
4
|
import { HttpRequest } from '../hooks/hook';
|
|
5
5
|
|
|
6
|
-
interface CreateRequestParameters<T> {
|
|
6
|
+
export interface CreateRequestParameters<T> {
|
|
7
|
+
baseUrl: string;
|
|
7
8
|
method: HttpMethod;
|
|
8
9
|
body?: any;
|
|
10
|
+
headers: Map<string, unknown>;
|
|
11
|
+
queryParams: Map<string, unknown>;
|
|
12
|
+
pathParams: Map<string, unknown>;
|
|
9
13
|
path: string;
|
|
10
14
|
config: SdkConfig;
|
|
11
15
|
responseSchema: ZodType<T, any, any>;
|
|
12
16
|
requestSchema: ZodType;
|
|
13
17
|
requestContentType: ContentType;
|
|
14
18
|
responseContentType: ContentType;
|
|
15
|
-
|
|
19
|
+
validation: ValidationOptions;
|
|
20
|
+
retry: RetryOptions;
|
|
16
21
|
}
|
|
17
22
|
|
|
18
23
|
export class Request<T> {
|
|
24
|
+
public baseUrl: string = '';
|
|
25
|
+
|
|
19
26
|
public headers: Map<string, unknown> = new Map();
|
|
20
27
|
|
|
21
28
|
public queryParams: Map<string, unknown> = new Map();
|
|
@@ -40,23 +47,33 @@ export class Request<T> {
|
|
|
40
47
|
|
|
41
48
|
private readonly pathPattern: string;
|
|
42
49
|
|
|
50
|
+
public validation: ValidationOptions = {} as any;
|
|
51
|
+
|
|
52
|
+
public retry: RetryOptions = {} as any;
|
|
53
|
+
|
|
43
54
|
constructor(params: CreateRequestParameters<T>) {
|
|
55
|
+
this.baseUrl = params.baseUrl;
|
|
44
56
|
this.method = params.method;
|
|
45
57
|
this.pathPattern = params.path;
|
|
46
58
|
this.body = params.body;
|
|
47
59
|
this.path = this.constructPath();
|
|
48
60
|
this.config = params.config;
|
|
61
|
+
this.pathParams = params.pathParams;
|
|
62
|
+
this.headers = params.headers;
|
|
63
|
+
this.queryParams = params.queryParams;
|
|
49
64
|
this.responseSchema = params.responseSchema;
|
|
50
65
|
this.requestSchema = params.requestSchema;
|
|
51
66
|
this.requestContentType = params.requestContentType;
|
|
52
67
|
this.responseContentType = params.responseContentType;
|
|
53
|
-
this.
|
|
68
|
+
this.retry = params.retry;
|
|
69
|
+
this.validation = params.validation;
|
|
54
70
|
}
|
|
55
71
|
|
|
56
72
|
addHeaderParam(key: string, value: unknown): void {
|
|
57
73
|
if (value === undefined) {
|
|
58
74
|
return;
|
|
59
75
|
}
|
|
76
|
+
|
|
60
77
|
this.headers.set(key, value);
|
|
61
78
|
}
|
|
62
79
|
|
|
@@ -64,6 +81,7 @@ export class Request<T> {
|
|
|
64
81
|
if (value === undefined) {
|
|
65
82
|
return;
|
|
66
83
|
}
|
|
84
|
+
|
|
67
85
|
this.queryParams.set(key, value);
|
|
68
86
|
}
|
|
69
87
|
|
|
@@ -71,6 +89,7 @@ export class Request<T> {
|
|
|
71
89
|
if (value === undefined) {
|
|
72
90
|
return;
|
|
73
91
|
}
|
|
92
|
+
|
|
74
93
|
this.pathParams.set(key, value);
|
|
75
94
|
}
|
|
76
95
|
|
|
@@ -78,14 +97,8 @@ export class Request<T> {
|
|
|
78
97
|
if (body === undefined) {
|
|
79
98
|
return;
|
|
80
99
|
}
|
|
81
|
-
this.body = body;
|
|
82
|
-
}
|
|
83
100
|
|
|
84
|
-
|
|
85
|
-
return {
|
|
86
|
-
attempts: this.config.retry?.attempts ?? 3,
|
|
87
|
-
delayMs: this.config.retry?.delayMs ?? 150,
|
|
88
|
-
};
|
|
101
|
+
this.body = body;
|
|
89
102
|
}
|
|
90
103
|
|
|
91
104
|
getFetchArgs(): { url: string; requestInit: RequestInit } {
|
|
@@ -94,10 +107,14 @@ export class Request<T> {
|
|
|
94
107
|
requestInit: {
|
|
95
108
|
method: this.method,
|
|
96
109
|
body: this.body,
|
|
97
|
-
headers: this.constructHeadersInit(),
|
|
98
110
|
},
|
|
99
111
|
};
|
|
100
112
|
|
|
113
|
+
const headersInit = this.constructHeadersInit();
|
|
114
|
+
if (!!headersInit) {
|
|
115
|
+
fetchArgs.requestInit['headers'] = headersInit;
|
|
116
|
+
}
|
|
117
|
+
|
|
101
118
|
if (this.config.timeout !== undefined) {
|
|
102
119
|
fetchArgs.requestInit = {
|
|
103
120
|
...fetchArgs.requestInit,
|
|
@@ -109,39 +126,28 @@ export class Request<T> {
|
|
|
109
126
|
}
|
|
110
127
|
|
|
111
128
|
public updateFromHookRequest(hookRequest: HttpRequest) {
|
|
129
|
+
this.baseUrl = hookRequest.baseUrl;
|
|
112
130
|
this.method = hookRequest.method;
|
|
113
131
|
this.path = hookRequest.path;
|
|
114
132
|
this.body = hookRequest.body;
|
|
115
|
-
this.headers = hookRequest.headers
|
|
116
|
-
this.queryParams = hookRequest.queryParams
|
|
133
|
+
this.headers = hookRequest.headers;
|
|
134
|
+
this.queryParams = hookRequest.queryParams;
|
|
117
135
|
}
|
|
118
136
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
responseValidation: this.applyResponseValidation(requestConfig),
|
|
128
|
-
},
|
|
137
|
+
public toHookRequest(): HttpRequest {
|
|
138
|
+
return {
|
|
139
|
+
baseUrl: this.baseUrl,
|
|
140
|
+
method: this.method,
|
|
141
|
+
path: this.path,
|
|
142
|
+
headers: this.headers,
|
|
143
|
+
body: this.body,
|
|
144
|
+
queryParams: this.queryParams,
|
|
129
145
|
};
|
|
130
146
|
}
|
|
131
147
|
|
|
132
|
-
private applyResponseValidation(requestConfig: RequestConfig | undefined): boolean {
|
|
133
|
-
if (requestConfig?.validation?.responseValidation !== undefined) {
|
|
134
|
-
return requestConfig?.validation.responseValidation;
|
|
135
|
-
}
|
|
136
|
-
if (this.config?.validation?.responseValidation !== undefined) {
|
|
137
|
-
return this.config?.validation?.responseValidation;
|
|
138
|
-
}
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
148
|
private constructFullUrl(): string {
|
|
143
149
|
const queryString = this.constructQueryString();
|
|
144
|
-
return `${this.
|
|
150
|
+
return `${this.baseUrl}${this.constructPath()}${queryString}`;
|
|
145
151
|
}
|
|
146
152
|
|
|
147
153
|
private constructPath(): string {
|
|
@@ -149,8 +155,11 @@ export class Request<T> {
|
|
|
149
155
|
return serializePath(this.pathPattern, pathParamsRecord);
|
|
150
156
|
}
|
|
151
157
|
|
|
152
|
-
private constructHeadersInit(): HeadersInit {
|
|
158
|
+
private constructHeadersInit(): HeadersInit | undefined {
|
|
153
159
|
const headerParamsRecord: Record<string, unknown> = this.constructParamsRecord(this.headers);
|
|
160
|
+
if (Object.entries(headerParamsRecord).length === 0) {
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
154
163
|
return serializeHeader(headerParamsRecord);
|
|
155
164
|
}
|
|
156
165
|
|