@chayns-components/person-finder
Version:
A set of beautiful React components for developing your own applications with chayns.
60 lines (59 loc) • 1.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getUsersByGroups = exports.getUACGroups = exports.client = void 0;
var _chaynsApi = require("chayns-api");
var _uacService = require("@chayns/uac-service");
var _personFinder = require("../types/personFinder");
const client = exports.client = new _uacService.UacServiceClient({
getToken: async () => (await (0, _chaynsApi.getAccessToken)()).accessToken || '',
getDefaultSiteId: () => (0, _chaynsApi.getSite)().id,
getDefaultPersonId: () => {
var _getUser;
return ((_getUser = (0, _chaynsApi.getUser)()) === null || _getUser === void 0 ? void 0 : _getUser.personId) || '';
},
getLanguage: () => (0, _chaynsApi.getLanguage)().active
});
const getUACGroups = async () => {
const result = await client.getUserGroups({
countUsers: true
});
return result.map(({
id,
showName,
isSystemGroup
}) => ({
id,
name: showName,
isSystemGroup
}));
};
exports.getUACGroups = getUACGroups;
const getUsersByGroups = async uacFilter => {
const groupResults = await Promise.all(uacFilter.map(async ({
groupId,
siteId
}) => {
const users = await client.getGroupMembers({
groupId,
siteId: siteId ?? (0, _chaynsApi.getSite)().id
});
return users.map(({
personId,
firstname,
lastname
}) => ({
id: personId,
firstName: firstname,
lastName: lastname,
type: _personFinder.PersonFinderFilterTypes.PERSON,
commonSites: 0,
isVerified: false
}));
}));
const unique = groupResults.flat().reduce((map, user) => map.set(user.id, user), new Map());
return [...unique.values()];
};
exports.getUsersByGroups = getUsersByGroups;
//# sourceMappingURL=uac.js.map