All files / libs/kernel/auth/shared/src/abilities/teams permissions.ts

100% Statements 25/25
100% Branches 6/6
100% Functions 6/6
100% Lines 25/25

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 261x 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 { TeamsActions } from './actions';
import {
  viewAssignmentsTeamSubject,
  viewTeamSubject,
  type ViewAssignmentsTeamSubject,
  type ViewTeamSubject,
} from './subjects';
 
export const canViewTeams = (ability: Ability) => ability.can(TeamsActions.view, SubjectsEnum.Team);
 
export const canViewThisTeam = (ability: Ability, subject: ViewTeamSubject) =>
  ability.can(TeamsActions.view, viewTeamSubject(subject));
 
export const canModifyTeams = (ability: Ability) => ability.can(TeamsActions.modify, SubjectsEnum.Team);
 
export const canViewTeamAssignments = (ability: Ability) =>
  ability.can(TeamsActions.view_assignments, SubjectsEnum.Team);
 
export const canViewThisTeamAssignments = (ability: Ability, subject: ViewAssignmentsTeamSubject) =>
  ability.can(TeamsActions.view_assignments, viewAssignmentsTeamSubject(subject));
 
export const canModifyTeamAssignments = (ability: Ability) =>
  ability.can(TeamsActions.modify_assignments, SubjectsEnum.Team);