UNPKG

vix-ui

Version:

A set of essential UI modules for your Angular application in ViSenze

50 lines (49 loc) 3.76 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} 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 /** @type {?} */ i = 0; i < requireGroups.length; i++) { if (this.groups.indexOf(requireGroups[i]) > 0) { return true; } } return false; } } function UserGroups_tsickle_Closure_declarations() { /** @type {?} */ UserGroups.prototype.groups; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92aXgtdWkvIiwic291cmNlcyI6WyJ2aXgtc2VydmljZXMvYXV0aC9tb2R1bGVzL3VzZXItZ3JvdXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxNQUFNOzs7Ozs7Ozs7Ozs7OztJQWdCSixZQUFZLGNBQW1CO3NCQWZaLEVBQUU7UUFnQm5CLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFDLENBQUMsQ0FBQztTQUNKO0tBQ0Y7Ozs7Ozs7SUFRRCxhQUFhLENBQUMsYUFBdUI7UUFDbkMsR0FBRyxDQUFDLENBQUMscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNkO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZXJHcm91cHMgaG9sZHMgdGhlIGdyb3VwcyBpbmZvcm1hdGlvbiBvZiBhIHVzZXIuIEl0IGlzIG1haW5seSB1c2VkIHRvIGNoZWNrIHBlcm1pc3Npb25zLlxuICovXG5leHBvcnQgY2xhc3MgVXNlckdyb3VwcyB7XG4gIGdyb3Vwczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogY29uc3RydWN0IFVzZXJHcm91cHMgZnJvbSBPa3RhVXNlckdyb3Vwc1xuICAgKlxuICAgKiBAcGFyYW0gb2t0YVVzZXJHcm91cHMgQXJyYXkgb2Ygb2t0YUdyb3Vwc1xuICAgKiBva3RhR3JvdXAgZXhhbXBsZTpcbiAgICogeyAuLi5cbiAgICogICBcInByb2ZpbGVcIjoge1xuICAgKiAgICAgXCJuYW1lXCI6IFwiRXZlcnlvbmVcIixcbiAgICogICAgIFwiZGVzY3JpcHRpb25cIjogXCJBbGwgdXNlcnMgaW4geW91ciBvcmdhbml6YXRpb25cIlxuICAgKiAgIH0sXG4gICAqICAgLi4uXG4gICAqIH1cbiAgICovXG4gIGNvbnN0cnVjdG9yKG9rdGFVc2VyR3JvdXBzOiBhbnkpIHtcbiAgICBpZiAob2t0YVVzZXJHcm91cHMpIHtcbiAgICAgIG9rdGFVc2VyR3JvdXBzLmZvckVhY2goKG9rdGFHcm91cCkgPT4ge1xuICAgICAgICB0aGlzLmdyb3Vwcy5wdXNoKG9rdGFHcm91cC5wcm9maWxlLm5hbWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGluc3RhbmNlIGhhcyBlbm91Z2ggcGVybWlzc2lvbiBmb3IgcmVxdWlyZUdyb3Vwcy5cbiAgICpcbiAgICogQHBhcmFtIHJlcXVpcmVHcm91cHNcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGlzLmdyb3VwcyBjb250YWlucyBhbGwgZ3JvdXAgb2YgcmVxdWlyZUdyb3VwcywgZWxzZSB0aGVuIGZhbHNlXG4gICAqL1xuICBoYXNQZXJtaXNzaW9uKHJlcXVpcmVHcm91cHM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXF1aXJlR3JvdXBzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5ncm91cHMuaW5kZXhPZihyZXF1aXJlR3JvdXBzW2ldKSA+IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG4iXX0=