All files / libs/kernel/auth/shared/src/abilities/statement-reviews permissions.ts

0% Statements 0/20
0% Branches 0/1
0% Functions 0/1
0% Lines 0/20

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                                         
import { SubjectsEnum, type Ability } from '../../types';
import { type StatementSubject } from '../statements/subjects';

import { StatementReviewsActions } from './actions';
import { statementReviewSubject } from './subjects';

export const canViewStatementReviews = (ability: Ability) =>
  ability.can(StatementReviewsActions.view, SubjectsEnum.StatementReviews);

export const canNotifyStatementReviewers = (ability: Ability) =>
  ability.can(StatementReviewsActions.notify, SubjectsEnum.StatementReviews);

export const canNotifyReviewersOfThisStatement = (ability: Ability, subject: StatementSubject) =>
  ability.can(StatementReviewsActions.notify, statementReviewSubject(subject));

export const canListStatementReviewers = (ability: Ability) =>
  ability.can(StatementReviewsActions.listReviewers, SubjectsEnum.StatementReviews);

export const canListReviewersOfThisStatement = (ability: Ability, subject: StatementSubject) =>
  ability.can(StatementReviewsActions.listReviewers, statementReviewSubject(subject));