channelape-sdk
Version:
A client for interacting with ChannelApe's API
44 lines • 1.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Version_1 = require("../../model/Version");
const RestService_1 = require("../../service/RestService");
const GenerateApiError_1 = require("../../utils/GenerateApiError");
class LoggingService extends RestService_1.default {
constructor(client) {
super();
this.client = client;
this.EXPECTED_CREATE_STATUS = 201;
}
logPayload(loggingRequest) {
return new Promise((resolve) => {
const requestUrl = `/${Version_1.default.V1}/logs`;
const options = {
data: loggingRequest.body,
headers: {
'X-Channel-Ape-Logs-Flow': loggingRequest.flow,
},
};
this.client.post(requestUrl, options, (error, response, body) => {
const requestResponse = {
error,
response,
body,
};
resolve(this.mapLoggingResponse(requestUrl, requestResponse, this.EXPECTED_CREATE_STATUS));
});
});
}
mapLoggingResponse(requestUrl, requestCallbackParams, expectedStatusCode) {
return new Promise((resolve, reject) => {
if (requestCallbackParams.response.status === expectedStatusCode) {
resolve(requestCallbackParams.body);
}
else {
const channelApeErrorResponse = (0, GenerateApiError_1.default)(requestUrl, requestCallbackParams.response, requestCallbackParams.body, this.EXPECTED_CREATE_STATUS);
reject(channelApeErrorResponse);
}
});
}
}
exports.default = LoggingService;
//# sourceMappingURL=LoggingService.js.map