UNPKG

@roadiehq/catalog-backend-module-okta

Version:

A set of Backstage catalog providers for Okta

40 lines (34 loc) 1.19 kB
'use strict'; var get = require('lodash/get'); var errors = require('@backstage/errors'); var types = require('./types.cjs.js'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var get__default = /*#__PURE__*/_interopDefaultCompat(get); const getOktaGroups = async (opts) => { const { client, groupFilter, key, groupNamingStrategy, logger } = opts; const oktaGroups = {}; const groups = await client.groupApi.listGroups({ search: groupFilter }); await groups.each((rawGroup) => { const group = types.asOktaGroup(rawGroup); if (key) { const id = get__default.default(group, key); if (typeof id === "string") { oktaGroups[id] = group; } if (typeof id === "number") { oktaGroups[id.toString()] = group; } } else { try { oktaGroups[groupNamingStrategy(group)] = group; } catch (e) { logger.warn( `Failed to add group ${group.id}: ${errors.isError(e) ? e.message : "unknown error"}` ); } } }); return oktaGroups; }; exports.getOktaGroups = getOktaGroups; //# sourceMappingURL=getOktaGroups.cjs.js.map