All files / libs/kernel/auth/shared/src/abilities/dashboards-v2 permissions.ts

100% Statements 43/43
100% Branches 2/2
20% Functions 2/10
100% Lines 43/43

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 441x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { SubjectsEnum, type Ability } from '../../types';
 
import { DashboardsV2Actions } from './actions';
import {
  deleteDashboardSubject,
  modifyDashboardSubject,
  shareDashboardSubject,
  viewDashboardSubject,
  type DeleteDashboardSubject,
  type ModifyDashboardSubject,
  type ShareDashboardSubject,
  type ViewDashboardSubject,
} from './subjects';
 
export const canCreateDashboardsV2 = (ability: Ability) =>
  ability.can(DashboardsV2Actions.create, SubjectsEnum.DashboardsV2);
 
export const canShareDashboardsV2 = (ability: Ability) =>
  ability.can(DashboardsV2Actions.share, SubjectsEnum.DashboardsV2);
 
export const canShareThisDashboardV2 = (ability: Ability, dashboard: ShareDashboardSubject) =>
  ability.can(DashboardsV2Actions.share, shareDashboardSubject(dashboard));
 
export const canDeleteDashboardsV2 = (ability: Ability) =>
  ability.can(DashboardsV2Actions.delete, SubjectsEnum.DashboardsV2);
 
export const canDeleteThisDashboardV2 = (ability: Ability, dashboard: DeleteDashboardSubject) =>
  ability.can(DashboardsV2Actions.delete, deleteDashboardSubject(dashboard));
 
export const canModifyDashboardsV2 = (ability: Ability) =>
  ability.can(DashboardsV2Actions.modify, SubjectsEnum.DashboardsV2);
 
export const canModifyThisDashboardV2 = (ability: Ability, dashboard: ModifyDashboardSubject) =>
  ability.can(DashboardsV2Actions.modify, modifyDashboardSubject(dashboard));
 
export const canViewDashboardsV2 = (ability: Ability) =>
  ability.can(DashboardsV2Actions.view, SubjectsEnum.DashboardsV2);
 
export const canViewThisDashboardV2 = (ability: Ability, dashboard: ViewDashboardSubject) =>
  ability.can(DashboardsV2Actions.view, viewDashboardSubject(dashboard));
 
export const canPreviewDashboardChartsData = (ability: Ability) =>
  ability.can(DashboardsV2Actions.previewChartData, SubjectsEnum.DashboardsV2);