UNPKG

@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
"use strict"; 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