channelape-sdk
Version:
A client for interacting with ChannelApe's API
64 lines • 2.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Resource_1 = require("../../model/Resource");
const Subresource_1 = require("../model/Subresource");
const Version_1 = require("../../model/Version");
const Q = require("q");
class ActionsService {
constructor(client) {
this.client = client;
}
get(actionId) {
const deferred = Q.defer();
const requestUrl = `/${Version_1.default.V1}${Resource_1.default.ACTIONS}/${actionId}`;
this.client.get(requestUrl, (error, response, body) => {
this.mapPromise(deferred, error, response, body);
});
return deferred.promise;
}
updateHealthCheck(actionId) {
const requestUrl = `/${Version_1.default.V1}${Resource_1.default.ACTIONS}/${actionId}/${Subresource_1.default.HEALTH_CHECK}`;
const deferred = Q.defer();
this.client.put(requestUrl, (error, response, body) => {
this.mapPromise(deferred, error, response, body);
});
return deferred.promise;
}
complete(actionId) {
const requestUrl = `/${Version_1.default.V1}${Resource_1.default.ACTIONS}/${actionId}/${Subresource_1.default.COMPLETE}`;
const deferred = Q.defer();
this.client.put(requestUrl, (error, response, body) => {
this.mapPromise(deferred, error, response, body);
});
return deferred.promise;
}
error(actionId) {
const requestUrl = `/${Version_1.default.V1}${Resource_1.default.ACTIONS}/${actionId}/${Subresource_1.default.ERROR}`;
const deferred = Q.defer();
this.client.put(requestUrl, (error, response, body) => {
this.mapPromise(deferred, error, response, body);
});
return deferred.promise;
}
mapPromise(deferred, error, response, body) {
if (error) {
deferred.reject(error);
}
else if (response.statusCode === 200) {
const action = body;
action.lastHealthCheckTime = new Date(body.lastHealthCheckTime);
action.startTime = new Date(body.startTime);
if (action.endTime != null) {
action.endTime = new Date(body.endTime);
}
deferred.resolve(action);
}
else {
const channelApeErrorResponse = body;
channelApeErrorResponse.statusCode = response.statusCode;
deferred.reject(channelApeErrorResponse);
}
}
}
exports.default = ActionsService;
//# sourceMappingURL=ActionsService.js.map