@e2y/occ-client
Version:
OCC client for SAP Commerce Cloud
51 lines • 3.11 kB
JavaScript
;
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