saleor-dashboard/src/auth/misc.ts
Wojciech Mista b98f069aab
Add page type and attributes permissions handling (#1425)
* WIP add new configuration menu

* Add missing permissions

* Changed filtering to one based on arrays of permissions

* Add hasAnyPermissions and hasAllPermissions functions

* Simplify getConfigMenuItemsPermissions function

* Simplify routing logic
2021-09-24 14:01:54 +02:00

12 lines
568 B
TypeScript

import { User } from "@saleor/fragments/types/User";
import { PermissionEnum } from "../types/globalTypes";
export const hasPermission = (permission: PermissionEnum, user: User) =>
user.userPermissions.map(perm => perm.code).includes(permission);
export const hasAnyPermissions = (permissions: PermissionEnum[], user: User) =>
permissions?.some(permission => hasPermission(permission, user)) || false;
export const hasAllPermissions = (permissions: PermissionEnum[], user: User) =>
permissions?.every(permission => hasPermission(permission, user)) || false;