1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | 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; }; }();
|
8 |
|
9 | var _index = require("./index");
|
10 |
|
11 | var _index2 = _interopRequireDefault(_index);
|
12 |
|
13 | var _Members = require("./Members");
|
14 |
|
15 | var _Members2 = _interopRequireDefault(_Members);
|
16 |
|
17 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18 |
|
19 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
20 |
|
21 | /**
|
22 | * Provides access to the `conversations` endpoint.
|
23 | */
|
24 | var Conversations = function () {
|
25 | _createClass(Conversations, null, [{
|
26 | key: "PATH",
|
27 | get: function get() {
|
28 | return "/beta/conversations";
|
29 | }
|
30 |
|
31 | /**
|
32 | * @param {Credentials} credentials
|
33 | * credentials to be used when interacting with the API.
|
34 | * @param {Object} options
|
35 | * Additional Conversations options.
|
36 | */
|
37 |
|
38 | }]);
|
39 |
|
40 | function Conversations(credentials) {
|
41 | var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
42 |
|
43 | _classCallCheck(this, Conversations);
|
44 |
|
45 | this.creds = credentials;
|
46 | this.options = options;
|
47 |
|
48 | /**
|
49 | * @type Members
|
50 | */
|
51 | this.members = new _Members2.default(this.creds, this.options);
|
52 |
|
53 | // Used to facilitate testing of the call to the underlying object
|
54 | this._nexmo = this.options.nexmoOverride || _index2.default;
|
55 | }
|
56 |
|
57 | /**
|
58 | * Create a new conversation.
|
59 | *
|
60 | * @param {Object} params - Parameters used when creating the conversation. See https://ea.developer.nexmo.com/api/conversation#create-a-conversation for more information.
|
61 | * @param {function} callback - function to be called when the request completes.
|
62 | */
|
63 |
|
64 |
|
65 | _createClass(Conversations, [{
|
66 | key: "create",
|
67 | value: function create(params, callback) {
|
68 | params = JSON.stringify(params);
|
69 |
|
70 | var config = {
|
71 | host: "api.nexmo.com",
|
72 | path: Conversations.PATH,
|
73 | method: "POST",
|
74 | body: params,
|
75 | headers: {
|
76 | "Content-Type": "application/json",
|
77 | Authorization: "Bearer " + this.creds.generateJwt()
|
78 | }
|
79 | };
|
80 | this.options.httpClient.request(config, callback);
|
81 | }
|
82 |
|
83 | /**
|
84 | * Get an existing conversation.
|
85 | *
|
86 | * @param {string|object} query - The unique identifier for the conversation to retrieve
|
87 | * or a set of filter parameters for the query. For more information
|
88 | * see https://ea.developer.nexmo.com/api/conversation#retrieve-a-conversation
|
89 | * @param {function} callback - function to be called when the request completes.
|
90 | */
|
91 |
|
92 | }, {
|
93 | key: "get",
|
94 | value: function get(query, callback) {
|
95 | this._nexmo.getWithQuery(Conversations.PATH, query, this.creds, this.options, callback);
|
96 | }
|
97 |
|
98 | /**
|
99 | * Update an existing conversation.
|
100 | *
|
101 | * @param {string} [conversationId] - The unique identifier for the conversation to update.
|
102 | * @param {Object} params - Parameters used when updating the conversation.
|
103 | * @param {function} callback - function to be called when the request completes.
|
104 | */
|
105 |
|
106 | }, {
|
107 | key: "update",
|
108 | value: function update(conversationId, params, callback) {
|
109 | params = JSON.stringify(params);
|
110 |
|
111 | var config = {
|
112 | host: "api.nexmo.com",
|
113 | path: Conversations.PATH + "/" + conversationId,
|
114 | method: "PUT",
|
115 | body: params,
|
116 | headers: {
|
117 | "Content-Type": "application/json",
|
118 | Authorization: "Bearer " + this.creds.generateJwt()
|
119 | }
|
120 | };
|
121 |
|
122 | this.options.httpClient.request(config, callback);
|
123 | }
|
124 |
|
125 | /**
|
126 | * Deleta an existing conversation.
|
127 | *
|
128 | * @param {string} [conversationId] - The unique identifier for the conversation to delete.
|
129 | * @param {function} callback - function to be called when the request completes.
|
130 | */
|
131 |
|
132 | }, {
|
133 | key: "delete",
|
134 | value: function _delete(conversationId, callback) {
|
135 | var config = {
|
136 | host: "api.nexmo.com",
|
137 | path: Conversations.PATH + "/" + conversationId,
|
138 | method: "DELETE",
|
139 | headers: {
|
140 | "Content-Type": "application/json",
|
141 | Authorization: "Bearer " + this.creds.generateJwt()
|
142 | }
|
143 | };
|
144 |
|
145 | this.options.httpClient.request(config, callback);
|
146 | }
|
147 | }]);
|
148 |
|
149 | return Conversations;
|
150 | }();
|
151 |
|
152 | exports.default = Conversations;
|
153 | module.exports = exports["default"];
|
154 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Db252ZXJzYXRpb25zLmpzIl0sIm5hbWVzIjpbIkNvbnZlcnNhdGlvbnMiLCJjcmVkZW50aWFscyIsIm9wdGlvbnMiLCJjcmVkcyIsIm1lbWJlcnMiLCJfbmV4bW8iLCJuZXhtb092ZXJyaWRlIiwicGFyYW1zIiwiY2FsbGJhY2siLCJKU09OIiwic3RyaW5naWZ5IiwiY29uZmlnIiwiaG9zdCIsInBhdGgiLCJQQVRIIiwibWV0aG9kIiwiYm9keSIsImhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwiZ2VuZXJhdGVKd3QiLCJodHRwQ2xpZW50IiwicmVxdWVzdCIsInF1ZXJ5IiwiZ2V0V2l0aFF1ZXJ5IiwiY29udmVyc2F0aW9uSWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztBQUVBOzs7O0FBRUE7Ozs7Ozs7O0FBRUE7OztJQUdNQSxhOzs7d0JBQ2M7QUFDaEIsYUFBTyxxQkFBUDtBQUNEOztBQUVEOzs7Ozs7Ozs7QUFNQSx5QkFBWUMsV0FBWixFQUF1QztBQUFBLFFBQWRDLE9BQWMsdUVBQUosRUFBSTs7QUFBQTs7QUFDckMsU0FBS0MsS0FBTCxHQUFhRixXQUFiO0FBQ0EsU0FBS0MsT0FBTCxHQUFlQSxPQUFmOztBQUVBOzs7QUFHQSxTQUFLRSxPQUFMLEdBQWUsc0JBQVksS0FBS0QsS0FBakIsRUFBd0IsS0FBS0QsT0FBN0IsQ0FBZjs7QUFFQTtBQUNBLFNBQUtHLE1BQUwsR0FBYyxLQUFLSCxPQUFMLENBQWFJLGFBQWIsbUJBQWQ7QUFDRDs7QUFFRDs7Ozs7Ozs7OzsyQkFNT0MsTSxFQUFRQyxRLEVBQVU7QUFDdkJELGVBQVNFLEtBQUtDLFNBQUwsQ0FBZUgsTUFBZixDQUFUOztBQUVBLFVBQUlJLFNBQVM7QUFDWEMsY0FBTSxlQURLO0FBRVhDLGNBQU1iLGNBQWNjLElBRlQ7QUFHWEMsZ0JBQVEsTUFIRztBQUlYQyxjQUFNVCxNQUpLO0FBS1hVLGlCQUFTO0FBQ1AsMEJBQWdCLGtCQURUO0FBRVBDLHFDQUF5QixLQUFLZixLQUFMLENBQVdnQixXQUFYO0FBRmxCO0FBTEUsT0FBYjtBQVVBLFdBQUtqQixPQUFMLENBQWFrQixVQUFiLENBQXdCQyxPQUF4QixDQUFnQ1YsTUFBaEMsRUFBd0NILFFBQXhDO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7O3dCQVFJYyxLLEVBQU9kLFEsRUFBVTtBQUNuQixXQUFLSCxNQUFMLENBQVlrQixZQUFaLENBQ0V2QixjQUFjYyxJQURoQixFQUVFUSxLQUZGLEVBR0UsS0FBS25CLEtBSFAsRUFJRSxLQUFLRCxPQUpQLEVBS0VNLFFBTEY7QUFPRDs7QUFFRDs7Ozs7Ozs7OzsyQkFPT2dCLGMsRUFBZ0JqQixNLEVBQVFDLFEsRUFBVTtBQUN2Q0QsZUFBU0UsS0FBS0MsU0FBTCxDQUFlSCxNQUFmLENBQVQ7O0FBRUEsVUFBSUksU0FBUztBQUNYQyxjQUFNLGVBREs7QUFFWEMsY0FBU2IsY0FBY2MsSUFBdkIsU0FBK0JVLGNBRnBCO0FBR1hULGdCQUFRLEtBSEc7QUFJWEMsY0FBTVQsTUFKSztBQUtYVSxpQkFBUztBQUNQLDBCQUFnQixrQkFEVDtBQUVQQyxxQ0FBeUIsS0FBS2YsS0FBTCxDQUFXZ0IsV0FBWDtBQUZsQjtBQUxFLE9BQWI7O0FBV0EsV0FBS2pCLE9BQUwsQ0FBYWtCLFVBQWIsQ0FBd0JDLE9BQXhCLENBQWdDVixNQUFoQyxFQUF3Q0gsUUFBeEM7QUFDRDs7QUFFRDs7Ozs7Ozs7OzRCQU1PZ0IsYyxFQUFnQmhCLFEsRUFBVTtBQUMvQixVQUFJRyxTQUFTO0FBQ1hDLGNBQU0sZUFESztBQUVYQyxjQUFTYixjQUFjYyxJQUF2QixTQUErQlUsY0FGcEI7QUFHWFQsZ0JBQVEsUUFIRztBQUlYRSxpQkFBUztBQUNQLDBCQUFnQixrQkFEVDtBQUVQQyxxQ0FBeUIsS0FBS2YsS0FBTCxDQUFXZ0IsV0FBWDtBQUZsQjtBQUpFLE9BQWI7O0FBVUEsV0FBS2pCLE9BQUwsQ0FBYWtCLFVBQWIsQ0FBd0JDLE9BQXhCLENBQWdDVixNQUFoQyxFQUF3Q0gsUUFBeEM7QUFDRDs7Ozs7O2tCQUdZUixhIiwiZmlsZSI6IkNvbnZlcnNhdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG5leG1vIGZyb20gXCIuL2luZGV4XCI7XG5cbmltcG9ydCBNZW1iZXJzIGZyb20gXCIuL01lbWJlcnNcIjtcblxuLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGBjb252ZXJzYXRpb25zYCBlbmRwb2ludC5cbiAqL1xuY2xhc3MgQ29udmVyc2F0aW9ucyB7XG4gIHN0YXRpYyBnZXQgUEFUSCgpIHtcbiAgICByZXR1cm4gXCIvYmV0YS9jb252ZXJzYXRpb25zXCI7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gY3JlZGVudGlhbHNcbiAgICogICAgY3JlZGVudGlhbHMgdG8gYmUgdXNlZCB3aGVuIGludGVyYWN0aW5nIHdpdGggdGhlIEFQSS5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAgICogICAgQWRkaXRpb25hbCBDb252ZXJzYXRpb25zIG9wdGlvbnMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjcmVkZW50aWFscywgb3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5jcmVkcyA9IGNyZWRlbnRpYWxzO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBNZW1iZXJzXG4gICAgICovXG4gICAgdGhpcy5tZW1iZXJzID0gbmV3IE1lbWJlcnModGhpcy5jcmVkcywgdGhpcy5vcHRpb25zKTtcblxuICAgIC8vIFVzZWQgdG8gZmFjaWxpdGF0ZSB0ZXN0aW5nIG9mIHRoZSBjYWxsIHRvIHRoZSB1bmRlcmx5aW5nIG9iamVjdFxuICAgIHRoaXMuX25leG1vID0gdGhpcy5vcHRpb25zLm5leG1vT3ZlcnJpZGUgfHwgbmV4bW87XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGNvbnZlcnNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFBhcmFtZXRlcnMgdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSBjb252ZXJzYXRpb24uIFNlZSBodHRwczovL2VhLmRldmVsb3Blci5uZXhtby5jb20vYXBpL2NvbnZlcnNhdGlvbiNjcmVhdGUtYS1jb252ZXJzYXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIC0gZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJlcXVlc3QgY29tcGxldGVzLlxuICAgKi9cbiAgY3JlYXRlKHBhcmFtcywgY2FsbGJhY2spIHtcbiAgICBwYXJhbXMgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgIGhvc3Q6IFwiYXBpLm5leG1vLmNvbVwiLFxuICAgICAgcGF0aDogQ29udmVyc2F0aW9ucy5QQVRILFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmNyZWRzLmdlbmVyYXRlSnd0KCl9YFxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChjb25maWcsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gZXhpc3RpbmcgY29udmVyc2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHF1ZXJ5IC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29udmVyc2F0aW9uIHRvIHJldHJpZXZlXG4gICAqICAgICAgICAgICAgICAgb3IgYSBzZXQgb2YgZmlsdGVyIHBhcmFtZXRlcnMgZm9yIHRoZSBxdWVyeS4gRm9yIG1vcmUgaW5mb3JtYXRpb25cbiAgICogICAgICAgICAgICAgICBzZWUgaHR0cHM6Ly9lYS5kZXZlbG9wZXIubmV4bW8uY29tL2FwaS9jb252ZXJzYXRpb24jcmV0cmlldmUtYS1jb252ZXJzYXRpb25cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMuXG4gICAqL1xuICBnZXQocXVlcnksIGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fbmV4bW8uZ2V0V2l0aFF1ZXJ5KFxuICAgICAgQ29udmVyc2F0aW9ucy5QQVRILFxuICAgICAgcXVlcnksXG4gICAgICB0aGlzLmNyZWRzLFxuICAgICAgdGhpcy5vcHRpb25zLFxuICAgICAgY2FsbGJhY2tcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhbiBleGlzdGluZyBjb252ZXJzYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbY29udmVyc2F0aW9uSWRdIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29udmVyc2F0aW9uIHRvIHVwZGF0ZS5cbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFBhcmFtZXRlcnMgdXNlZCB3aGVuIHVwZGF0aW5nIHRoZSBjb252ZXJzYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIC0gZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJlcXVlc3QgY29tcGxldGVzLlxuICAgKi9cbiAgdXBkYXRlKGNvbnZlcnNhdGlvbklkLCBwYXJhbXMsIGNhbGxiYWNrKSB7XG4gICAgcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zKTtcblxuICAgIHZhciBjb25maWcgPSB7XG4gICAgICBob3N0OiBcImFwaS5uZXhtby5jb21cIixcbiAgICAgIHBhdGg6IGAke0NvbnZlcnNhdGlvbnMuUEFUSH0vJHtjb252ZXJzYXRpb25JZH1gLFxuICAgICAgbWV0aG9kOiBcIlBVVFwiLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuY3JlZHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoY29uZmlnLCBjYWxsYmFjayk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRhIGFuIGV4aXN0aW5nIGNvbnZlcnNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjb252ZXJzYXRpb25JZF0gLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb252ZXJzYXRpb24gdG8gZGVsZXRlLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFjayAtIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByZXF1ZXN0IGNvbXBsZXRlcy5cbiAgICovXG4gIGRlbGV0ZShjb252ZXJzYXRpb25JZCwgY2FsbGJhY2spIHtcbiAgICB2YXIgY29uZmlnID0ge1xuICAgICAgaG9zdDogXCJhcGkubmV4bW8uY29tXCIsXG4gICAgICBwYXRoOiBgJHtDb252ZXJzYXRpb25zLlBBVEh9LyR7Y29udmVyc2F0aW9uSWR9YCxcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmNyZWRzLmdlbmVyYXRlSnd0KCl9YFxuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KGNvbmZpZywgY2FsbGJhY2spO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbnZlcnNhdGlvbnM7XG4iXX0= |
\ | No newline at end of file |