vix-ui
Version:
A set of essential UI modules for your Angular application in ViSenze
71 lines (70 loc) • 4.62 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* UserGroups holds the groups information of a user. It is mainly used to check permissions.
*/
var /**
* UserGroups holds the groups information of a user. It is mainly used to check permissions.
*/
UserGroups = /** @class */ (function () {
/**
* construct UserGroups from OktaUserGroups
*
* @param oktaUserGroups Array of oktaGroups
* oktaGroup example:
* { ...
* "profile": {
* "name": "Everyone",
* "description": "All users in your organization"
* },
* ...
* }
*/
function UserGroups(oktaUserGroups) {
var _this = this;
this.groups = [];
if (oktaUserGroups) {
oktaUserGroups.forEach(function (oktaGroup) {
_this.groups.push(oktaGroup.profile.name);
});
}
}
/**
* Check if instance has enough permission for requireGroups.
*
* @param requireGroups
* @returns true if this.groups contains all group of requireGroups, else then false
*/
/**
* Check if instance has enough permission for requireGroups.
*
* @param {?} requireGroups
* @return {?} true if this.groups contains all group of requireGroups, else then false
*/
UserGroups.prototype.hasPermission = /**
* Check if instance has enough permission for requireGroups.
*
* @param {?} requireGroups
* @return {?} true if this.groups contains all group of requireGroups, else then false
*/
function (requireGroups) {
for (var /** @type {?} */ i = 0; i < requireGroups.length; i++) {
if (this.groups.indexOf(requireGroups[i]) > 0) {
return true;
}
}
return false;
};
return UserGroups;
}());
/**
* UserGroups holds the groups information of a user. It is mainly used to check permissions.
*/
export { UserGroups };
function UserGroups_tsickle_Closure_declarations() {
/** @type {?} */
UserGroups.prototype.groups;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92aXgtdWkvIiwic291cmNlcyI6WyJ2aXgtc2VydmljZXMvYXV0aC9tb2R1bGVzL3VzZXItZ3JvdXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7O0FBQUE7SUFHRTs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxvQkFBWSxjQUFtQjtRQUEvQixpQkFNQztzQkFyQmtCLEVBQUU7UUFnQm5CLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFDLFNBQVM7Z0JBQy9CLEtBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUMsQ0FBQyxDQUFDO1NBQ0o7S0FDRjtJQUVEOzs7OztPQUtHOzs7Ozs7O0lBQ0gsa0NBQWE7Ozs7OztJQUFiLFVBQWMsYUFBdUI7UUFDbkMsR0FBRyxDQUFDLENBQUMscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNkO3FCQXhDSDtJQTBDQyxDQUFBOzs7O0FBdkNELHNCQXVDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlckdyb3VwcyBob2xkcyB0aGUgZ3JvdXBzIGluZm9ybWF0aW9uIG9mIGEgdXNlci4gSXQgaXMgbWFpbmx5IHVzZWQgdG8gY2hlY2sgcGVybWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyR3JvdXBzIHtcbiAgZ3JvdXBzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBjb25zdHJ1Y3QgVXNlckdyb3VwcyBmcm9tIE9rdGFVc2VyR3JvdXBzXG4gICAqXG4gICAqIEBwYXJhbSBva3RhVXNlckdyb3VwcyBBcnJheSBvZiBva3RhR3JvdXBzXG4gICAqIG9rdGFHcm91cCBleGFtcGxlOlxuICAgKiB7IC4uLlxuICAgKiAgIFwicHJvZmlsZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJFdmVyeW9uZVwiLFxuICAgKiAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkFsbCB1c2VycyBpbiB5b3VyIG9yZ2FuaXphdGlvblwiXG4gICAqICAgfSxcbiAgICogICAuLi5cbiAgICogfVxuICAgKi9cbiAgY29uc3RydWN0b3Iob2t0YVVzZXJHcm91cHM6IGFueSkge1xuICAgIGlmIChva3RhVXNlckdyb3Vwcykge1xuICAgICAgb2t0YVVzZXJHcm91cHMuZm9yRWFjaCgob2t0YUdyb3VwKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JvdXBzLnB1c2gob2t0YUdyb3VwLnByb2ZpbGUubmFtZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgaW5zdGFuY2UgaGFzIGVub3VnaCBwZXJtaXNzaW9uIGZvciByZXF1aXJlR3JvdXBzLlxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWlyZUdyb3Vwc1xuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoaXMuZ3JvdXBzIGNvbnRhaW5zIGFsbCBncm91cCBvZiByZXF1aXJlR3JvdXBzLCBlbHNlIHRoZW4gZmFsc2VcbiAgICovXG4gIGhhc1Blcm1pc3Npb24ocmVxdWlyZUdyb3Vwczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlcXVpcmVHcm91cHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmdyb3Vwcy5pbmRleE9mKHJlcXVpcmVHcm91cHNbaV0pID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbn1cbiJdfQ==