@commercetools-frontend/permissions
Version:
React components to declaratively handle MC permissions
31 lines (30 loc) • 1.24 kB
TypeScript
import type { TNormalizedPermissions, TNormalizedActionRights, TNormalizedDataFences } from '@commercetools-frontend/application-shell-connectors';
type TPermissionName = string;
type TActionRightName = string;
type TActionRightGroup = string;
type TDemandedActionRight = {
group: TActionRightGroup;
name: TActionRightName;
};
type TDemandedDataFence = {
group: string;
name: string;
type: string;
};
type TSelectDataFenceData = (demandedDataFenceWithActualValues: TDemandedDataFence & {
actualDataFenceValues: string[];
}) => string[] | null;
type TProjectPermissions = {
permissions: TNormalizedPermissions | null;
actionRights: TNormalizedActionRights | null;
dataFences: TNormalizedDataFences | null;
};
declare const useIsAuthorized: ({ demandedPermissions, demandedActionRights, demandedDataFences, selectDataFenceData, shouldMatchSomePermissions, projectPermissions, }: {
demandedPermissions: TPermissionName[];
demandedActionRights?: TDemandedActionRight[];
demandedDataFences?: TDemandedDataFence[];
selectDataFenceData?: TSelectDataFenceData;
shouldMatchSomePermissions?: boolean;
projectPermissions?: TProjectPermissions;
}) => boolean;
export default useIsAuthorized;