auth0 2.37.0 → 2.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +33 -11
  3. package/package.json +22 -14
  4. package/src/Auth0RestClient.js +72 -71
  5. package/src/RetryRestClient.js +78 -81
  6. package/src/auth/DatabaseAuthenticator.js +242 -259
  7. package/src/auth/OAUthWithIDTokenValidation.js +99 -103
  8. package/src/auth/OAuthAuthenticator.js +325 -344
  9. package/src/auth/PasswordlessAuthenticator.js +237 -252
  10. package/src/auth/TokensManager.js +231 -246
  11. package/src/auth/UsersManager.js +149 -160
  12. package/src/auth/idToken.js +22 -19
  13. package/src/auth/index.js +510 -583
  14. package/src/errors.js +23 -23
  15. package/src/index.js +3 -2
  16. package/src/management/ActionsManager.js +503 -585
  17. package/src/management/BlacklistedTokensManager.js +77 -84
  18. package/src/management/BrandingManager.js +141 -163
  19. package/src/management/ClientGrantsManager.js +132 -145
  20. package/src/management/ClientsManager.js +145 -161
  21. package/src/management/ConnectionsManager.js +215 -239
  22. package/src/management/CustomDomainsManager.js +140 -157
  23. package/src/management/DeviceCredentialsManager.js +95 -111
  24. package/src/management/EmailProviderManager.js +110 -128
  25. package/src/management/EmailTemplatesManager.js +96 -112
  26. package/src/management/GrantsManager.js +94 -101
  27. package/src/management/GuardianManager.js +381 -455
  28. package/src/management/HooksManager.js +283 -325
  29. package/src/management/JobsManager.js +310 -343
  30. package/src/management/LogStreamsManager.js +142 -158
  31. package/src/management/LogsManager.js +92 -99
  32. package/src/management/ManagementTokenProvider.js +112 -120
  33. package/src/management/MigrationsManager.js +81 -90
  34. package/src/management/OrganizationsManager.js +686 -784
  35. package/src/management/PromptsManager.js +160 -182
  36. package/src/management/ResourceServersManager.js +143 -160
  37. package/src/management/RolesManager.js +323 -369
  38. package/src/management/RulesConfigsManager.js +94 -110
  39. package/src/management/RulesManager.js +154 -176
  40. package/src/management/StatsManager.js +87 -103
  41. package/src/management/TenantManager.js +81 -97
  42. package/src/management/TicketsManager.js +107 -115
  43. package/src/management/UserBlocksManager.js +135 -162
  44. package/src/management/UsersManager.js +729 -852
  45. package/src/management/index.js +3094 -3625
  46. package/src/utils.js +31 -60
@@ -1,411 +1,365 @@
1
- var ArgumentError = require('rest-facade').ArgumentError;
2
- var utils = require('../utils');
3
- var Auth0RestClient = require('../Auth0RestClient');
4
- var RetryRestClient = require('../RetryRestClient');
1
+ const { ArgumentError } = require('rest-facade');
2
+ const Auth0RestClient = require('../Auth0RestClient');
3
+ const RetryRestClient = require('../RetryRestClient');
5
4
 
6
5
  /**
7
- * Simple facade for consuming a REST API endpoint.
8
- * @external RestClient
9
- * @see https://github.com/ngonzalvez/rest-facade
10
- */
11
-
12
- /**
13
- * @class RolesManager
14
6
  * The role class provides a simple abstraction for performing CRUD operations
15
7
  * on Auth0 RolesManager.
16
- * @constructor
17
- * @memberOf module:management
18
- *
19
- * @param {Object} options The client options.
20
- * @param {String} options.baseUrl The URL of the API.
21
- * @param {Object} [options.headers] Headers to be included in all requests.
22
- * @param {Object} [options.retry] Retry Policy Config
23
8
  */
24
- var RolesManager = function(options) {
25
- if (options === null || typeof options !== 'object') {
26
- throw new ArgumentError('Must provide manager options');
27
- }
9
+ class RolesManager {
10
+ /**
11
+ * @param {object} options The client options.
12
+ * @param {string} options.baseUrl The URL of the API.
13
+ * @param {object} [options.headers] Headers to be included in all requests.
14
+ * @param {object} [options.retry] Retry Policy Config
15
+ */
16
+ constructor(options) {
17
+ if (options === null || typeof options !== 'object') {
18
+ throw new ArgumentError('Must provide manager options');
19
+ }
28
20
 
29
- if (options.baseUrl === null || options.baseUrl === undefined) {
30
- throw new ArgumentError('Must provide a base URL for the API');
31
- }
21
+ if (options.baseUrl === null || options.baseUrl === undefined) {
22
+ throw new ArgumentError('Must provide a base URL for the API');
23
+ }
24
+
25
+ if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
26
+ throw new ArgumentError('The provided base URL is invalid');
27
+ }
28
+
29
+ /**
30
+ * Options object for the Rest Client instance.
31
+ *
32
+ * @type {object}
33
+ */
34
+ const clientOptions = {
35
+ headers: options.headers,
36
+ query: { repeatParams: false },
37
+ };
38
+
39
+ /**
40
+ * Provides an abstraction layer for performing CRUD operations on
41
+ * {@link https://auth0.com/docs/api/v2#!/RolesManager Auth0 RolesManagers}.
42
+ *
43
+ * @type {external:RestClient}
44
+ */
45
+ const auth0RestClient = new Auth0RestClient(
46
+ `${options.baseUrl}/roles/:id`,
47
+ clientOptions,
48
+ options.tokenProvider
49
+ );
50
+ this.resource = new RetryRestClient(auth0RestClient, options.retry);
51
+
52
+ const permissionsInRoleClient = new Auth0RestClient(
53
+ `${options.baseUrl}/roles/:id/permissions`,
54
+ clientOptions,
55
+ options.tokenProvider
56
+ );
57
+ this.permissions = new RetryRestClient(permissionsInRoleClient, options.retry);
32
58
 
33
- if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
34
- throw new ArgumentError('The provided base URL is invalid');
59
+ const usersInRoleClient = new Auth0RestClient(
60
+ `${options.baseUrl}/roles/:id/users`,
61
+ clientOptions,
62
+ options.tokenProvider
63
+ );
64
+ this.users = new RetryRestClient(usersInRoleClient, options.retry);
35
65
  }
36
66
 
37
67
  /**
38
- * Options object for the Rest Client instance.
68
+ * Create a new role.
39
69
  *
40
- * @type {Object}
70
+ * @example
71
+ * management.roles.create(data, function (err) {
72
+ * if (err) {
73
+ * // Handle error.
74
+ * }
75
+ *
76
+ * // Role created.
77
+ * });
78
+ * @param {object} data Role data object.
79
+ * @param {Function} [cb] Callback function.
80
+ * @returns {Promise|undefined}
41
81
  */
42
- var clientOptions = {
43
- headers: options.headers,
44
- query: { repeatParams: false }
45
- };
82
+ create(...args) {
83
+ return this.resource.create(...args);
84
+ }
46
85
 
47
86
  /**
48
- * Provides an abstraction layer for performing CRUD operations on
49
- * {@link https://auth0.com/docs/api/v2#!/RolesManager Auth0 RolesManagers}.
87
+ * Get all roles.
88
+ *
89
+ * @example <caption>
90
+ * This method takes an optional object as first argument that may be used to
91
+ * specify pagination settings. If pagination options are not present,
92
+ * the first page of a limited number of results will be returned.
93
+ * </caption>
50
94
  *
51
- * @type {external:RestClient}
95
+ * // Pagination settings.
96
+ * var params = {
97
+ * per_page: 10,
98
+ * page: 0
99
+ * };
100
+ *
101
+ * management.roles.getAll(params, function (err, roles) {
102
+ * console.log(roles.length);
103
+ * });
104
+ * @param {object} [params] Roles parameters.
105
+ * @param {number} [params.per_page] Number of results per page.
106
+ * @param {number} [params.page] Page number, zero indexed.
107
+ * @param {Function} [cb] Callback function.
108
+ * @returns {Promise|undefined}
52
109
  */
53
- var auth0RestClient = new Auth0RestClient(
54
- options.baseUrl + '/roles/:id',
55
- clientOptions,
56
- options.tokenProvider
57
- );
58
- this.resource = new RetryRestClient(auth0RestClient, options.retry);
59
-
60
- var permissionsInRoleClient = new Auth0RestClient(
61
- options.baseUrl + '/roles/:id/permissions',
62
- clientOptions,
63
- options.tokenProvider
64
- );
65
- this.permissions = new RetryRestClient(permissionsInRoleClient, options.retry);
66
-
67
- var usersInRoleClient = new Auth0RestClient(
68
- options.baseUrl + '/roles/:id/users',
69
- clientOptions,
70
- options.tokenProvider
71
- );
72
- this.users = new RetryRestClient(usersInRoleClient, options.retry);
73
- };
110
+ getAll(...args) {
111
+ return this.resource.getAll(...args);
112
+ }
74
113
 
75
- /**
76
- * Create a new role.
77
- *
78
- * @method create
79
- * @memberOf module:management.RolesManager.prototype
80
- *
81
- * @example
82
- * management.roles.create(data, function (err) {
83
- * if (err) {
84
- * // Handle error.
85
- * }
86
- *
87
- * // Role created.
88
- * });
89
- *
90
- * @param {Object} data Role data object.
91
- * @param {Function} [cb] Callback function.
92
- *
93
- * @return {Promise|undefined}
94
- */
95
- utils.wrapPropertyMethod(RolesManager, 'create', 'resource.create');
114
+ /**
115
+ * Get an Auth0 role.
116
+ *
117
+ * @example
118
+ * management.roles.get({ id: ROLE_ID }, function (err, role) {
119
+ * if (err) {
120
+ * // Handle error.
121
+ * }
122
+ *
123
+ * console.log(role);
124
+ * });
125
+ * @param {object} params Role parameters.
126
+ * @param {string} params.id Role ID.
127
+ * @param {Function} [cb] Callback function.
128
+ * @returns {Promise|undefined}
129
+ */
130
+ get(...args) {
131
+ return this.resource.get(...args);
132
+ }
96
133
 
97
- /**
98
- * Get all roles.
99
- *
100
- * @method getAll
101
- * @memberOf module:management.RolesManager.prototype
102
- *
103
- * @example <caption>
104
- * This method takes an optional object as first argument that may be used to
105
- * specify pagination settings. If pagination options are not present,
106
- * the first page of a limited number of results will be returned.
107
- * </caption>
108
- *
109
- * // Pagination settings.
110
- * var params = {
111
- * per_page: 10,
112
- * page: 0
113
- * };
114
- *
115
- * management.roles.getAll(params, function (err, roles) {
116
- * console.log(roles.length);
117
- * });
118
- *
119
- * @param {Object} [params] Roles parameters.
120
- * @param {Number} [params.per_page] Number of results per page.
121
- * @param {Number} [params.page] Page number, zero indexed.
122
- * @param {Function} [cb] Callback function.
123
- *
124
- * @return {Promise|undefined}
125
- */
126
- utils.wrapPropertyMethod(RolesManager, 'getAll', 'resource.getAll');
134
+ /**
135
+ * Update an existing role.
136
+ *
137
+ * @example
138
+ * var data = { name: 'New name' };
139
+ * var params = { id: ROLE_ID };
140
+ *
141
+ * // Using auth0 instance.
142
+ * management.updateRole(params, data, function (err, role) {
143
+ * if (err) {
144
+ * // Handle error.
145
+ * }
146
+ *
147
+ * console.log(role.name); // 'New name'
148
+ * });
149
+ *
150
+ * // Using the roles manager directly.
151
+ * management.roles.update(params, data, function (err, role) {
152
+ * if (err) {
153
+ * // Handle error.
154
+ * }
155
+ *
156
+ * console.log(role.name); // 'New name'
157
+ * });
158
+ * @param {object} params Role parameters.
159
+ * @param {string} params.id Role ID.
160
+ * @param {object} data Updated role data.
161
+ * @param {Function} [cb] Callback function.
162
+ * @returns {Promise|undefined}
163
+ */
164
+ update(...args) {
165
+ return this.resource.patch(...args);
166
+ }
127
167
 
128
- /**
129
- * Get an Auth0 role.
130
- *
131
- * @method get
132
- * @memberOf module:management.RolesManager.prototype
133
- *
134
- * @example
135
- * management.roles.get({ id: ROLE_ID }, function (err, role) {
136
- * if (err) {
137
- * // Handle error.
138
- * }
139
- *
140
- * console.log(role);
141
- * });
142
- *
143
- * @param {Object} params Role parameters.
144
- * @param {String} params.id Role ID.
145
- * @param {Function} [cb] Callback function.
146
- *
147
- * @return {Promise|undefined}
148
- */
149
- utils.wrapPropertyMethod(RolesManager, 'get', 'resource.get');
168
+ /**
169
+ * Delete an existing role.
170
+ *
171
+ * @example
172
+ * management.roles.delete({ id: ROLE_ID }, function (err) {
173
+ * if (err) {
174
+ * // Handle error.
175
+ * }
176
+ *
177
+ * // Role deleted.
178
+ * });
179
+ * @param {object} params Role parameters.
180
+ * @param {string} params.id Role ID.
181
+ * @param {Function} [cb] Callback function.
182
+ * @returns {Promise|undefined}
183
+ */
184
+ delete(...args) {
185
+ return this.resource.delete(...args);
186
+ }
150
187
 
151
- /**
152
- * Update an existing role.
153
- *
154
- * @method update
155
- * @memberOf module:management.RolesManager.prototype
156
- *
157
- * @example
158
- * var data = { name: 'New name' };
159
- * var params = { id: ROLE_ID };
160
- *
161
- * // Using auth0 instance.
162
- * management.updateRole(params, data, function (err, role) {
163
- * if (err) {
164
- * // Handle error.
165
- * }
166
- *
167
- * console.log(role.name); // 'New name'
168
- * });
169
- *
170
- * // Using the roles manager directly.
171
- * management.roles.update(params, data, function (err, role) {
172
- * if (err) {
173
- * // Handle error.
174
- * }
175
- *
176
- * console.log(role.name); // 'New name'
177
- * });
178
- *
179
- * @param {Object} params Role parameters.
180
- * @param {String} params.id Role ID.
181
- * @param {Object} data Updated role data.
182
- * @param {Function} [cb] Callback function.
183
- *
184
- * @return {Promise|undefined}
185
- */
186
- utils.wrapPropertyMethod(RolesManager, 'update', 'resource.patch');
188
+ /**
189
+ * Get Permissions in a Role
190
+ *
191
+ * @param params
192
+ * @param callback
193
+ * @example
194
+ * var params = {id : 'ROLE_ID'}
195
+ * @example <caption>
196
+ * This method takes a first argument as the roleId and returns the permissions within that role
197
+ * </caption>
198
+ *
199
+ * management.roles.getPermissions( {id : 'ROLE_ID'}, function (err, permissions) {
200
+ * console.log(permissions);
201
+ * });
202
+ * @param {string} [email] Email address of user(s) to find
203
+ * @param {Function} [cb] Callback function.
204
+ * @returns {Promise|undefined}
205
+ */
206
+ getPermissions(params, callback) {
207
+ return this.permissions.getAll(params, callback);
208
+ }
187
209
 
188
- /**
189
- * Delete an existing role.
190
- *
191
- * @method delete
192
- * @memberOf module:management.RolesManager.prototype
193
- *
194
- * @example
195
- * management.roles.delete({ id: ROLE_ID }, function (err) {
196
- * if (err) {
197
- * // Handle error.
198
- * }
199
- *
200
- * // Role deleted.
201
- * });
202
- *
203
- * @param {Object} params Role parameters.
204
- * @param {String} params.id Role ID.
205
- * @param {Function} [cb] Callback function.
206
- *
207
- * @return {Promise|undefined}
208
- */
209
- utils.wrapPropertyMethod(RolesManager, 'delete', 'resource.delete');
210
+ /**
211
+ * Add permissions in a role
212
+ *
213
+ * @example
214
+ * var params = { id :'ROLE_ID'};
215
+ * var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
216
+ *
217
+ * management.roles.addPermissions(params, data, function (err, user) {
218
+ * if (err) {
219
+ * // Handle error.
220
+ * }
221
+ *
222
+ * // permissions added.
223
+ * });
224
+ * @param {string} params.id ID of the Role.
225
+ * @param {object} data permissions data
226
+ * @param {string} data.permissions Array of permissions
227
+ * @param {string} data.permissions.permission_name Name of a permission
228
+ * @param {string} data.permissions.resource_server_identifier Identifier for a resource
229
+ * @param {Function} [cb] Callback function.
230
+ * @returns {Promise|undefined}
231
+ */
210
232
 
211
- /**
212
- * Get Permissions in a Role
213
- *
214
- * @method getPermissionsInRole
215
- * @memberOf module:management.RolesManager.prototype
216
- *
217
- * @example
218
- * var params = {id : 'ROLE_ID'}
219
- * @example <caption>
220
- * This method takes a first argument as the roleId and returns the permissions within that role
221
- * </caption>
222
- *
223
- * management.roles.getPermissions( {id : 'ROLE_ID'}, function (err, permissions) {
224
- * console.log(permissions);
225
- * });
226
- *
227
- * @param {String} [email] Email address of user(s) to find
228
- * @param {Function} [cb] Callback function.
229
- *
230
- * @return {Promise|undefined}
231
- */
232
- RolesManager.prototype.getPermissions = function(params, callback) {
233
- return this.permissions.getAll(params, callback);
234
- };
233
+ addPermissions(params, data, cb) {
234
+ data = data || {};
235
+ params = params || {};
235
236
 
236
- /**
237
- * Add permissions in a role
238
- *
239
- * @method addPermissions
240
- * @memberOf module:management.RolesManager.prototype
241
- *
242
- * @example
243
- * var params = { id :'ROLE_ID'};
244
- * var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
245
- *
246
- * management.roles.addPermissions(params, data, function (err, user) {
247
- * if (err) {
248
- * // Handle error.
249
- * }
250
- *
251
- * // permissions added.
252
- * });
253
- *
254
- * @param {String} params.id ID of the Role.
255
- * @param {Object} data permissions data
256
- * @param {String} data.permissions Array of permissions
257
- * @param {String} data.permissions.permission_name Name of a permission
258
- * @param {String} data.permissions.resource_server_identifier Identifier for a resource
259
- * @param {Function} [cb] Callback function.
260
- *
261
- * @return {Promise|undefined}
262
- */
237
+ // Require a user ID.
238
+ if (!params.id) {
239
+ throw new ArgumentError('The roleId passed in params cannot be null or undefined');
240
+ }
241
+ if (typeof params.id !== 'string') {
242
+ throw new ArgumentError('The role Id has to be a string');
243
+ }
263
244
 
264
- RolesManager.prototype.addPermissions = function(params, data, cb) {
265
- data = data || {};
266
- params = params || {};
245
+ if (cb && cb instanceof Function) {
246
+ return this.permissions.create(params, data, cb);
247
+ }
267
248
 
268
- // Require a user ID.
269
- if (!params.id) {
270
- throw new ArgumentError('The roleId passed in params cannot be null or undefined');
271
- }
272
- if (typeof params.id !== 'string') {
273
- throw new ArgumentError('The role Id has to be a string');
249
+ return this.permissions.create(params, data);
274
250
  }
275
251
 
276
- if (cb && cb instanceof Function) {
277
- return this.permissions.create(params, data, cb);
278
- }
252
+ /**
253
+ * Remove permissions from a role
254
+ *
255
+ * @example
256
+ * var params = { id :'ROLE_ID'};
257
+ * var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
258
+ *
259
+ * management.roles.removePermissions(params, data, function (err, user) {
260
+ * if (err) {
261
+ * // Handle error.
262
+ * }
263
+ *
264
+ * // permissions added.
265
+ * });
266
+ * @param {string} params.id ID of the Role.
267
+ * @param {object} data permissions data
268
+ * @param {string} data.permissions Array of permissions
269
+ * @param {string} data.permissions.permission_name Name of a permission
270
+ * @param {string} data.permissions.resource_server_identifier Identifier for a resource
271
+ * @param {Function} [cb] Callback function.
272
+ * @returns {Promise|undefined}
273
+ */
279
274
 
280
- return this.permissions.create(params, data);
281
- };
275
+ removePermissions(params, data, cb) {
276
+ data = data || {};
277
+ params = params || {};
282
278
 
283
- /**
284
- * Remove permissions from a role
285
- *
286
- * @method removePermissions
287
- * @memberOf module:management.RolesManager.prototype
288
- *
289
- * @example
290
- * var params = { id :'ROLE_ID'};
291
- * var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
292
- *
293
- * management.roles.removePermissions(params, data, function (err, user) {
294
- * if (err) {
295
- * // Handle error.
296
- * }
297
- *
298
- * // permissions added.
299
- * });
300
- *
301
- * @param {String} params.id ID of the Role.
302
- * @param {Object} data permissions data
303
- * @param {String} data.permissions Array of permissions
304
- * @param {String} data.permissions.permission_name Name of a permission
305
- * @param {String} data.permissions.resource_server_identifier Identifier for a resource
306
- * @param {Function} [cb] Callback function.
307
- *
308
- * @return {Promise|undefined}
309
- */
279
+ // Require a user ID.
280
+ if (!params.id) {
281
+ throw new ArgumentError('The roleId passed in params cannot be null or undefined');
282
+ }
283
+ if (typeof params.id !== 'string') {
284
+ throw new ArgumentError('The role Id has to be a string');
285
+ }
310
286
 
311
- RolesManager.prototype.removePermissions = function(params, data, cb) {
312
- data = data || {};
313
- params = params || {};
287
+ if (cb && cb instanceof Function) {
288
+ return this.permissions.delete(params, data, cb);
289
+ }
314
290
 
315
- // Require a user ID.
316
- if (!params.id) {
317
- throw new ArgumentError('The roleId passed in params cannot be null or undefined');
318
- }
319
- if (typeof params.id !== 'string') {
320
- throw new ArgumentError('The role Id has to be a string');
291
+ return this.permissions.delete(params, data);
321
292
  }
322
293
 
323
- if (cb && cb instanceof Function) {
324
- return this.permissions.delete(params, data, cb);
294
+ /**
295
+ * Get Users in a Role
296
+ *
297
+ * @example
298
+ * var params = {
299
+ * roleId: 'ROLE_ID',
300
+ * per_page: 50,
301
+ * page: 0
302
+ * };
303
+ * @example <caption>
304
+ * This method takes a roleId and returns all users within that role. Supports offset (page, per_page) and checkpoint pagination (from, take). You must use checkpoint pagination to retrieve beyond the first 1000 records.
305
+ * </caption>
306
+ *
307
+ * management.roles.getUsers(params, function (err, users) {
308
+ * console.log(users);
309
+ * });
310
+ * @param {string} [roleId] Id of the role
311
+ * @param {number} [params.per_page] Number of results per page.
312
+ * @param {number} [params.page] Page number, zero indexed.
313
+ * @param {string} [params.from] For checkpoint pagination, the Id from which to start selection from.
314
+ * @param {number} [params.take] For checkpoint pagination, the number of entries to retrieve. Default 50.
315
+ * @param {Function} [cb] Callback function.
316
+ * @returns {Promise|undefined}
317
+ */
318
+ getUsers(params, callback) {
319
+ return this.users.getAll(params, callback);
325
320
  }
326
321
 
327
- return this.permissions.delete(params, data);
328
- };
329
-
330
- /**
331
- * Get Users in a Role
332
- *
333
- * @method getUsers
334
- * @memberOf module:management.RolesManager.prototype
335
- *
336
- * @example
337
- * var params = {
338
- * roleId: 'ROLE_ID',
339
- * per_page: 50,
340
- * page: 0
341
- * };
342
- *
343
- * @example <caption>
344
- * This method takes a roleId and returns all users within that role. Supports offset (page, per_page) and checkpoint pagination (from, take). You must use checkpoint pagination to retrieve beyond the first 1000 records.
345
- * </caption>
346
- *
347
- * management.roles.getUsers(params, function (err, users) {
348
- * console.log(users);
349
- * });
350
- *
351
- * @param {String} [roleId] Id of the role
352
- * @param {Number} [params.per_page] Number of results per page.
353
- * @param {Number} [params.page] Page number, zero indexed.
354
- * @param {String} [params.from] For checkpoint pagination, the Id from which to start selection from.
355
- * @param {Number} [params.take] For checkpoint pagination, the number of entries to retrieve. Default 50.
356
- * @param {Function} [cb] Callback function.
357
- *
358
- * @return {Promise|undefined}
359
- */
360
- RolesManager.prototype.getUsers = function(params, callback) {
361
- return this.users.getAll(params, callback);
362
- };
322
+ /**
323
+ * Assign users to a role
324
+ *
325
+ * @example
326
+ * var params = { id :'ROLE_ID'};
327
+ * var data = { "users" : ["userId1","userId2"]};
328
+ *
329
+ * management.roles.assignUsers(params, data, function (err, user) {
330
+ * if (err) {
331
+ * // Handle error.
332
+ * }
333
+ *
334
+ * // permissions added.
335
+ * });
336
+ * @param {string} params.id ID of the Role.
337
+ * @param {object} data permissions data
338
+ * @param {string} data.permissions Array of permissions
339
+ * @param {string} data.permissions.permission_name Name of a permission
340
+ * @param {string} data.permissions.resource_server_identifier Identifier for a resource
341
+ * @param {Function} [cb] Callback function.
342
+ * @returns {Promise|undefined}
343
+ */
363
344
 
364
- /**
365
- * Assign users to a role
366
- *
367
- * @method assignUsers
368
- * @memberOf module:management.RolesManager.prototype
369
- *
370
- * @example
371
- * var params = { id :'ROLE_ID'};
372
- * var data = { "users" : ["userId1","userId2"]};
373
- *
374
- * management.roles.assignUsers(params, data, function (err, user) {
375
- * if (err) {
376
- * // Handle error.
377
- * }
378
- *
379
- * // permissions added.
380
- * });
381
- *
382
- * @param {String} params.id ID of the Role.
383
- * @param {Object} data permissions data
384
- * @param {String} data.permissions Array of permissions
385
- * @param {String} data.permissions.permission_name Name of a permission
386
- * @param {String} data.permissions.resource_server_identifier Identifier for a resource
387
- * @param {Function} [cb] Callback function.
388
- *
389
- * @return {Promise|undefined}
390
- */
345
+ assignUsers(params, data, cb) {
346
+ data = data || {};
347
+ params = params || {};
391
348
 
392
- RolesManager.prototype.assignUsers = function(params, data, cb) {
393
- data = data || {};
394
- params = params || {};
349
+ // Require a user ID.
350
+ if (!params.id) {
351
+ throw new ArgumentError('The roleId passed in params cannot be null or undefined');
352
+ }
353
+ if (typeof params.id !== 'string') {
354
+ throw new ArgumentError('The role Id has to be a string');
355
+ }
395
356
 
396
- // Require a user ID.
397
- if (!params.id) {
398
- throw new ArgumentError('The roleId passed in params cannot be null or undefined');
399
- }
400
- if (typeof params.id !== 'string') {
401
- throw new ArgumentError('The role Id has to be a string');
402
- }
357
+ if (cb && cb instanceof Function) {
358
+ return this.users.create(params, data, cb);
359
+ }
403
360
 
404
- if (cb && cb instanceof Function) {
405
- return this.permissions.create(params, data, cb);
361
+ return this.users.create(params, data);
406
362
  }
407
-
408
- return this.users.create(params, data);
409
- };
363
+ }
410
364
 
411
365
  module.exports = RolesManager;