UNPKG

10.5 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 Conversations = function () {
18 _createClass(Conversations, null, [{
19 key: 'PATH',
20 get: function get() {
21 return '/beta/conversations';
22 }
23
24 /**
25 * @param {Credentials} credentials
26 * credentials to be used when interacting with the API.
27 * @param {Object} options
28 * Additional Conversations options.
29 */
30
31 }]);
32
33 function Conversations(credentials) {
34 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
35
36 _classCallCheck(this, Conversations);
37
38 this.creds = credentials;
39 this.options = options;
40
41 // Used to facilitate testing of the call to the underlying object
42 this._nexmo = this.options.nexmoOverride || _index2.default;
43 }
44
45 /**
46 * TODO: document
47 */
48
49
50 _createClass(Conversations, [{
51 key: 'create',
52 value: function create(params, callback) {
53 params = JSON.stringify(params);
54
55 var config = {
56 host: 'api.nexmo.com',
57 path: Conversations.PATH,
58 method: 'POST',
59 body: params,
60 headers: {
61 'Content-Type': 'application/json',
62 'Authorization': 'Bearer ' + this.creds.generateJwt()
63 }
64 };
65 this.options.httpClient.request(config, callback);
66 }
67
68 /**
69 * TODO: document
70 */
71
72 }, {
73 key: 'get',
74 value: function get(conversationId, callback) {
75 var config;
76 if (conversationId) {
77 config = {
78 host: 'api.nexmo.com',
79 path: Conversations.PATH + '/' + conversationId,
80 method: 'GET',
81 headers: {
82 'Content-Type': 'application/json',
83 'Authorization': 'Bearer ' + this.creds.generateJwt()
84 }
85 };
86 } else {
87 config = {
88 host: 'api.nexmo.com',
89 path: Conversations.PATH,
90 method: 'GET',
91 headers: {
92 'Content-Type': 'application/json',
93 'Authorization': 'Bearer ' + this.creds.generateJwt()
94 }
95 };
96 }
97
98 this.options.httpClient.request(config, callback);
99 }
100
101 /**
102 * TODO: document
103 */
104
105 }, {
106 key: 'update',
107 value: function update(conversationId, params, callback) {
108 params = JSON.stringify(params);
109
110 var config = {
111 host: 'api.nexmo.com',
112 path: Conversations.PATH + '/' + conversationId,
113 method: 'PUT',
114 body: params,
115 headers: {
116 'Content-Type': 'application/json',
117 'Authorization': 'Bearer ' + this.creds.generateJwt()
118 }
119 };
120
121 this.options.httpClient.request(config, callback);
122 }
123
124 /**
125 * TODO: document
126 */
127
128 }, {
129 key: 'delete',
130 value: function _delete(conversationId, callback) {
131 var config = {
132 host: 'api.nexmo.com',
133 path: Conversations.PATH + '/' + conversationId,
134 method: 'DELETE',
135 headers: {
136 'Content-Type': 'application/json',
137 'Authorization': 'Bearer ' + this.creds.generateJwt()
138 }
139 };
140
141 this.options.httpClient.request(config, callback);
142 }
143 }]);
144
145 return Conversations;
146}();
147
148exports.default = Conversations;
149module.exports = exports['default'];
150//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Db252ZXJzYXRpb24uanMiXSwibmFtZXMiOlsiQ29udmVyc2F0aW9ucyIsImNyZWRlbnRpYWxzIiwib3B0aW9ucyIsImNyZWRzIiwiX25leG1vIiwibmV4bW9PdmVycmlkZSIsInBhcmFtcyIsImNhbGxiYWNrIiwiSlNPTiIsInN0cmluZ2lmeSIsImNvbmZpZyIsImhvc3QiLCJwYXRoIiwiUEFUSCIsIm1ldGhvZCIsImJvZHkiLCJoZWFkZXJzIiwiZ2VuZXJhdGVKd3QiLCJodHRwQ2xpZW50IiwicmVxdWVzdCIsImNvbnZlcnNhdGlvbklkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7QUFFQTs7Ozs7Ozs7SUFFTUEsYTs7O3dCQUVjO0FBQ2hCLGFBQU8scUJBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7O0FBTUEseUJBQVlDLFdBQVosRUFBdUM7QUFBQSxRQUFkQyxPQUFjLHVFQUFKLEVBQUk7O0FBQUE7O0FBQ3JDLFNBQUtDLEtBQUwsR0FBYUYsV0FBYjtBQUNBLFNBQUtDLE9BQUwsR0FBZUEsT0FBZjs7QUFFQTtBQUNBLFNBQUtFLE1BQUwsR0FBYyxLQUFLRixPQUFMLENBQWFHLGFBQWIsbUJBQWQ7QUFDRDs7QUFFRDs7Ozs7OzsyQkFHT0MsTSxFQUFRQyxRLEVBQVU7QUFDdkJELGVBQVNFLEtBQUtDLFNBQUwsQ0FBZUgsTUFBZixDQUFUOztBQUVBLFVBQUlJLFNBQVM7QUFDWEMsY0FBTSxlQURLO0FBRVhDLGNBQU1aLGNBQWNhLElBRlQ7QUFHWEMsZ0JBQVEsTUFIRztBQUlYQyxjQUFNVCxNQUpLO0FBS1hVLGlCQUFTO0FBQ1AsMEJBQWdCLGtCQURUO0FBRVAsdUNBQTJCLEtBQUtiLEtBQUwsQ0FBV2MsV0FBWDtBQUZwQjtBQUxFLE9BQWI7QUFVQSxXQUFLZixPQUFMLENBQWFnQixVQUFiLENBQXdCQyxPQUF4QixDQUFnQ1QsTUFBaEMsRUFBd0NILFFBQXhDO0FBQ0Q7O0FBRUQ7Ozs7Ozt3QkFHSWEsYyxFQUFnQmIsUSxFQUFVO0FBQzVCLFVBQUlHLE1BQUo7QUFDQSxVQUFHVSxjQUFILEVBQW1CO0FBQ2pCVixpQkFBUztBQUNQQyxnQkFBSyxlQURFO0FBRVBDLGdCQUFRWixjQUFjYSxJQUF0QixTQUE4Qk8sY0FGdkI7QUFHUE4sa0JBQVEsS0FIRDtBQUlQRSxtQkFBUztBQUNQLDRCQUFnQixrQkFEVDtBQUVQLHlDQUEyQixLQUFLYixLQUFMLENBQVdjLFdBQVg7QUFGcEI7QUFKRixTQUFUO0FBU0QsT0FWRCxNQVVPO0FBQ0xQLGlCQUFTO0FBQ1BDLGdCQUFLLGVBREU7QUFFUEMsZ0JBQUtaLGNBQWNhLElBRlo7QUFHUEMsa0JBQVEsS0FIRDtBQUlQRSxtQkFBUztBQUNQLDRCQUFnQixrQkFEVDtBQUVQLHlDQUEyQixLQUFLYixLQUFMLENBQVdjLFdBQVg7QUFGcEI7QUFKRixTQUFUO0FBU0Q7O0FBRUQsV0FBS2YsT0FBTCxDQUFhZ0IsVUFBYixDQUF3QkMsT0FBeEIsQ0FBZ0NULE1BQWhDLEVBQXdDSCxRQUF4QztBQUNEOztBQUVEOzs7Ozs7MkJBR09hLGMsRUFBZ0JkLE0sRUFBUUMsUSxFQUFVO0FBQ3ZDRCxlQUFTRSxLQUFLQyxTQUFMLENBQWVILE1BQWYsQ0FBVDs7QUFFQSxVQUFJSSxTQUFTO0FBQ1RDLGNBQUssZUFESTtBQUVUQyxjQUFRWixjQUFjYSxJQUF0QixTQUE4Qk8sY0FGckI7QUFHVE4sZ0JBQVEsS0FIQztBQUlUQyxjQUFNVCxNQUpHO0FBS1RVLGlCQUFTO0FBQ1AsMEJBQWdCLGtCQURUO0FBRVAsdUNBQTJCLEtBQUtiLEtBQUwsQ0FBV2MsV0FBWDtBQUZwQjtBQUxBLE9BQWI7O0FBV0EsV0FBS2YsT0FBTCxDQUFhZ0IsVUFBYixDQUF3QkMsT0FBeEIsQ0FBZ0NULE1BQWhDLEVBQXdDSCxRQUF4QztBQUNEOztBQUVEOzs7Ozs7NEJBR09hLGMsRUFBZ0JiLFEsRUFBVTtBQUMvQixVQUFJRyxTQUFTO0FBQ1RDLGNBQUssZUFESTtBQUVUQyxjQUFRWixjQUFjYSxJQUF0QixTQUE4Qk8sY0FGckI7QUFHVE4sZ0JBQVEsUUFIQztBQUlURSxpQkFBUztBQUNQLDBCQUFnQixrQkFEVDtBQUVQLHVDQUEyQixLQUFLYixLQUFMLENBQVdjLFdBQVg7QUFGcEI7QUFKQSxPQUFiOztBQVVBLFdBQUtmLE9BQUwsQ0FBYWdCLFVBQWIsQ0FBd0JDLE9BQXhCLENBQWdDVCxNQUFoQyxFQUF3Q0gsUUFBeEM7QUFDRDs7Ozs7O2tCQUlZUCxhIiwiZmlsZSI6IkNvbnZlcnNhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbmV4bW8gZnJvbSAnLi9pbmRleCc7XG5cbmNsYXNzIENvbnZlcnNhdGlvbnMge1xuXG4gIHN0YXRpYyBnZXQgUEFUSCgpIHtcbiAgICByZXR1cm4gJy9iZXRhL2NvbnZlcnNhdGlvbnMnO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Q3JlZGVudGlhbHN9IGNyZWRlbnRpYWxzXG4gICAqICAgIGNyZWRlbnRpYWxzIHRvIGJlIHVzZWQgd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBBUEkuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gICAqICAgIEFkZGl0aW9uYWwgQ29udmVyc2F0aW9ucyBvcHRpb25zLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY3JlZGVudGlhbHMsIG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuY3JlZHMgPSBjcmVkZW50aWFscztcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgLy8gVXNlZCB0byBmYWNpbGl0YXRlIHRlc3Rpbmcgb2YgdGhlIGNhbGwgdG8gdGhlIHVuZGVybHlpbmcgb2JqZWN0XG4gICAgdGhpcy5fbmV4bW8gPSB0aGlzLm9wdGlvbnMubmV4bW9PdmVycmlkZSB8fCBuZXhtbztcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgICBwYXJhbXMgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgIGhvc3Q6ICdhcGkubmV4bW8uY29tJyxcbiAgICAgIHBhdGg6IENvbnZlcnNhdGlvbnMuUEFUSCxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAnQXV0aG9yaXphdGlvbic6IGBCZWFyZXIgJHt0aGlzLmNyZWRzLmdlbmVyYXRlSnd0KCl9YFxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChjb25maWcsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgZ2V0KGNvbnZlcnNhdGlvbklkLCBjYWxsYmFjaykge1xuICAgIHZhciBjb25maWc7XG4gICAgaWYoY29udmVyc2F0aW9uSWQpIHtcbiAgICAgIGNvbmZpZyA9IHtcbiAgICAgICAgaG9zdDonYXBpLm5leG1vLmNvbScsXG4gICAgICAgIHBhdGg6YCR7Q29udmVyc2F0aW9ucy5QQVRIfS8ke2NvbnZlcnNhdGlvbklkfWAsXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke3RoaXMuY3JlZHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZyA9IHtcbiAgICAgICAgaG9zdDonYXBpLm5leG1vLmNvbScsXG4gICAgICAgIHBhdGg6Q29udmVyc2F0aW9ucy5QQVRILFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGBCZWFyZXIgJHt0aGlzLmNyZWRzLmdlbmVyYXRlSnd0KCl9YFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChjb25maWcsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgdXBkYXRlKGNvbnZlcnNhdGlvbklkLCBwYXJhbXMsIGNhbGxiYWNrKSB7XG4gICAgcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zKTtcblxuICAgIHZhciBjb25maWcgPSB7XG4gICAgICAgIGhvc3Q6J2FwaS5uZXhtby5jb20nLFxuICAgICAgICBwYXRoOmAke0NvbnZlcnNhdGlvbnMuUEFUSH0vJHtjb252ZXJzYXRpb25JZH1gLFxuICAgICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke3RoaXMuY3JlZHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KGNvbmZpZywgY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqXG4gICAqIFRPRE86IGRvY3VtZW50XG4gICAqL1xuICBkZWxldGUoY29udmVyc2F0aW9uSWQsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgICAgaG9zdDonYXBpLm5leG1vLmNvbScsXG4gICAgICAgIHBhdGg6YCR7Q29udmVyc2F0aW9ucy5QQVRIfS8ke2NvbnZlcnNhdGlvbklkfWAsXG4gICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke3RoaXMuY3JlZHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KGNvbmZpZywgY2FsbGJhY2spO1xuICB9XG5cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29udmVyc2F0aW9ucztcbiJdfQ==
\No newline at end of file