UNPKG

vix-ui

Version:

49 lines 3.64 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ /** * UserGroups holds the groups information of a user. It is mainly used to check permissions. */ export class UserGroups { /** * construct UserGroups from OktaUserGroups * * @param {?} oktaUserGroups Array of oktaGroups * oktaGroup example: * { ... * "profile": { * "name": "Everyone", * "description": "All users in your organization" * }, * ... * } */ constructor(oktaUserGroups) { this.groups = []; if (oktaUserGroups) { oktaUserGroups.forEach((oktaGroup) => { this.groups.push(oktaGroup.profile.name); }); } } /** * Check if instance has enough permission for requireGroups. * * @param {?} requireGroups * @return {?} true if this.groups contains all group of requireGroups, else then false */ hasPermission(requireGroups) { for (let i = 0; i < requireGroups.length; i++) { if (this.groups.indexOf(requireGroups[i]) > 0) { return true; } } return false; } } if (false) { /** @type {?} */ UserGroups.prototype.groups; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92aXgtdWkvIiwic291cmNlcyI6WyJ2aXgtYXV0aC91c2VyLWdyb3Vwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsTUFBTTs7Ozs7Ozs7Ozs7Ozs7SUFnQkosWUFBWSxjQUFtQjtRQWYvQixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBZ0JwQixJQUFJLGNBQWMsRUFBRTtZQUNsQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7Ozs7SUFPRCxhQUFhLENBQUMsYUFBdUI7UUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzdDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUVGOzs7SUFyQ0MsNEJBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2VyR3JvdXBzIGhvbGRzIHRoZSBncm91cHMgaW5mb3JtYXRpb24gb2YgYSB1c2VyLiBJdCBpcyBtYWlubHkgdXNlZCB0byBjaGVjayBwZXJtaXNzaW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXJHcm91cHMge1xuICBncm91cHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIGNvbnN0cnVjdCBVc2VyR3JvdXBzIGZyb20gT2t0YVVzZXJHcm91cHNcbiAgICpcbiAgICogQHBhcmFtIG9rdGFVc2VyR3JvdXBzIEFycmF5IG9mIG9rdGFHcm91cHNcbiAgICogb2t0YUdyb3VwIGV4YW1wbGU6XG4gICAqIHsgLi4uXG4gICAqICAgXCJwcm9maWxlXCI6IHtcbiAgICogICAgIFwibmFtZVwiOiBcIkV2ZXJ5b25lXCIsXG4gICAqICAgICBcImRlc2NyaXB0aW9uXCI6IFwiQWxsIHVzZXJzIGluIHlvdXIgb3JnYW5pemF0aW9uXCJcbiAgICogICB9LFxuICAgKiAgIC4uLlxuICAgKiB9XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihva3RhVXNlckdyb3VwczogYW55KSB7XG4gICAgaWYgKG9rdGFVc2VyR3JvdXBzKSB7XG4gICAgICBva3RhVXNlckdyb3Vwcy5mb3JFYWNoKChva3RhR3JvdXApID0+IHtcbiAgICAgICAgdGhpcy5ncm91cHMucHVzaChva3RhR3JvdXAucHJvZmlsZS5uYW1lKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBpbnN0YW5jZSBoYXMgZW5vdWdoIHBlcm1pc3Npb24gZm9yIHJlcXVpcmVHcm91cHMuXG4gICAqXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhpcy5ncm91cHMgY29udGFpbnMgYWxsIGdyb3VwIG9mIHJlcXVpcmVHcm91cHMsIGVsc2UgdGhlbiBmYWxzZVxuICAgKi9cbiAgaGFzUGVybWlzc2lvbihyZXF1aXJlR3JvdXBzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVxdWlyZUdyb3Vwcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMuZ3JvdXBzLmluZGV4T2YocmVxdWlyZUdyb3Vwc1tpXSkgPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIl19