@sap-cloud-sdk/odata-v4
Version:
SAP Cloud SDK for JavaScript common functions of OData client generator and OpenAPI clint generator.
43 lines • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ODataActionRequestConfig = void 0;
const odata_common_1 = require("@sap-cloud-sdk/odata-common");
/**
* Action request configuration for an entity type.
* @typeParam DeSerializersT - Type of the deserializer use on the request
* @typeParam ParametersT - Type of the parameter to setup a request with
*/
class ODataActionRequestConfig extends odata_common_1.ODataRequestConfig {
/**
* Creates an instance of ODataActionRequestConfig.
* @param defaultBasePath - Default base path of the service.
* @param actionName - The name of the action.
* @param parameters - Parameters of the action.
* @param oDataUri - URI conversion functions.
*/
constructor(defaultBasePath, actionName, parameters, oDataUri) {
super('post', defaultBasePath);
this.actionName = actionName;
this.parameters = parameters;
this.oDataUri = oDataUri;
this.payload = this.buildHttpPayload(parameters);
}
resourcePath() {
return this.actionName;
}
queryParameters() {
return {};
}
buildHttpPayload(parameters) {
const payload = Object.keys(parameters).reduce((all, key) => {
const payloadElement = parameters[key];
if (typeof payloadElement.value !== 'undefined') {
all[payloadElement.originalName] = payloadElement.value;
}
return all;
}, {});
return payload;
}
}
exports.ODataActionRequestConfig = ODataActionRequestConfig;
//# sourceMappingURL=odata-action-request-config.js.map