UNPKG

courtbot-engine-data-courtbook

Version:
90 lines (72 loc) 3.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _nodeRestClient = require("node-rest-client"); var _log4js = require("log4js"); var _log4js2 = _interopRequireDefault(_log4js); var _oauth = require("./oauth"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var client = new _nodeRestClient.Client(); var log = _log4js2.default.getLogger("courtbook"); var bearerTokenFunc = function bearerTokenFunc(oauthConfig) { return function () { return (0, _oauth.clientCredentialsBearerToken)(oauthConfig); }; }; var CourtbookApi = function () { function CourtbookApi(_ref) { var courtbookUrl = _ref.courtbookUrl, oauthConfig = _ref.oauthConfig; _classCallCheck(this, CourtbookApi); this._baseUrl = courtbookUrl; this._getBearerToken = bearerTokenFunc(oauthConfig); } _createClass(CourtbookApi, [{ key: "getEvents", value: function getEvents(caseNumber, party) { var url = this._baseUrl + "/api/v1/cases/" + caseNumber + "/party/" + party + "/events"; log.debug("Getting events for case " + caseNumber + " and party " + party + " from URL " + url); return this._getBearerToken().then(function (token) { return new Promise(function (resolve, reject) { var args = { headers: { "Authorization": "Bearer " + token } }; client.get(url, args, function (data) { log.trace("Events for case " + caseNumber + " and party " + party + ": ", data); resolve(data); }).on("error", function (error) { log.error("Failed to get events for case " + caseNumber + " and party " + party + ": ", error); reject(new Error("Failed to get events for case " + caseNumber + " and party " + party + ".")); }); }); }); } }, { key: "getParties", value: function getParties(caseNumber) { var _this = this; log.debug("Getting parties for case " + caseNumber + "..."); return this._getBearerToken().then(function (token) { return new Promise(function (resolve, reject) { var args = { headers: { "Authorization": "Bearer " + token } }; client.get(_this._baseUrl + "/api/v1/cases?caseNumber=" + caseNumber, args, function (data) { log.trace("Found cases for case " + caseNumber + ":", data); resolve(data.map(function (courtCase) { return courtCase.party; })); }).on("error", function (error) { log.error("Failed to get parties for case " + caseNumber, error); reject(new Error("Failed to get parties for case " + caseNumber + ".")); }); }); }); } }]); return CourtbookApi; }(); exports.default = CourtbookApi;