signoz/frontend/src/hooks/useComponentPermission.ts
Palash Gupta e62e541fc4
FE: added more eslint rule (#2090)
* chore: arrow-body-style func-style is added in the rule

* fix: linting issues fixed

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-01-24 18:53:04 +05:30

22 lines
589 B
TypeScript

import { useCallback, useMemo } from 'react';
import { ROLES } from 'types/roles';
import { componentPermission, ComponentTypes } from 'utils/permission';
const useComponentPermission = (
component: ComponentTypes[],
role: ROLES | null,
): boolean[] => {
const getComponentPermission = useCallback(
(component: ComponentTypes): boolean =>
!!componentPermission[component].find((roles) => role === roles),
[role],
);
return useMemo(() => component.map((e) => getComponentPermission(e)), [
component,
getComponentPermission,
]);
};
export default useComponentPermission;