@docbrasil/api-systemmanager 1.1.77 → 1.1.79
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.
- package/api/admin/user.js +413 -10
- package/dist/bundle.cjs +413 -10
- package/dist/bundle.mjs +1 -1
- package/doc/api.md +284 -0
- package/docs/AdminUser.html +3339 -294
- package/docs/admin_user.js.html +413 -10
- package/package.json +1 -1
package/dist/bundle.cjs
CHANGED
|
@@ -14416,6 +14416,46 @@ class AdminUser {
|
|
|
14416
14416
|
const self = this;
|
|
14417
14417
|
self.parent = options.parent;
|
|
14418
14418
|
self.client = self.parent.dispatch.getClient();
|
|
14419
|
+
self._orgId = null;
|
|
14420
|
+
}
|
|
14421
|
+
|
|
14422
|
+
/**
|
|
14423
|
+
* @description Set the organization ID for org-scoped API calls
|
|
14424
|
+
* @param {string} orgId - Organization ID
|
|
14425
|
+
* @return {AdminUser} this instance for chaining
|
|
14426
|
+
* @public
|
|
14427
|
+
*/
|
|
14428
|
+
setOrgId(orgId) {
|
|
14429
|
+
this._orgId = orgId;
|
|
14430
|
+
return this;
|
|
14431
|
+
}
|
|
14432
|
+
|
|
14433
|
+
/**
|
|
14434
|
+
* @description Get the base path for user admin API calls.
|
|
14435
|
+
* When orgId is set, uses org-scoped endpoints.
|
|
14436
|
+
* When orgId is not set, falls back to legacy admin endpoints.
|
|
14437
|
+
* @return {string} base path
|
|
14438
|
+
* @private
|
|
14439
|
+
*/
|
|
14440
|
+
_basePath() {
|
|
14441
|
+
if (this._orgId) {
|
|
14442
|
+
return `/api/organizations/${this._orgId}/adminusers`;
|
|
14443
|
+
}
|
|
14444
|
+
return '/admin/users';
|
|
14445
|
+
}
|
|
14446
|
+
|
|
14447
|
+
/**
|
|
14448
|
+
* @description Get the base path for org-specific operations (groups, orgchart).
|
|
14449
|
+
* When orgId is set, uses org-scoped endpoints.
|
|
14450
|
+
* @param {string} orgId - Organization ID for the operation
|
|
14451
|
+
* @return {string} base path
|
|
14452
|
+
* @private
|
|
14453
|
+
*/
|
|
14454
|
+
_orgPath(orgId) {
|
|
14455
|
+
if (this._orgId) {
|
|
14456
|
+
return `/api/organizations/${orgId}/adminusers`;
|
|
14457
|
+
}
|
|
14458
|
+
return `/admin/organizations/${orgId}`;
|
|
14419
14459
|
}
|
|
14420
14460
|
|
|
14421
14461
|
/**
|
|
@@ -14472,7 +14512,7 @@ class AdminUser {
|
|
|
14472
14512
|
Joi__default["default"].assert(userId, Joi__default["default"].string().required());
|
|
14473
14513
|
Joi__default["default"].assert(session, Joi__default["default"].string().required());
|
|
14474
14514
|
|
|
14475
|
-
const apiCall = self.client.get(
|
|
14515
|
+
const apiCall = self.client.get(`${self._basePath()}/${userId}`, self._setHeader(session));
|
|
14476
14516
|
return self._returnData(await apiCall);
|
|
14477
14517
|
} catch (ex) {
|
|
14478
14518
|
throw ex;
|
|
@@ -14543,7 +14583,7 @@ class AdminUser {
|
|
|
14543
14583
|
Joi__default["default"].assert(session, Joi__default["default"].string().required());
|
|
14544
14584
|
|
|
14545
14585
|
const { userId, ...payload } = params;
|
|
14546
|
-
const apiCall = self.client.put(
|
|
14586
|
+
const apiCall = self.client.put(`${self._basePath()}/${userId}/password`, payload, self._setHeader(session));
|
|
14547
14587
|
return self._returnData(await apiCall);
|
|
14548
14588
|
} catch (ex) {
|
|
14549
14589
|
throw ex;
|
|
@@ -14573,7 +14613,7 @@ class AdminUser {
|
|
|
14573
14613
|
Joi__default["default"].assert(session, Joi__default["default"].string().required());
|
|
14574
14614
|
|
|
14575
14615
|
const payload = { email };
|
|
14576
|
-
const apiCall = self.client.post(
|
|
14616
|
+
const apiCall = self.client.post(`${self._basePath()}/email/exist`, payload, self._setHeader(session));
|
|
14577
14617
|
return self._returnData(await apiCall);
|
|
14578
14618
|
} catch (ex) {
|
|
14579
14619
|
throw ex;
|
|
@@ -14605,7 +14645,84 @@ class AdminUser {
|
|
|
14605
14645
|
Joi__default["default"].assert(payload, Joi__default["default"].object().required(), 'Payload to update');
|
|
14606
14646
|
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session user admin');
|
|
14607
14647
|
|
|
14608
|
-
const apiCall = self.client.put(
|
|
14648
|
+
const apiCall = self.client.put(`${self._basePath()}/${userId}`, payload, self._setHeader(session));
|
|
14649
|
+
return self._returnData(await apiCall);
|
|
14650
|
+
} catch (ex) {
|
|
14651
|
+
throw ex;
|
|
14652
|
+
}
|
|
14653
|
+
}
|
|
14654
|
+
|
|
14655
|
+
/**
|
|
14656
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14657
|
+
* @description Create a new user
|
|
14658
|
+
* @param {object} payload User data to create
|
|
14659
|
+
* @param {string} payload.name Full name (required)
|
|
14660
|
+
* @param {string} payload.username Username (required)
|
|
14661
|
+
* @param {string} payload.email Email (required)
|
|
14662
|
+
* @param {string} payload.orgId Primary organization ID (required)
|
|
14663
|
+
* @param {array} [payload.orgIds] Organization IDs
|
|
14664
|
+
* @param {array} [payload.role=[2]] Security roles
|
|
14665
|
+
* @param {string} [payload.password] Initial password
|
|
14666
|
+
* @param {string} session JWT session token
|
|
14667
|
+
* @return {Promise<object>} Created user document
|
|
14668
|
+
* @public
|
|
14669
|
+
* @async
|
|
14670
|
+
* @example
|
|
14671
|
+
*
|
|
14672
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
14673
|
+
* const api = new API();
|
|
14674
|
+
* const payload = {
|
|
14675
|
+
* name: 'Maria Silva',
|
|
14676
|
+
* username: 'maria.silva',
|
|
14677
|
+
* email: 'maria@example.com',
|
|
14678
|
+
* orgId: '5edd11c46b6ce9729c2c297c',
|
|
14679
|
+
* role: [2]
|
|
14680
|
+
* };
|
|
14681
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
14682
|
+
* await api.admin.user.create(payload, session);
|
|
14683
|
+
*/
|
|
14684
|
+
async create(payload, session) {
|
|
14685
|
+
const self = this;
|
|
14686
|
+
|
|
14687
|
+
try {
|
|
14688
|
+
Joi__default["default"].assert(payload, Joi__default["default"].object().required(), 'User data to create');
|
|
14689
|
+
Joi__default["default"].assert(payload.name, Joi__default["default"].string().required(), 'Full name');
|
|
14690
|
+
Joi__default["default"].assert(payload.username, Joi__default["default"].string().required(), 'Username');
|
|
14691
|
+
Joi__default["default"].assert(payload.email, Joi__default["default"].string().email().required(), 'Email');
|
|
14692
|
+
Joi__default["default"].assert(payload.orgId, Joi__default["default"].string().required(), 'Primary organization ID');
|
|
14693
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
14694
|
+
|
|
14695
|
+
const apiCall = self.client.put(self._basePath(), payload, self._setHeader(session));
|
|
14696
|
+
return self._returnData(await apiCall);
|
|
14697
|
+
} catch (ex) {
|
|
14698
|
+
throw ex;
|
|
14699
|
+
}
|
|
14700
|
+
}
|
|
14701
|
+
|
|
14702
|
+
/**
|
|
14703
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14704
|
+
* @description Remove a user
|
|
14705
|
+
* @param {string} userId User ID to remove (required)
|
|
14706
|
+
* @param {string} session JWT session token
|
|
14707
|
+
* @return {Promise<object>} Removal confirmation
|
|
14708
|
+
* @public
|
|
14709
|
+
* @async
|
|
14710
|
+
* @example
|
|
14711
|
+
*
|
|
14712
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
14713
|
+
* const api = new API();
|
|
14714
|
+
* const userId = '55e4a3bd6be6b45210833fae';
|
|
14715
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
14716
|
+
* await api.admin.user.remove(userId, session);
|
|
14717
|
+
*/
|
|
14718
|
+
async remove(userId, session) {
|
|
14719
|
+
const self = this;
|
|
14720
|
+
|
|
14721
|
+
try {
|
|
14722
|
+
Joi__default["default"].assert(userId, Joi__default["default"].string().required(), 'User ID');
|
|
14723
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
14724
|
+
|
|
14725
|
+
const apiCall = self.client.delete(`${self._basePath()}/${userId}`, self._setHeader(session));
|
|
14609
14726
|
return self._returnData(await apiCall);
|
|
14610
14727
|
} catch (ex) {
|
|
14611
14728
|
throw ex;
|
|
@@ -14633,7 +14750,7 @@ class AdminUser {
|
|
|
14633
14750
|
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session user admin');
|
|
14634
14751
|
|
|
14635
14752
|
const payload = { email };
|
|
14636
|
-
const apiCall = self.client.post(
|
|
14753
|
+
const apiCall = self.client.post(`${self._basePath()}/change/password`, payload, self._setHeader(session));
|
|
14637
14754
|
|
|
14638
14755
|
return self._returnData(await apiCall);
|
|
14639
14756
|
} catch (ex) {
|
|
@@ -14666,7 +14783,7 @@ class AdminUser {
|
|
|
14666
14783
|
Joi__default["default"].assert(payload.newPassword, Joi__default["default"].string().required(), 'New password');
|
|
14667
14784
|
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session user admin');
|
|
14668
14785
|
|
|
14669
|
-
const apiCall = self.client.put(
|
|
14786
|
+
const apiCall = self.client.put(`${self._basePath()}/change/password`, payload, self._setHeader(session));
|
|
14670
14787
|
|
|
14671
14788
|
return self._returnData(await apiCall);
|
|
14672
14789
|
} catch (ex) {
|
|
@@ -14714,13 +14831,14 @@ class AdminUser {
|
|
|
14714
14831
|
page = 1,
|
|
14715
14832
|
perPage = 200,
|
|
14716
14833
|
project = PROJECTION_DEFAULT,
|
|
14717
|
-
sort = SORT_DEFAULT
|
|
14834
|
+
sort = SORT_DEFAULT,
|
|
14835
|
+
filter = {}
|
|
14718
14836
|
} = params;
|
|
14719
14837
|
|
|
14720
|
-
const payloadToSend = {$project: project, sort};
|
|
14838
|
+
const payloadToSend = {$project: project, sort, ...filter};
|
|
14721
14839
|
|
|
14722
|
-
const apiCall = self.
|
|
14723
|
-
.post(
|
|
14840
|
+
const apiCall = self.client
|
|
14841
|
+
.post(`${self._basePath()}?page=${page}&perPage=${perPage}`, payloadToSend, self._setHeader(session));
|
|
14724
14842
|
|
|
14725
14843
|
return self._returnData(await apiCall);
|
|
14726
14844
|
|
|
@@ -14728,6 +14846,291 @@ class AdminUser {
|
|
|
14728
14846
|
throw ex;
|
|
14729
14847
|
}
|
|
14730
14848
|
}
|
|
14849
|
+
|
|
14850
|
+
/**
|
|
14851
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14852
|
+
* @description Block a user (prevent login)
|
|
14853
|
+
* @param {string} userId User ID to block (required)
|
|
14854
|
+
* @param {string} session JWT session token
|
|
14855
|
+
* @return {Promise<object>} Updated user
|
|
14856
|
+
* @public
|
|
14857
|
+
* @async
|
|
14858
|
+
* @example
|
|
14859
|
+
*
|
|
14860
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
14861
|
+
* const api = new API();
|
|
14862
|
+
* const userId = '55e4a3bd6be6b45210833fae';
|
|
14863
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
14864
|
+
* await api.admin.user.block(userId, session);
|
|
14865
|
+
*/
|
|
14866
|
+
async block(userId, session) {
|
|
14867
|
+
const self = this;
|
|
14868
|
+
|
|
14869
|
+
try {
|
|
14870
|
+
Joi__default["default"].assert(userId, Joi__default["default"].string().required(), 'User ID');
|
|
14871
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
14872
|
+
|
|
14873
|
+
const apiCall = self.client.put(`${self._basePath()}/${userId}/block`, {}, self._setHeader(session));
|
|
14874
|
+
return self._returnData(await apiCall);
|
|
14875
|
+
} catch (ex) {
|
|
14876
|
+
throw ex;
|
|
14877
|
+
}
|
|
14878
|
+
}
|
|
14879
|
+
|
|
14880
|
+
/**
|
|
14881
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14882
|
+
* @description Unblock a user (allow login)
|
|
14883
|
+
* @param {string} userId User ID to unblock (required)
|
|
14884
|
+
* @param {string} session JWT session token
|
|
14885
|
+
* @return {Promise<object>} Updated user
|
|
14886
|
+
* @public
|
|
14887
|
+
* @async
|
|
14888
|
+
* @example
|
|
14889
|
+
*
|
|
14890
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
14891
|
+
* const api = new API();
|
|
14892
|
+
* const userId = '55e4a3bd6be6b45210833fae';
|
|
14893
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
14894
|
+
* await api.admin.user.unblock(userId, session);
|
|
14895
|
+
*/
|
|
14896
|
+
async unblock(userId, session) {
|
|
14897
|
+
const self = this;
|
|
14898
|
+
|
|
14899
|
+
try {
|
|
14900
|
+
Joi__default["default"].assert(userId, Joi__default["default"].string().required(), 'User ID');
|
|
14901
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
14902
|
+
|
|
14903
|
+
const apiCall = self.client.put(`${self._basePath()}/${userId}/unblock`, {}, self._setHeader(session));
|
|
14904
|
+
return self._returnData(await apiCall);
|
|
14905
|
+
} catch (ex) {
|
|
14906
|
+
throw ex;
|
|
14907
|
+
}
|
|
14908
|
+
}
|
|
14909
|
+
|
|
14910
|
+
/**
|
|
14911
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14912
|
+
* @description Block email notifications for a user
|
|
14913
|
+
* @param {string} userId User ID (required)
|
|
14914
|
+
* @param {string} session JWT session token
|
|
14915
|
+
* @return {Promise<object>} Updated user
|
|
14916
|
+
* @public
|
|
14917
|
+
* @async
|
|
14918
|
+
*/
|
|
14919
|
+
async blockEmail(userId, session) {
|
|
14920
|
+
const self = this;
|
|
14921
|
+
|
|
14922
|
+
try {
|
|
14923
|
+
Joi__default["default"].assert(userId, Joi__default["default"].string().required(), 'User ID');
|
|
14924
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
14925
|
+
|
|
14926
|
+
const apiCall = self.client.put(`${self._basePath()}/${userId}/blockemail`, {}, self._setHeader(session));
|
|
14927
|
+
return self._returnData(await apiCall);
|
|
14928
|
+
} catch (ex) {
|
|
14929
|
+
throw ex;
|
|
14930
|
+
}
|
|
14931
|
+
}
|
|
14932
|
+
|
|
14933
|
+
/**
|
|
14934
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14935
|
+
* @description Unblock email notifications for a user
|
|
14936
|
+
* @param {string} userId User ID (required)
|
|
14937
|
+
* @param {string} session JWT session token
|
|
14938
|
+
* @return {Promise<object>} Updated user
|
|
14939
|
+
* @public
|
|
14940
|
+
* @async
|
|
14941
|
+
*/
|
|
14942
|
+
async unblockEmail(userId, session) {
|
|
14943
|
+
const self = this;
|
|
14944
|
+
|
|
14945
|
+
try {
|
|
14946
|
+
Joi__default["default"].assert(userId, Joi__default["default"].string().required(), 'User ID');
|
|
14947
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
14948
|
+
|
|
14949
|
+
const apiCall = self.client.put(`${self._basePath()}/${userId}/unblockemail`, {}, self._setHeader(session));
|
|
14950
|
+
return self._returnData(await apiCall);
|
|
14951
|
+
} catch (ex) {
|
|
14952
|
+
throw ex;
|
|
14953
|
+
}
|
|
14954
|
+
}
|
|
14955
|
+
|
|
14956
|
+
/**
|
|
14957
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14958
|
+
* @description Update user type classification
|
|
14959
|
+
* @param {object} params Parameters
|
|
14960
|
+
* @param {string} params.userId User ID (required)
|
|
14961
|
+
* @param {string} params.userType New user type (required)
|
|
14962
|
+
* @param {string} session JWT session token
|
|
14963
|
+
* @return {Promise<object>} Updated user
|
|
14964
|
+
* @public
|
|
14965
|
+
* @async
|
|
14966
|
+
* @example
|
|
14967
|
+
*
|
|
14968
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
14969
|
+
* const api = new API();
|
|
14970
|
+
* const params = { userId: '55e4a3bd6be6b45210833fae', userType: 'USER' };
|
|
14971
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
14972
|
+
* await api.admin.user.updateUserType(params, session);
|
|
14973
|
+
*/
|
|
14974
|
+
async updateUserType(params, session) {
|
|
14975
|
+
const self = this;
|
|
14976
|
+
|
|
14977
|
+
try {
|
|
14978
|
+
Joi__default["default"].assert(params, Joi__default["default"].object().required(), 'Parameters');
|
|
14979
|
+
Joi__default["default"].assert(params.userId, Joi__default["default"].string().required(), 'User ID');
|
|
14980
|
+
Joi__default["default"].assert(params.userType, Joi__default["default"].string().required(), 'User type');
|
|
14981
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
14982
|
+
|
|
14983
|
+
const { userId, userType } = params;
|
|
14984
|
+
const apiCall = self.client.put(`${self._basePath()}/${userId}/type/${userType}`, {}, self._setHeader(session));
|
|
14985
|
+
return self._returnData(await apiCall);
|
|
14986
|
+
} catch (ex) {
|
|
14987
|
+
throw ex;
|
|
14988
|
+
}
|
|
14989
|
+
}
|
|
14990
|
+
|
|
14991
|
+
/**
|
|
14992
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
14993
|
+
* @description Get organization groups with their permissions
|
|
14994
|
+
* @param {string} orgId Organization ID (required)
|
|
14995
|
+
* @param {string} session JWT session token
|
|
14996
|
+
* @return {Promise<array>} Array of groups with permissions
|
|
14997
|
+
* @public
|
|
14998
|
+
* @async
|
|
14999
|
+
* @example
|
|
15000
|
+
*
|
|
15001
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
15002
|
+
* const api = new API();
|
|
15003
|
+
* const orgId = '5edd11c46b6ce9729c2c297c';
|
|
15004
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
15005
|
+
* const groups = await api.admin.user.getGroupsPermissions(orgId, session);
|
|
15006
|
+
*/
|
|
15007
|
+
async getGroupsPermissions(orgId, session) {
|
|
15008
|
+
const self = this;
|
|
15009
|
+
|
|
15010
|
+
try {
|
|
15011
|
+
Joi__default["default"].assert(orgId, Joi__default["default"].string().required(), 'Organization ID');
|
|
15012
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
15013
|
+
|
|
15014
|
+
const apiCall = self.client.get(
|
|
15015
|
+
`${self._orgPath(orgId)}/groups/permissions`,
|
|
15016
|
+
self._setHeader(session)
|
|
15017
|
+
);
|
|
15018
|
+
return self._returnData(await apiCall);
|
|
15019
|
+
} catch (ex) {
|
|
15020
|
+
throw ex;
|
|
15021
|
+
}
|
|
15022
|
+
}
|
|
15023
|
+
|
|
15024
|
+
/**
|
|
15025
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
15026
|
+
* @description Update user's group memberships in an organization
|
|
15027
|
+
* @param {object} params Parameters
|
|
15028
|
+
* @param {string} params.orgId Organization ID (required)
|
|
15029
|
+
* @param {string} params.userId User ID (required)
|
|
15030
|
+
* @param {array} params.groups Array of group IDs (required)
|
|
15031
|
+
* @param {string} session JWT session token
|
|
15032
|
+
* @return {Promise<object>} Updated groups
|
|
15033
|
+
* @public
|
|
15034
|
+
* @async
|
|
15035
|
+
* @example
|
|
15036
|
+
*
|
|
15037
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
15038
|
+
* const api = new API();
|
|
15039
|
+
* const params = {
|
|
15040
|
+
* orgId: '5edd11c46b6ce9729c2c297c',
|
|
15041
|
+
* userId: '55e4a3bd6be6b45210833fae',
|
|
15042
|
+
* groups: ['groupId1', 'groupId2']
|
|
15043
|
+
* };
|
|
15044
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
15045
|
+
* await api.admin.user.updateUserGroups(params, session);
|
|
15046
|
+
*/
|
|
15047
|
+
async updateUserGroups(params, session) {
|
|
15048
|
+
const self = this;
|
|
15049
|
+
|
|
15050
|
+
try {
|
|
15051
|
+
Joi__default["default"].assert(params, Joi__default["default"].object().required(), 'Parameters');
|
|
15052
|
+
Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required(), 'Organization ID');
|
|
15053
|
+
Joi__default["default"].assert(params.userId, Joi__default["default"].string().required(), 'User ID');
|
|
15054
|
+
Joi__default["default"].assert(params.groups, Joi__default["default"].array().required(), 'Group IDs');
|
|
15055
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
15056
|
+
|
|
15057
|
+
const { orgId, userId, groups } = params;
|
|
15058
|
+
const apiCall = self.client.put(
|
|
15059
|
+
`${self._orgPath(orgId)}/groups/${userId}`,
|
|
15060
|
+
{ groups },
|
|
15061
|
+
self._setHeader(session)
|
|
15062
|
+
);
|
|
15063
|
+
return self._returnData(await apiCall);
|
|
15064
|
+
} catch (ex) {
|
|
15065
|
+
throw ex;
|
|
15066
|
+
}
|
|
15067
|
+
}
|
|
15068
|
+
|
|
15069
|
+
/**
|
|
15070
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
15071
|
+
* @description Get organizations the admin user can manage
|
|
15072
|
+
* @param {string} session JWT session token
|
|
15073
|
+
* @return {Promise<array>} Array of organizations
|
|
15074
|
+
* @public
|
|
15075
|
+
* @async
|
|
15076
|
+
* @example
|
|
15077
|
+
*
|
|
15078
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
15079
|
+
* const api = new API();
|
|
15080
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
15081
|
+
* const orgs = await api.admin.user.getOrganizations(session);
|
|
15082
|
+
*/
|
|
15083
|
+
async getOrganizations(session) {
|
|
15084
|
+
const self = this;
|
|
15085
|
+
|
|
15086
|
+
try {
|
|
15087
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
15088
|
+
|
|
15089
|
+
const apiCall = self.client.get(`${self._basePath()}/organizations`, self._setHeader(session));
|
|
15090
|
+
return self._returnData(await apiCall);
|
|
15091
|
+
} catch (ex) {
|
|
15092
|
+
throw ex;
|
|
15093
|
+
}
|
|
15094
|
+
}
|
|
15095
|
+
|
|
15096
|
+
/**
|
|
15097
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
15098
|
+
* @description Get users belonging to an organization
|
|
15099
|
+
* @param {object} params Parameters
|
|
15100
|
+
* @param {string} params.orgId Organization ID (required)
|
|
15101
|
+
* @param {array} [params.userIds] Optional array of user IDs to filter
|
|
15102
|
+
* @param {string} session JWT session token
|
|
15103
|
+
* @return {Promise<array>} Array of users with id, name, email, title
|
|
15104
|
+
* @public
|
|
15105
|
+
* @async
|
|
15106
|
+
* @example
|
|
15107
|
+
*
|
|
15108
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
15109
|
+
* const api = new API();
|
|
15110
|
+
* const params = { orgId: '5edd11c46b6ce9729c2c297c' };
|
|
15111
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
15112
|
+
* const users = await api.admin.user.getOrgUsers(params, session);
|
|
15113
|
+
*/
|
|
15114
|
+
async getOrgUsers(params, session) {
|
|
15115
|
+
const self = this;
|
|
15116
|
+
|
|
15117
|
+
try {
|
|
15118
|
+
Joi__default["default"].assert(params, Joi__default["default"].object().required(), 'Parameters');
|
|
15119
|
+
Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required(), 'Organization ID');
|
|
15120
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token');
|
|
15121
|
+
|
|
15122
|
+
const { orgId, userIds } = params;
|
|
15123
|
+
let url = this._orgId ? `${self._orgPath(orgId)}/orgusers` : `/admin/organizations/${orgId}/orgusers`;
|
|
15124
|
+
if (userIds && userIds.length > 0) {
|
|
15125
|
+
url += `?userIds=${JSON.stringify(userIds)}`;
|
|
15126
|
+
}
|
|
15127
|
+
|
|
15128
|
+
const apiCall = self.client.get(url, self._setHeader(session));
|
|
15129
|
+
return self._returnData(await apiCall);
|
|
15130
|
+
} catch (ex) {
|
|
15131
|
+
throw ex;
|
|
15132
|
+
}
|
|
15133
|
+
}
|
|
14731
15134
|
}
|
|
14732
15135
|
|
|
14733
15136
|
/**
|