UNPKG

7.29 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
9function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
11/**
12 * Provides access to the `talk` resource.
13 */
14var TalkResource = function () {
15 _createClass(TalkResource, null, [{
16 key: "PATH",
17
18 /**
19 * The path to the `talk` resource.
20 */
21 get: function get() {
22 return "/v1/calls/{call_uuid}/talk";
23 }
24
25 /**
26 * Creates a new TalkResource.
27 *
28 * @param {Credentials} creds - Credentials used when interacting with the Nexmo API.
29 * @param {Object} options - additional options for the class.
30 */
31
32 }]);
33
34 function TalkResource(creds, options) {
35 _classCallCheck(this, TalkResource);
36
37 this.creds = creds;
38 this.options = options;
39 }
40
41 /**
42 * Starts a talk in a call.
43 *
44 * @param {Object} params - Parameters used when starting the talk. See https://developer.nexmo.com/api/voice#talk for more information.
45 * @param {function} callback - function to be called when the request completes.
46 */
47
48
49 _createClass(TalkResource, [{
50 key: "start",
51 value: function start(callId, params, callback) {
52 params = JSON.stringify(params);
53
54 var config = {
55 host: "api.nexmo.com",
56 path: TalkResource.PATH.replace("{call_uuid}", callId),
57 method: "PUT",
58 body: params,
59 headers: {
60 "Content-Type": "application/json",
61 "Content-Length": params.length,
62 Authorization: "Bearer " + this.creds.generateJwt()
63 }
64 };
65 this.options.httpClient.request(config, callback);
66 }
67
68 /**
69 * Stop a talk in a call.
70 *
71 * @param {string} callId - The unique identifier for the call for the talk to be stopped in.
72 * @param {function} callback - function to be called when the request completes.
73 */
74
75 }, {
76 key: "stop",
77 value: function stop(callId, callback) {
78 var config = {
79 host: "api.nexmo.com",
80 path: TalkResource.PATH.replace("{call_uuid}", callId),
81 method: "DELETE",
82 headers: {
83 "Content-Type": "application/json",
84 Authorization: "Bearer " + this.creds.generateJwt()
85 }
86 };
87 this.options.httpClient.request(config, callback);
88 }
89 }]);
90
91 return TalkResource;
92}();
93
94exports.default = TalkResource;
95module.exports = exports["default"];
96//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9UYWxrUmVzb3VyY2UuanMiXSwibmFtZXMiOlsiVGFsa1Jlc291cmNlIiwiY3JlZHMiLCJvcHRpb25zIiwiY2FsbElkIiwicGFyYW1zIiwiY2FsbGJhY2siLCJKU09OIiwic3RyaW5naWZ5IiwiY29uZmlnIiwiaG9zdCIsInBhdGgiLCJQQVRIIiwicmVwbGFjZSIsIm1ldGhvZCIsImJvZHkiLCJoZWFkZXJzIiwibGVuZ3RoIiwiQXV0aG9yaXphdGlvbiIsImdlbmVyYXRlSnd0IiwiaHR0cENsaWVudCIsInJlcXVlc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTs7O0lBR01BLFk7Ozs7QUFDSjs7O3dCQUdrQjtBQUNoQixhQUFPLDRCQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7OztBQU1BLHdCQUFZQyxLQUFaLEVBQW1CQyxPQUFuQixFQUE0QjtBQUFBOztBQUMxQixTQUFLRCxLQUFMLEdBQWFBLEtBQWI7QUFDQSxTQUFLQyxPQUFMLEdBQWVBLE9BQWY7QUFDRDs7QUFFRDs7Ozs7Ozs7OzswQkFNTUMsTSxFQUFRQyxNLEVBQVFDLFEsRUFBVTtBQUM5QkQsZUFBU0UsS0FBS0MsU0FBTCxDQUFlSCxNQUFmLENBQVQ7O0FBRUEsVUFBSUksU0FBUztBQUNYQyxjQUFNLGVBREs7QUFFWEMsY0FBTVYsYUFBYVcsSUFBYixDQUFrQkMsT0FBbEIsQ0FBMEIsYUFBMUIsRUFBeUNULE1BQXpDLENBRks7QUFHWFUsZ0JBQVEsS0FIRztBQUlYQyxjQUFNVixNQUpLO0FBS1hXLGlCQUFTO0FBQ1AsMEJBQWdCLGtCQURUO0FBRVAsNEJBQWtCWCxPQUFPWSxNQUZsQjtBQUdQQyxxQ0FBeUIsS0FBS2hCLEtBQUwsQ0FBV2lCLFdBQVg7QUFIbEI7QUFMRSxPQUFiO0FBV0EsV0FBS2hCLE9BQUwsQ0FBYWlCLFVBQWIsQ0FBd0JDLE9BQXhCLENBQWdDWixNQUFoQyxFQUF3Q0gsUUFBeEM7QUFDRDs7QUFFRDs7Ozs7Ozs7O3lCQU1LRixNLEVBQVFFLFEsRUFBVTtBQUNyQixVQUFJRyxTQUFTO0FBQ1hDLGNBQU0sZUFESztBQUVYQyxjQUFNVixhQUFhVyxJQUFiLENBQWtCQyxPQUFsQixDQUEwQixhQUExQixFQUF5Q1QsTUFBekMsQ0FGSztBQUdYVSxnQkFBUSxRQUhHO0FBSVhFLGlCQUFTO0FBQ1AsMEJBQWdCLGtCQURUO0FBRVBFLHFDQUF5QixLQUFLaEIsS0FBTCxDQUFXaUIsV0FBWDtBQUZsQjtBQUpFLE9BQWI7QUFTQSxXQUFLaEIsT0FBTCxDQUFhaUIsVUFBYixDQUF3QkMsT0FBeEIsQ0FBZ0NaLE1BQWhDLEVBQXdDSCxRQUF4QztBQUNEOzs7Ozs7a0JBR1lMLFkiLCJmaWxlIjoiVGFsa1Jlc291cmNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGB0YWxrYCByZXNvdXJjZS5cbiAqL1xuY2xhc3MgVGFsa1Jlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBgdGFsa2AgcmVzb3VyY2UuXG4gICAqL1xuICBzdGF0aWMgZ2V0IFBBVEgoKSB7XG4gICAgcmV0dXJuIFwiL3YxL2NhbGxzL3tjYWxsX3V1aWR9L3RhbGtcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFRhbGtSZXNvdXJjZS5cbiAgICpcbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gY3JlZHMgLSBDcmVkZW50aWFscyB1c2VkIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgTmV4bW8gQVBJLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIGNsYXNzLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY3JlZHMsIG9wdGlvbnMpIHtcbiAgICB0aGlzLmNyZWRzID0gY3JlZHM7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgYSB0YWxrIGluIGEgY2FsbC5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFBhcmFtZXRlcnMgdXNlZCB3aGVuIHN0YXJ0aW5nIHRoZSB0YWxrLiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubmV4bW8uY29tL2FwaS92b2ljZSN0YWxrIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFjayAtIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByZXF1ZXN0IGNvbXBsZXRlcy5cbiAgICovXG4gIHN0YXJ0KGNhbGxJZCwgcGFyYW1zLCBjYWxsYmFjaykge1xuICAgIHBhcmFtcyA9IEpTT04uc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICB2YXIgY29uZmlnID0ge1xuICAgICAgaG9zdDogXCJhcGkubmV4bW8uY29tXCIsXG4gICAgICBwYXRoOiBUYWxrUmVzb3VyY2UuUEFUSC5yZXBsYWNlKFwie2NhbGxfdXVpZH1cIiwgY2FsbElkKSxcbiAgICAgIG1ldGhvZDogXCJQVVRcIixcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIFwiQ29udGVudC1MZW5ndGhcIjogcGFyYW1zLmxlbmd0aCxcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuY3JlZHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KGNvbmZpZywgY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgYSB0YWxrIGluIGEgY2FsbC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhbGxJZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNhbGwgZm9yIHRoZSB0YWxrIHRvIGJlIHN0b3BwZWQgaW4uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIC0gZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJlcXVlc3QgY29tcGxldGVzLlxuICAgKi9cbiAgc3RvcChjYWxsSWQsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgIGhvc3Q6IFwiYXBpLm5leG1vLmNvbVwiLFxuICAgICAgcGF0aDogVGFsa1Jlc291cmNlLlBBVEgucmVwbGFjZShcIntjYWxsX3V1aWR9XCIsIGNhbGxJZCksXG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5jcmVkcy5nZW5lcmF0ZUp3dCgpfWBcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoY29uZmlnLCBjYWxsYmFjayk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVGFsa1Jlc291cmNlO1xuIl19
\No newline at end of file