channelape-sdk
Version:
A client for interacting with ChannelApe's API
56 lines • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Version_1 = require("../../model/Version");
const Resource_1 = require("../../model/Resource");
const GenerateApiError_1 = require("../../utils/GenerateApiError");
const Q = require("q");
const EXPECTED_GET_STATUS = 200;
class SchedulesService {
constructor(client) {
this.client = client;
}
get(scheduleId) {
const deferred = Q.defer();
const requestUrl = `/${Version_1.default.V1}${Resource_1.default.SCHEDULES}/${scheduleId}`;
this.client.get(requestUrl, {}, (error, response, body) => {
this.mapSchedulePromise(requestUrl, deferred, error, response, body, EXPECTED_GET_STATUS);
});
return deferred.promise;
}
getAll(businessId) {
const deferred = Q.defer();
const requestUrl = `/${Version_1.default.V1}${Resource_1.default.SCHEDULES}?businessId=${businessId}`;
this.client.get(requestUrl, {}, (error, response, body) => {
this.mapSchedulesPromise(requestUrl, deferred, error, response, body, EXPECTED_GET_STATUS);
});
return deferred.promise;
}
mapSchedulePromise(requestUrl, deferred, error, response, body, expectedStatusCode) {
if (error) {
deferred.reject(error);
}
else if (response.status === expectedStatusCode) {
const schedule = body;
deferred.resolve(schedule);
}
else {
const scheduleApeErrorResponse = (0, GenerateApiError_1.default)(requestUrl, response, body, EXPECTED_GET_STATUS);
deferred.reject(scheduleApeErrorResponse);
}
}
mapSchedulesPromise(requestUrl, deferred, error, response, body, expectedStatusCode) {
if (error) {
deferred.reject(error);
}
else if (response.status === expectedStatusCode) {
const schedules = body.schedules;
deferred.resolve(schedules);
}
else {
const scheduleApeErrorResponse = (0, GenerateApiError_1.default)(requestUrl, response, body, EXPECTED_GET_STATUS);
deferred.reject(scheduleApeErrorResponse);
}
}
}
exports.default = SchedulesService;
//# sourceMappingURL=SchedulesService.js.map