@roadiehq/catalog-backend-module-okta
Version:
A set of Backstage catalog providers for Okta
37 lines (31 loc) • 1.06 kB
JavaScript
;
var get = require('lodash/get');
var errors = require('@backstage/errors');
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 = {};
await client.listGroups({ search: groupFilter }).each((group) => {
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