* Add performance and code improvements around post_list * Fix test * Move observers from utils to queries * remove Flipper on iOS to fix CI build * Fix observePermissionForChannel for DM/GM Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
14 lines
526 B
TypeScript
14 lines
526 B
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import type RoleModel from '@typings/database/models/servers/role';
|
|
|
|
export function hasPermission(roles: RoleModel[] | Role[], permission: string, defaultValue: boolean) {
|
|
const permissions = new Set<string>();
|
|
for (const role of roles) {
|
|
role.permissions.forEach(permissions.add, permissions);
|
|
}
|
|
|
|
const exists = permissions.has(permission);
|
|
return defaultValue === true || exists;
|
|
}
|