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 _Utils = require("./Utils");
|
14 |
|
15 | var _Utils2 = _interopRequireDefault(_Utils);
|
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 `users` endpoint.
|
23 | */
|
24 | var Users = function () {
|
25 | _createClass(Users, null, [{
|
26 | key: "PATH",
|
27 | get: function get() {
|
28 | return "/v0.1/users";
|
29 | }
|
30 |
|
31 | /**
|
32 | * @param {Credentials} credentials
|
33 | * credentials to be used when interacting with the API.
|
34 | * @param {Object} options
|
35 | * Additional Users options.
|
36 | */
|
37 |
|
38 | }]);
|
39 |
|
40 | function Users(credentials) {
|
41 | var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
42 |
|
43 | _classCallCheck(this, Users);
|
44 |
|
45 | this.creds = credentials;
|
46 | this.options = options;
|
47 | }
|
48 |
|
49 | /**
|
50 | * Create a new user.
|
51 | *
|
52 | * @param {Object} params - Parameters used when creating the user. See https://ea.developer.nexmo.com/api/conversation#create-a-user for more information.
|
53 | * @param {function} callback - function to be called when the request completes.
|
54 | */
|
55 |
|
56 |
|
57 | _createClass(Users, [{
|
58 | key: "create",
|
59 | value: function create(params, callback) {
|
60 | params = JSON.stringify(params);
|
61 |
|
62 | var config = {
|
63 | host: this.options.host || "api.nexmo.com",
|
64 | path: Users.PATH,
|
65 | method: "POST",
|
66 | body: params,
|
67 | headers: {
|
68 | "Content-Type": "application/json",
|
69 | Authorization: "Bearer " + this.creds.generateJwt()
|
70 | }
|
71 | };
|
72 | this.options.httpClient.request(config, callback);
|
73 | }
|
74 |
|
75 | /**
|
76 | * Get an existing user.
|
77 | *
|
78 | * @param {string|object} query - The unique identifier for the user to retrieve
|
79 | * or a set of filter parameters for the query. For more information
|
80 | * see https://ea.developer.nexmo.com/api/conversation#retrieve-all-users
|
81 | * @param {function} callback - function to be called when the request completes.
|
82 | */
|
83 |
|
84 | }, {
|
85 | key: "get",
|
86 | value: function get(query, callback) {
|
87 | var config = {
|
88 | host: this.options.host || "api.nexmo.com",
|
89 | path: _Utils2.default.createPathWithQuery(Users.PATH, query),
|
90 | method: "GET",
|
91 | body: undefined,
|
92 | headers: {
|
93 | "Content-Type": "application/json",
|
94 | Authorization: "Bearer " + this.creds.generateJwt()
|
95 | }
|
96 | };
|
97 | this.options.httpClient.request(config, callback);
|
98 | }
|
99 |
|
100 | /**
|
101 | * Get next page of users or conversations for a user.
|
102 | *
|
103 | * @param {object} response - The response from a paginated users list
|
104 | * see https://ea.developer.nexmo.com/api/conversation#retrieve-all-users
|
105 | * @param {function} callback - function to be called when the request completes.
|
106 | */
|
107 |
|
108 | }, {
|
109 | key: "next",
|
110 | value: function next(response, callback) {
|
111 | if (response._links.next) {
|
112 | this.get(_Utils2.default.getQuery(response._links.next.href), callback);
|
113 | } else {
|
114 | var error = new Error("The response doesn't have a next page.");
|
115 | callback(error, null);
|
116 | }
|
117 | }
|
118 |
|
119 | /**
|
120 | * Get previous page of users or conversations for a user.
|
121 | *
|
122 | * @param {object} response - The response from a paginated users list
|
123 | * see https://ea.developer.nexmo.com/api/conversation#retrieve-all-users
|
124 | * @param {function} callback - function to be called when the request completes.
|
125 | */
|
126 |
|
127 | }, {
|
128 | key: "prev",
|
129 | value: function prev(response, callback) {
|
130 | if (response._links.prev) {
|
131 | this.get(_Utils2.default.getQuery(response._links.prev.href), callback);
|
132 | } else {
|
133 | var error = new Error("The response doesn't have a previous page.");
|
134 | callback(error, null);
|
135 | }
|
136 | }
|
137 |
|
138 | /**
|
139 | * Update an existing user.
|
140 | *
|
141 | * @param {string} userId - The unique identifier for the user to update.
|
142 | * @param {Object} params - Parameters used when updating the conversation.
|
143 | * @param {function} callback - function to be called when the request completes.
|
144 | */
|
145 |
|
146 | }, {
|
147 | key: "update",
|
148 | value: function update(userId, params, callback) {
|
149 | params = JSON.stringify(params);
|
150 |
|
151 | var config = {
|
152 | host: this.options.host || "api.nexmo.com",
|
153 | path: Users.PATH + "/" + userId,
|
154 | method: "PUT",
|
155 | body: params,
|
156 | headers: {
|
157 | "Content-Type": "application/json",
|
158 | Authorization: "Bearer " + this.creds.generateJwt()
|
159 | }
|
160 | };
|
161 |
|
162 | this.options.httpClient.request(config, callback);
|
163 | }
|
164 |
|
165 | /**
|
166 | * Deleta an existing user.
|
167 | *
|
168 | * @param {string} userId - The unique identifier for the user to delete.
|
169 | * @param {function} callback - function to be called when the request completes.
|
170 | */
|
171 |
|
172 | }, {
|
173 | key: "delete",
|
174 | value: function _delete(userId, callback) {
|
175 | var config = {
|
176 | host: this.options.host || "api.nexmo.com",
|
177 | path: Users.PATH + "/" + userId,
|
178 | method: "DELETE",
|
179 | headers: {
|
180 | "Content-Type": "application/json",
|
181 | Authorization: "Bearer " + this.creds.generateJwt()
|
182 | }
|
183 | };
|
184 |
|
185 | this.options.httpClient.request(config, callback);
|
186 | }
|
187 | }]);
|
188 |
|
189 | return Users;
|
190 | }();
|
191 |
|
192 | exports.default = Users;
|
193 | module.exports = exports["default"];
|
194 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Vc2Vycy5qcyJdLCJuYW1lcyI6WyJVc2VycyIsImNyZWRlbnRpYWxzIiwib3B0aW9ucyIsImNyZWRzIiwicGFyYW1zIiwiY2FsbGJhY2siLCJKU09OIiwic3RyaW5naWZ5IiwiY29uZmlnIiwiaG9zdCIsInBhdGgiLCJQQVRIIiwibWV0aG9kIiwiYm9keSIsImhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwiZ2VuZXJhdGVKd3QiLCJodHRwQ2xpZW50IiwicmVxdWVzdCIsInF1ZXJ5IiwiY3JlYXRlUGF0aFdpdGhRdWVyeSIsInVuZGVmaW5lZCIsInJlc3BvbnNlIiwiX2xpbmtzIiwibmV4dCIsImdldCIsImdldFF1ZXJ5IiwiaHJlZiIsImVycm9yIiwiRXJyb3IiLCJwcmV2IiwidXNlcklkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7QUFFQTs7OztBQUVBOzs7Ozs7OztBQUVBOzs7SUFHTUEsSzs7O3dCQUNjO0FBQ2hCLGFBQU8sYUFBUDtBQUNEOztBQUVEOzs7Ozs7Ozs7QUFNQSxpQkFBWUMsV0FBWixFQUF1QztBQUFBLFFBQWRDLE9BQWMsdUVBQUosRUFBSTs7QUFBQTs7QUFDckMsU0FBS0MsS0FBTCxHQUFhRixXQUFiO0FBQ0EsU0FBS0MsT0FBTCxHQUFlQSxPQUFmO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7MkJBTU9FLE0sRUFBUUMsUSxFQUFVO0FBQ3ZCRCxlQUFTRSxLQUFLQyxTQUFMLENBQWVILE1BQWYsQ0FBVDs7QUFFQSxVQUFJSSxTQUFTO0FBQ1hDLGNBQU0sS0FBS1AsT0FBTCxDQUFhTyxJQUFiLElBQXFCLGVBRGhCO0FBRVhDLGNBQU1WLE1BQU1XLElBRkQ7QUFHWEMsZ0JBQVEsTUFIRztBQUlYQyxjQUFNVCxNQUpLO0FBS1hVLGlCQUFTO0FBQ1AsMEJBQWdCLGtCQURUO0FBRVBDLHFDQUF5QixLQUFLWixLQUFMLENBQVdhLFdBQVg7QUFGbEI7QUFMRSxPQUFiO0FBVUEsV0FBS2QsT0FBTCxDQUFhZSxVQUFiLENBQXdCQyxPQUF4QixDQUFnQ1YsTUFBaEMsRUFBd0NILFFBQXhDO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7O3dCQVFJYyxLLEVBQU9kLFEsRUFBVTtBQUNuQixVQUFJRyxTQUFTO0FBQ1hDLGNBQU0sS0FBS1AsT0FBTCxDQUFhTyxJQUFiLElBQXFCLGVBRGhCO0FBRVhDLGNBQU0sZ0JBQU1VLG1CQUFOLENBQTBCcEIsTUFBTVcsSUFBaEMsRUFBc0NRLEtBQXRDLENBRks7QUFHWFAsZ0JBQVEsS0FIRztBQUlYQyxjQUFNUSxTQUpLO0FBS1hQLGlCQUFTO0FBQ1AsMEJBQWdCLGtCQURUO0FBRVBDLHFDQUF5QixLQUFLWixLQUFMLENBQVdhLFdBQVg7QUFGbEI7QUFMRSxPQUFiO0FBVUEsV0FBS2QsT0FBTCxDQUFhZSxVQUFiLENBQXdCQyxPQUF4QixDQUFnQ1YsTUFBaEMsRUFBd0NILFFBQXhDO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7eUJBUUtpQixRLEVBQVVqQixRLEVBQVU7QUFDdkIsVUFBSWlCLFNBQVNDLE1BQVQsQ0FBZ0JDLElBQXBCLEVBQTBCO0FBQ3hCLGFBQUtDLEdBQUwsQ0FBUyxnQkFBTUMsUUFBTixDQUFlSixTQUFTQyxNQUFULENBQWdCQyxJQUFoQixDQUFxQkcsSUFBcEMsQ0FBVCxFQUFvRHRCLFFBQXBEO0FBQ0QsT0FGRCxNQUVPO0FBQ0wsWUFBTXVCLFFBQVEsSUFBSUMsS0FBSixDQUFVLHdDQUFWLENBQWQ7QUFDQXhCLGlCQUFTdUIsS0FBVCxFQUFnQixJQUFoQjtBQUNEO0FBQ0Y7O0FBRUQ7Ozs7Ozs7Ozs7eUJBT0tOLFEsRUFBVWpCLFEsRUFBVTtBQUN2QixVQUFJaUIsU0FBU0MsTUFBVCxDQUFnQk8sSUFBcEIsRUFBMEI7QUFDeEIsYUFBS0wsR0FBTCxDQUFTLGdCQUFNQyxRQUFOLENBQWVKLFNBQVNDLE1BQVQsQ0FBZ0JPLElBQWhCLENBQXFCSCxJQUFwQyxDQUFULEVBQW9EdEIsUUFBcEQ7QUFDRCxPQUZELE1BRU87QUFDTCxZQUFNdUIsUUFBUSxJQUFJQyxLQUFKLENBQVUsNENBQVYsQ0FBZDtBQUNBeEIsaUJBQVN1QixLQUFULEVBQWdCLElBQWhCO0FBQ0Q7QUFDRjs7QUFFRDs7Ozs7Ozs7OzsyQkFPT0csTSxFQUFRM0IsTSxFQUFRQyxRLEVBQVU7QUFDL0JELGVBQVNFLEtBQUtDLFNBQUwsQ0FBZUgsTUFBZixDQUFUOztBQUVBLFVBQUlJLFNBQVM7QUFDWEMsY0FBTSxLQUFLUCxPQUFMLENBQWFPLElBQWIsSUFBcUIsZUFEaEI7QUFFWEMsY0FBU1YsTUFBTVcsSUFBZixTQUF1Qm9CLE1BRlo7QUFHWG5CLGdCQUFRLEtBSEc7QUFJWEMsY0FBTVQsTUFKSztBQUtYVSxpQkFBUztBQUNQLDBCQUFnQixrQkFEVDtBQUVQQyxxQ0FBeUIsS0FBS1osS0FBTCxDQUFXYSxXQUFYO0FBRmxCO0FBTEUsT0FBYjs7QUFXQSxXQUFLZCxPQUFMLENBQWFlLFVBQWIsQ0FBd0JDLE9BQXhCLENBQWdDVixNQUFoQyxFQUF3Q0gsUUFBeEM7QUFDRDs7QUFFRDs7Ozs7Ozs7OzRCQU1PMEIsTSxFQUFRMUIsUSxFQUFVO0FBQ3ZCLFVBQUlHLFNBQVM7QUFDWEMsY0FBTSxLQUFLUCxPQUFMLENBQWFPLElBQWIsSUFBcUIsZUFEaEI7QUFFWEMsY0FBU1YsTUFBTVcsSUFBZixTQUF1Qm9CLE1BRlo7QUFHWG5CLGdCQUFRLFFBSEc7QUFJWEUsaUJBQVM7QUFDUCwwQkFBZ0Isa0JBRFQ7QUFFUEMscUNBQXlCLEtBQUtaLEtBQUwsQ0FBV2EsV0FBWDtBQUZsQjtBQUpFLE9BQWI7O0FBVUEsV0FBS2QsT0FBTCxDQUFhZSxVQUFiLENBQXdCQyxPQUF4QixDQUFnQ1YsTUFBaEMsRUFBd0NILFFBQXhDO0FBQ0Q7Ozs7OztrQkFHWUwsSyIsImZpbGUiOiJVc2Vycy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbmV4bW8gZnJvbSBcIi4vaW5kZXhcIjtcblxuaW1wb3J0IFV0aWxzIGZyb20gXCIuL1V0aWxzXCI7XG5cbi8qKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBgdXNlcnNgIGVuZHBvaW50LlxuICovXG5jbGFzcyBVc2VycyB7XG4gIHN0YXRpYyBnZXQgUEFUSCgpIHtcbiAgICByZXR1cm4gXCIvdjAuMS91c2Vyc1wiO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Q3JlZGVudGlhbHN9IGNyZWRlbnRpYWxzXG4gICAqICAgIGNyZWRlbnRpYWxzIHRvIGJlIHVzZWQgd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBBUEkuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gICAqICAgIEFkZGl0aW9uYWwgVXNlcnMgb3B0aW9ucy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNyZWRlbnRpYWxzLCBvcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmNyZWRzID0gY3JlZGVudGlhbHM7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFBhcmFtZXRlcnMgdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSB1c2VyLiBTZWUgaHR0cHM6Ly9lYS5kZXZlbG9wZXIubmV4bW8uY29tL2FwaS9jb252ZXJzYXRpb24jY3JlYXRlLWEtdXNlciBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMuXG4gICAqL1xuICBjcmVhdGUocGFyYW1zLCBjYWxsYmFjaykge1xuICAgIHBhcmFtcyA9IEpTT04uc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICB2YXIgY29uZmlnID0ge1xuICAgICAgaG9zdDogdGhpcy5vcHRpb25zLmhvc3QgfHwgXCJhcGkubmV4bW8uY29tXCIsXG4gICAgICBwYXRoOiBVc2Vycy5QQVRILFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmNyZWRzLmdlbmVyYXRlSnd0KCl9YFxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChjb25maWcsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gZXhpc3RpbmcgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSBxdWVyeSAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHVzZXIgdG8gcmV0cmlldmVcbiAgICogICAgICAgICAgICAgICBvciBhIHNldCBvZiBmaWx0ZXIgcGFyYW1ldGVycyBmb3IgdGhlIHF1ZXJ5LiBGb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgKiAgICAgICAgICAgICAgIHNlZSBodHRwczovL2VhLmRldmVsb3Blci5uZXhtby5jb20vYXBpL2NvbnZlcnNhdGlvbiNyZXRyaWV2ZS1hbGwtdXNlcnNcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMuXG4gICAqL1xuICBnZXQocXVlcnksIGNhbGxiYWNrKSB7XG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgIGhvc3Q6IHRoaXMub3B0aW9ucy5ob3N0IHx8IFwiYXBpLm5leG1vLmNvbVwiLFxuICAgICAgcGF0aDogVXRpbHMuY3JlYXRlUGF0aFdpdGhRdWVyeShVc2Vycy5QQVRILCBxdWVyeSksXG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICBib2R5OiB1bmRlZmluZWQsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5jcmVkcy5nZW5lcmF0ZUp3dCgpfWBcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoY29uZmlnLCBjYWxsYmFjayk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5leHQgcGFnZSBvZiB1c2VycyBvciBjb252ZXJzYXRpb25zIGZvciBhIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBmcm9tIGEgcGFnaW5hdGVkIHVzZXJzIGxpc3RcbiAgICogICAgICAgICAgICAgICBzZWUgaHR0cHM6Ly9lYS5kZXZlbG9wZXIubmV4bW8uY29tL2FwaS9jb252ZXJzYXRpb24jcmV0cmlldmUtYWxsLXVzZXJzXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIC0gZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJlcXVlc3QgY29tcGxldGVzLlxuICAgKi9cblxuICBuZXh0KHJlc3BvbnNlLCBjYWxsYmFjaykge1xuICAgIGlmIChyZXNwb25zZS5fbGlua3MubmV4dCkge1xuICAgICAgdGhpcy5nZXQoVXRpbHMuZ2V0UXVlcnkocmVzcG9uc2UuX2xpbmtzLm5leHQuaHJlZiksIGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXCJUaGUgcmVzcG9uc2UgZG9lc24ndCBoYXZlIGEgbmV4dCBwYWdlLlwiKTtcbiAgICAgIGNhbGxiYWNrKGVycm9yLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByZXZpb3VzIHBhZ2Ugb2YgdXNlcnMgb3IgY29udmVyc2F0aW9ucyBmb3IgYSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2UgZnJvbSBhIHBhZ2luYXRlZCB1c2VycyBsaXN0XG4gICAqICAgICAgICAgICAgICAgc2VlIGh0dHBzOi8vZWEuZGV2ZWxvcGVyLm5leG1vLmNvbS9hcGkvY29udmVyc2F0aW9uI3JldHJpZXZlLWFsbC11c2Vyc1xuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFjayAtIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByZXF1ZXN0IGNvbXBsZXRlcy5cbiAgICovXG4gIHByZXYocmVzcG9uc2UsIGNhbGxiYWNrKSB7XG4gICAgaWYgKHJlc3BvbnNlLl9saW5rcy5wcmV2KSB7XG4gICAgICB0aGlzLmdldChVdGlscy5nZXRRdWVyeShyZXNwb25zZS5fbGlua3MucHJldi5ocmVmKSwgY2FsbGJhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihcIlRoZSByZXNwb25zZSBkb2Vzbid0IGhhdmUgYSBwcmV2aW91cyBwYWdlLlwiKTtcbiAgICAgIGNhbGxiYWNrKGVycm9yLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGFuIGV4aXN0aW5nIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1c2VySWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB1c2VyIHRvIHVwZGF0ZS5cbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFBhcmFtZXRlcnMgdXNlZCB3aGVuIHVwZGF0aW5nIHRoZSBjb252ZXJzYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIC0gZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJlcXVlc3QgY29tcGxldGVzLlxuICAgKi9cbiAgdXBkYXRlKHVzZXJJZCwgcGFyYW1zLCBjYWxsYmFjaykge1xuICAgIHBhcmFtcyA9IEpTT04uc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICB2YXIgY29uZmlnID0ge1xuICAgICAgaG9zdDogdGhpcy5vcHRpb25zLmhvc3QgfHwgXCJhcGkubmV4bW8uY29tXCIsXG4gICAgICBwYXRoOiBgJHtVc2Vycy5QQVRIfS8ke3VzZXJJZH1gLFxuICAgICAgbWV0aG9kOiBcIlBVVFwiLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuY3JlZHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoY29uZmlnLCBjYWxsYmFjayk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRhIGFuIGV4aXN0aW5nIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1c2VySWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB1c2VyIHRvIGRlbGV0ZS5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMuXG4gICAqL1xuICBkZWxldGUodXNlcklkLCBjYWxsYmFjaykge1xuICAgIHZhciBjb25maWcgPSB7XG4gICAgICBob3N0OiB0aGlzLm9wdGlvbnMuaG9zdCB8fCBcImFwaS5uZXhtby5jb21cIixcbiAgICAgIHBhdGg6IGAke1VzZXJzLlBBVEh9LyR7dXNlcklkfWAsXG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5jcmVkcy5nZW5lcmF0ZUp3dCgpfWBcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChjb25maWcsIGNhbGxiYWNrKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBVc2VycztcbiJdfQ== |
\ | No newline at end of file |