UNPKG

9.24 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _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; }; }();
8
9var _index = require("./index");
10
11var _index2 = _interopRequireDefault(_index);
12
13function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16
17var Account = function () {
18 /**
19 * @param {Credentials} credentials
20 * credentials to be used when interacting with the API.
21 * @param {Object} options
22 * Addition Account options.
23 */
24 function Account(credentials) {
25 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26
27 _classCallCheck(this, Account);
28
29 this.creds = credentials;
30 this.options = options;
31
32 // Used to facilitate testing of the call to the underlying object
33 this._nexmo = this.options.nexmoOverride || _index2.default;
34
35 this._nexmo.initialize(this.creds.apiKey, this.creds.apiSecret, this.options);
36 }
37
38 /**
39 * TODO: document
40 */
41
42
43 _createClass(Account, [{
44 key: "checkBalance",
45 value: function checkBalance(callback) {
46 return this.options.rest.get("/account/get-balance", callback);
47 }
48 }, {
49 key: "updatePassword",
50 value: function updatePassword(newSecret, callback) {
51 return this.options.rest.postUseQueryString("/account/settings", { newSecret: newSecret }, callback);
52 }
53 }, {
54 key: "updateSMSCallback",
55 value: function updateSMSCallback(moCallBackUrl, callback) {
56 return this.options.rest.postUseQueryString("/account/settings", { moCallBackUrl: moCallBackUrl }, callback);
57 }
58 }, {
59 key: "updateDeliveryReceiptCallback",
60 value: function updateDeliveryReceiptCallback(drCallBackUrl, callback) {
61 return this.options.rest.postUseQueryString("/account/settings", { drCallBackUrl: drCallBackUrl }, callback);
62 }
63 }, {
64 key: "topUp",
65 value: function topUp(trx, callback) {
66 return this.options.rest.postUseQueryString("/account/top-up", { trx: trx }, callback);
67 }
68 }, {
69 key: "listSecrets",
70 value: function listSecrets(apiKey, callback) {
71 return this.options.api.get("/accounts/" + apiKey + "/secrets", {}, callback, false, true);
72 }
73 }, {
74 key: "getSecret",
75 value: function getSecret(apiKey, id, callback) {
76 return this.options.api.get("/accounts/" + apiKey + "/secrets/" + id, {}, callback, false, true);
77 }
78 }, {
79 key: "createSecret",
80 value: function createSecret(apiKey, secret, callback) {
81 return this.options.api.postJson("/accounts/" + apiKey + "/secrets/", { secret: secret }, callback, false, true);
82 }
83 }, {
84 key: "deleteSecret",
85 value: function deleteSecret(apiKey, id, callback) {
86 return this.options.api.delete("/accounts/" + apiKey + "/secrets/" + id, callback, false, true);
87 }
88 }]);
89
90 return Account;
91}();
92
93exports.default = Account;
94module.exports = exports["default"];
95//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9BY2NvdW50LmpzIl0sIm5hbWVzIjpbIkFjY291bnQiLCJjcmVkZW50aWFscyIsIm9wdGlvbnMiLCJjcmVkcyIsIl9uZXhtbyIsIm5leG1vT3ZlcnJpZGUiLCJpbml0aWFsaXplIiwiYXBpS2V5IiwiYXBpU2VjcmV0IiwiY2FsbGJhY2siLCJyZXN0IiwiZ2V0IiwibmV3U2VjcmV0IiwicG9zdFVzZVF1ZXJ5U3RyaW5nIiwibW9DYWxsQmFja1VybCIsImRyQ2FsbEJhY2tVcmwiLCJ0cngiLCJhcGkiLCJpZCIsInNlY3JldCIsInBvc3RKc29uIiwiZGVsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7QUFFQTs7Ozs7Ozs7SUFFTUEsTztBQUNKOzs7Ozs7QUFNQSxtQkFBWUMsV0FBWixFQUF1QztBQUFBLFFBQWRDLE9BQWMsdUVBQUosRUFBSTs7QUFBQTs7QUFDckMsU0FBS0MsS0FBTCxHQUFhRixXQUFiO0FBQ0EsU0FBS0MsT0FBTCxHQUFlQSxPQUFmOztBQUVBO0FBQ0EsU0FBS0UsTUFBTCxHQUFjLEtBQUtGLE9BQUwsQ0FBYUcsYUFBYixtQkFBZDs7QUFFQSxTQUFLRCxNQUFMLENBQVlFLFVBQVosQ0FDRSxLQUFLSCxLQUFMLENBQVdJLE1BRGIsRUFFRSxLQUFLSixLQUFMLENBQVdLLFNBRmIsRUFHRSxLQUFLTixPQUhQO0FBS0Q7O0FBRUQ7Ozs7Ozs7aUNBR2FPLFEsRUFBVTtBQUNyQixhQUFPLEtBQUtQLE9BQUwsQ0FBYVEsSUFBYixDQUFrQkMsR0FBbEIsQ0FBc0Isc0JBQXRCLEVBQThDRixRQUE5QyxDQUFQO0FBQ0Q7OzttQ0FFY0csUyxFQUFXSCxRLEVBQVU7QUFDbEMsYUFBTyxLQUFLUCxPQUFMLENBQWFRLElBQWIsQ0FBa0JHLGtCQUFsQixDQUNMLG1CQURLLEVBRUwsRUFBRUQsb0JBQUYsRUFGSyxFQUdMSCxRQUhLLENBQVA7QUFLRDs7O3NDQUVpQkssYSxFQUFlTCxRLEVBQVU7QUFDekMsYUFBTyxLQUFLUCxPQUFMLENBQWFRLElBQWIsQ0FBa0JHLGtCQUFsQixDQUNMLG1CQURLLEVBRUwsRUFBRUMsNEJBQUYsRUFGSyxFQUdMTCxRQUhLLENBQVA7QUFLRDs7O2tEQUU2Qk0sYSxFQUFlTixRLEVBQVU7QUFDckQsYUFBTyxLQUFLUCxPQUFMLENBQWFRLElBQWIsQ0FBa0JHLGtCQUFsQixDQUNMLG1CQURLLEVBRUwsRUFBRUUsNEJBQUYsRUFGSyxFQUdMTixRQUhLLENBQVA7QUFLRDs7OzBCQUVLTyxHLEVBQUtQLFEsRUFBVTtBQUNuQixhQUFPLEtBQUtQLE9BQUwsQ0FBYVEsSUFBYixDQUFrQkcsa0JBQWxCLENBQ0wsaUJBREssRUFFTCxFQUFFRyxRQUFGLEVBRkssRUFHTFAsUUFISyxDQUFQO0FBS0Q7OztnQ0FFV0YsTSxFQUFRRSxRLEVBQVU7QUFDNUIsYUFBTyxLQUFLUCxPQUFMLENBQWFlLEdBQWIsQ0FBaUJOLEdBQWpCLENBQ0wsZUFBZUosTUFBZixHQUF3QixVQURuQixFQUVMLEVBRkssRUFHTEUsUUFISyxFQUlMLEtBSkssRUFLTCxJQUxLLENBQVA7QUFPRDs7OzhCQUVTRixNLEVBQVFXLEUsRUFBSVQsUSxFQUFVO0FBQzlCLGFBQU8sS0FBS1AsT0FBTCxDQUFhZSxHQUFiLENBQWlCTixHQUFqQixDQUNMLGVBQWVKLE1BQWYsR0FBd0IsV0FBeEIsR0FBc0NXLEVBRGpDLEVBRUwsRUFGSyxFQUdMVCxRQUhLLEVBSUwsS0FKSyxFQUtMLElBTEssQ0FBUDtBQU9EOzs7aUNBRVlGLE0sRUFBUVksTSxFQUFRVixRLEVBQVU7QUFDckMsYUFBTyxLQUFLUCxPQUFMLENBQWFlLEdBQWIsQ0FBaUJHLFFBQWpCLENBQ0wsZUFBZWIsTUFBZixHQUF3QixXQURuQixFQUVMLEVBQUVZLFFBQVFBLE1BQVYsRUFGSyxFQUdMVixRQUhLLEVBSUwsS0FKSyxFQUtMLElBTEssQ0FBUDtBQU9EOzs7aUNBRVlGLE0sRUFBUVcsRSxFQUFJVCxRLEVBQVU7QUFDakMsYUFBTyxLQUFLUCxPQUFMLENBQWFlLEdBQWIsQ0FBaUJJLE1BQWpCLENBQ0wsZUFBZWQsTUFBZixHQUF3QixXQUF4QixHQUFzQ1csRUFEakMsRUFFTFQsUUFGSyxFQUdMLEtBSEssRUFJTCxJQUpLLENBQVA7QUFNRDs7Ozs7O2tCQUdZVCxPIiwiZmlsZSI6IkFjY291bnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG5leG1vIGZyb20gXCIuL2luZGV4XCI7XG5cbmNsYXNzIEFjY291bnQge1xuICAvKipcbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gY3JlZGVudGlhbHNcbiAgICogICAgY3JlZGVudGlhbHMgdG8gYmUgdXNlZCB3aGVuIGludGVyYWN0aW5nIHdpdGggdGhlIEFQSS5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAgICogICAgQWRkaXRpb24gQWNjb3VudCBvcHRpb25zLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY3JlZGVudGlhbHMsIG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuY3JlZHMgPSBjcmVkZW50aWFscztcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgLy8gVXNlZCB0byBmYWNpbGl0YXRlIHRlc3Rpbmcgb2YgdGhlIGNhbGwgdG8gdGhlIHVuZGVybHlpbmcgb2JqZWN0XG4gICAgdGhpcy5fbmV4bW8gPSB0aGlzLm9wdGlvbnMubmV4bW9PdmVycmlkZSB8fCBuZXhtbztcblxuICAgIHRoaXMuX25leG1vLmluaXRpYWxpemUoXG4gICAgICB0aGlzLmNyZWRzLmFwaUtleSxcbiAgICAgIHRoaXMuY3JlZHMuYXBpU2VjcmV0LFxuICAgICAgdGhpcy5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgY2hlY2tCYWxhbmNlKGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5yZXN0LmdldChcIi9hY2NvdW50L2dldC1iYWxhbmNlXCIsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHVwZGF0ZVBhc3N3b3JkKG5ld1NlY3JldCwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnJlc3QucG9zdFVzZVF1ZXJ5U3RyaW5nKFxuICAgICAgXCIvYWNjb3VudC9zZXR0aW5nc1wiLFxuICAgICAgeyBuZXdTZWNyZXQgfSxcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVNNU0NhbGxiYWNrKG1vQ2FsbEJhY2tVcmwsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5yZXN0LnBvc3RVc2VRdWVyeVN0cmluZyhcbiAgICAgIFwiL2FjY291bnQvc2V0dGluZ3NcIixcbiAgICAgIHsgbW9DYWxsQmFja1VybCB9LFxuICAgICAgY2FsbGJhY2tcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlRGVsaXZlcnlSZWNlaXB0Q2FsbGJhY2soZHJDYWxsQmFja1VybCwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnJlc3QucG9zdFVzZVF1ZXJ5U3RyaW5nKFxuICAgICAgXCIvYWNjb3VudC9zZXR0aW5nc1wiLFxuICAgICAgeyBkckNhbGxCYWNrVXJsIH0sXG4gICAgICBjYWxsYmFja1xuICAgICk7XG4gIH1cblxuICB0b3BVcCh0cngsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5yZXN0LnBvc3RVc2VRdWVyeVN0cmluZyhcbiAgICAgIFwiL2FjY291bnQvdG9wLXVwXCIsXG4gICAgICB7IHRyeCB9LFxuICAgICAgY2FsbGJhY2tcbiAgICApO1xuICB9XG5cbiAgbGlzdFNlY3JldHMoYXBpS2V5LCBjYWxsYmFjaykge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYXBpLmdldChcbiAgICAgIFwiL2FjY291bnRzL1wiICsgYXBpS2V5ICsgXCIvc2VjcmV0c1wiLFxuICAgICAge30sXG4gICAgICBjYWxsYmFjayxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICBnZXRTZWNyZXQoYXBpS2V5LCBpZCwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmFwaS5nZXQoXG4gICAgICBcIi9hY2NvdW50cy9cIiArIGFwaUtleSArIFwiL3NlY3JldHMvXCIgKyBpZCxcbiAgICAgIHt9LFxuICAgICAgY2FsbGJhY2ssXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlU2VjcmV0KGFwaUtleSwgc2VjcmV0LCBjYWxsYmFjaykge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYXBpLnBvc3RKc29uKFxuICAgICAgXCIvYWNjb3VudHMvXCIgKyBhcGlLZXkgKyBcIi9zZWNyZXRzL1wiLFxuICAgICAgeyBzZWNyZXQ6IHNlY3JldCB9LFxuICAgICAgY2FsbGJhY2ssXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlU2VjcmV0KGFwaUtleSwgaWQsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hcGkuZGVsZXRlKFxuICAgICAgXCIvYWNjb3VudHMvXCIgKyBhcGlLZXkgKyBcIi9zZWNyZXRzL1wiICsgaWQsXG4gICAgICBjYWxsYmFjayxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQWNjb3VudDtcbiJdfQ==
\No newline at end of file