UNPKG

channelape-sdk

Version:
64 lines 2.56 kB
"use strict"; 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