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

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

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

import { UsersActions } from './actions';
import { impersonateUserSubject, type ImpersonateUserSubject } from './subjects';

// FIXME: we never check in the backend if the user can impersonate the target user, only if he can impersonate users in general.

export const canImpersonateUsers = (ability: Ability) => ability.can(UsersActions.impersonate, SubjectsEnum.User);

export const canImpersonateThisUser = (ability: Ability, subject: ImpersonateUserSubject) =>
  ability.can(UsersActions.impersonate, impersonateUserSubject(subject));