UNPKG

@e2y/occ-client

Version:

OCC client for SAP Commerce Cloud

51 lines 3.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OccClient = void 0; const openapi_typescript_fetch_1 = require("openapi-typescript-fetch"); const oauth2_client_1 = require("./oauth2-client"); /** * A client for making requests to an OCC API. * * If an OAuth2 configuration is provided, the client will automatically obtain an access token * and include it in requests that require authentication. */ class OccClient { /** * Creates a new instance of the OccClient class. * @constructor * @param {URL} occUrl - The URL of the OCC API. * @param {OAuth2ClientCredentialsConfiguration | OAuth2PasswordConfiguration} [oauth2Configuration] - The OAuth2 configuration for the client. */ constructor(occUrl, oauth2Configuration) { this.occUrl = occUrl; if (oauth2Configuration) { this.oauth2Configuration = oauth2Configuration; } } /** * Creates a new instance of the Fetcher class for making requests to an OCC API. * If an OAuth2 configuration is provided, the client will automatically obtain an access token * and include it in requests that require authentication. * @returns {Fetcher} - An instance of the Fetcher class. */ async create() { const fetcher = openapi_typescript_fetch_1.Fetcher.for(); if (this.oauth2Configuration) { const { access_token } = await new oauth2_client_1.OAuth2Client(this.oauth2Configuration).getToken(); fetcher.configure({ baseUrl: this.occUrl.toString(), init: { headers: { Authorization: `Bearer ${access_token}` } } }); } else { fetcher.configure({ baseUrl: this.occUrl.toString() }); } return fetcher; } } exports.OccClient = OccClient; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vY2MtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVFQUFtRDtBQUduRCxtREFBK0M7QUFJL0M7Ozs7O0dBS0c7QUFDSCxNQUFhLFNBQVM7SUFJcEI7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQVcsRUFBRSxtQkFBd0Y7UUFDL0csSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxtQkFBbUIsRUFBRTtZQUN2QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLE9BQU8sR0FBRyxrQ0FBTyxDQUFDLEdBQUcsRUFBUSxDQUFDO1FBRXBDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLElBQUksNEJBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyRixPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQy9CLElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUU7d0JBQ1AsYUFBYSxFQUFFLFVBQVUsWUFBWSxFQUFFO3FCQUN4QztpQkFDRjthQUNGLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBMUNELDhCQTBDQyJ9