UNPKG

pcp-server-nodejs-sdk

Version:

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=PAYONE-GmbH_PCP-server-nodeJS-SDK&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=PAYONE-GmbH_PCP-server-nodeJS-SDK) [![Coverage](https://sonarcloud.io/api/pr

138 lines 6.27 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { Headers } from 'node-fetch'; import { URLSearchParams } from 'url'; import { CommunicatorConfiguration } from '../CommunicatorConfiguration.js'; import { GetCheckoutsQuery } from '../queries/index.js'; import { BaseApiClient, CHECKOUT_ID_REQUIRED_ERROR, COMMERCE_CASE_ID_REQUIRED_ERROR, MERCHANT_ID_REQUIRED_ERROR, } from './BaseApiClient.js'; export class CheckoutApiClient extends BaseApiClient { constructor(config) { super(config); } createCheckoutRequest(merchantId, commerceCaseId, payload) { return __awaiter(this, void 0, void 0, function* () { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } if (!commerceCaseId) { throw new TypeError(COMMERCE_CASE_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/commerce-cases/${commerceCaseId}/checkouts`, this.getConfig().getHost()); const requestInit = { method: 'POST', headers: new Headers({ 'Content-Type': 'application/json', }), body: JSON.stringify(payload), }; return this.makeApiCall(url.toString(), requestInit); }); } getCheckoutRequest(merchantId, commerceCaseId, checkoutId) { return __awaiter(this, void 0, void 0, function* () { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } if (!commerceCaseId) { throw new TypeError(COMMERCE_CASE_ID_REQUIRED_ERROR); } if (!checkoutId) { throw new TypeError(CHECKOUT_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/commerce-cases/${commerceCaseId}/checkouts/${checkoutId}`, this.getConfig().getHost()); const requestInit = { method: 'GET', headers: new Headers(), }; return this.makeApiCall(url.toString(), requestInit); }); } getCheckoutsRequest(merchantId, queryParams) { return __awaiter(this, void 0, void 0, function* () { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/checkouts`, this.getConfig().getHost()); if (queryParams) { const params = new URLSearchParams(queryParams.toQueryMap()); url.search = params.toString(); } const requestInit = { method: 'GET', headers: new Headers(), }; return this.makeApiCall(url.toString(), requestInit); }); } updateCheckoutRequest(merchantId, commerceCaseId, checkoutId, payload) { return __awaiter(this, void 0, void 0, function* () { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } if (!commerceCaseId) { throw new TypeError(COMMERCE_CASE_ID_REQUIRED_ERROR); } if (!checkoutId) { throw new TypeError(CHECKOUT_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/commerce-cases/${commerceCaseId}/checkouts/${checkoutId}`, this.getConfig().getHost()); const requestInit = { method: 'PATCH', headers: new Headers({ 'Content-Type': 'application/json', }), body: JSON.stringify(payload), }; yield this.makeApiCall(url.toString(), requestInit, BaseApiClient.parseVoid); }); } removeCheckoutRequest(merchantId, commerceCaseId, checkoutId) { return __awaiter(this, void 0, void 0, function* () { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } if (!commerceCaseId) { throw new TypeError(COMMERCE_CASE_ID_REQUIRED_ERROR); } if (!checkoutId) { throw new TypeError(CHECKOUT_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/commerce-cases/${commerceCaseId}/checkouts/${checkoutId}`, this.getConfig().getHost()); const requestInit = { method: 'DELETE', headers: new Headers(), }; yield this.makeApiCall(url.toString(), requestInit, BaseApiClient.parseVoid); }); } completeCheckoutRequest(merchantId, commerceCaseId, checkoutId, payload) { return __awaiter(this, void 0, void 0, function* () { if (!merchantId) { throw new TypeError(MERCHANT_ID_REQUIRED_ERROR); } if (!commerceCaseId) { throw new TypeError(COMMERCE_CASE_ID_REQUIRED_ERROR); } if (!checkoutId) { throw new TypeError(CHECKOUT_ID_REQUIRED_ERROR); } const url = new URL(`/v1/${merchantId}/commerce-cases/${commerceCaseId}/checkouts/${checkoutId}/complete-order`, this.getConfig().getHost()); const requestInit = { method: 'POST', headers: new Headers({ 'Content-Type': 'application/json', }), body: JSON.stringify(payload), }; return this.makeApiCall(url.toString(), requestInit); }); } } //# sourceMappingURL=CheckoutApiClient.js.map