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 | 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 { PlansActions } from './actions';
import { viewPlanSubject, viewPlanTokenSubject, type ViewPlanSubject, type ViewPlanTokenSubject } from './subjects';
export const canViewPlans = (ability: Ability) => ability.can(PlansActions.view, SubjectsEnum.Plan);
export const canViewThisPlan = (ability: Ability, subject: ViewPlanSubject) =>
ability.can(PlansActions.view, viewPlanSubject(subject));
export const canViewHiddenPlans = (ability: Ability) => ability.can(PlansActions.view_hidden, SubjectsEnum.Plan);
export const canModifyPlans = (ability: Ability) => ability.can(PlansActions.modify, SubjectsEnum.Plan);
export const canModifyMetricsFromForPlan = (ability: Ability) =>
ability.can(PlansActions.modify_metrics_from, SubjectsEnum.Plan);
export const canViewPlanTokens = (ability: Ability) => ability.can(PlansActions.view_tokens, SubjectsEnum.Plan);
export const canViewThisPlanToken = (ability: Ability, subject: ViewPlanTokenSubject) =>
ability.can(PlansActions.view_tokens, viewPlanTokenSubject(subject));
|