All files / libs/kernel/auth/shared/src/abilities/comment-thread-messages permissions.ts

0% Statements 0/25
0% Branches 0/1
0% Functions 0/1
0% Lines 0/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 26                                                   
import { SubjectsEnum, type Ability } from '../../types';

import { CommentThreadMessagesActions } from './actions';
import {
  deleteCommentThreadMessageSubject,
  modifyCommentThreadMessageSubject,
  type DeleteCommentThreadMessageSubject,
  type ModifyCommentThreadMessageSubject,
} from './subjects';

export const canDeleteCommentThreadMessages = (ability: Ability) =>
  ability.can(CommentThreadMessagesActions.delete, SubjectsEnum.CommentThreadMessage);

export const canDeleteThisCommentThreadMessage = (
  ability: Ability,
  statementComment: DeleteCommentThreadMessageSubject,
) => ability.can(CommentThreadMessagesActions.delete, deleteCommentThreadMessageSubject(statementComment));

export const canModifyCommentThreadMessages = (ability: Ability) =>
  ability.can(CommentThreadMessagesActions.modify, SubjectsEnum.CommentThreadMessage);

export const canModifyThisCommentThreadMessage = (
  ability: Ability,
  statementComment: ModifyCommentThreadMessageSubject,
) => ability.can(CommentThreadMessagesActions.modify, modifyCommentThreadMessageSubject(statementComment));