All files / libs/kernel/auth/shared/src/abilities/companies definitions.ts

100% Statements 30/30
100% Branches 4/4
100% Functions 4/4
100% Lines 30/30

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 27 28 29 30 311x 1x 1x 1x 1x 1x 21x 1x 1x 21x 1x 1x 1x 1x 135x 135x 135x 135x 135x 135x 135x 135x 135x 135x 1x 1x 1x 45x 45x 1x  
import { SubjectsEnum, type DefinePermissions, type UserRoleForAccessControl } from '../../types';
 
import { CompaniesActions } from './actions';
 
export const companiesAbilityDefinitions = {
  CSM_ADMIN(_, { can }) {
    can(CompaniesActions.delete, SubjectsEnum.Company);
  },
  TECH_ADMIN(_, { can }) {
    can(CompaniesActions.delete, SubjectsEnum.Company);
  },
 
  // COMMON ROLES
  ADMIN(_, { can }) {
    can(CompaniesActions.view_settings, SubjectsEnum.Company);
    can(CompaniesActions.modify_settings, SubjectsEnum.Company);
 
    can(CompaniesActions.view_rates, SubjectsEnum.Company);
    can(CompaniesActions.modify_rates, SubjectsEnum.Company);
 
    can(CompaniesActions.view_directory, SubjectsEnum.Company);
 
    can(CompaniesActions.view_admin_scopes, SubjectsEnum.Company);
    can(CompaniesActions.manage_admin_scopes, SubjectsEnum.Company);
  },
 
  READ_ONLY_ADMIN(_, { can }) {
    can(CompaniesActions.view_directory, SubjectsEnum.Company);
  },
} as const satisfies Partial<Record<UserRoleForAccessControl, DefinePermissions>>;