UNPKG

@ministryofjustice/hmpps-prison-permissions-lib

Version:

A library to centralise the process of determining whether a user should have access to create/read/update/delete a prison resource, for example, accessing a prisoner's Prisoner Profile.

17 lines (16 loc) 1.03 kB
import { Role } from '../../types/internal/user/Role'; import { PermissionCheckStatus } from '../../types/internal/permissions/PermissionCheckStatus'; import { HmppsUser } from '../../types/internal/user/HmppsUser'; import Prisoner from '../../data/hmppsPrisonerSearch/interfaces/Prisoner'; export type PrisonerPermissionStatusFunction = (user: HmppsUser, prisoner: Prisoner) => PermissionCheckStatus; export interface PrisonerPermissionConditions { allRolesRequired?: Role[]; atLeastOneRoleRequiredFrom?: Role[]; overridingCondition?: PrisonerPermissionStatusFunction; ifRestrictedPatient: PrisonerPermissionStatusFunction; ifReleasedPrisoner: PrisonerPermissionStatusFunction; ifTransferringPrisoner: PrisonerPermissionStatusFunction; ifPrisonNotInCaseload: PrisonerPermissionStatusFunction; ifPrisonInCaseload: PrisonerPermissionStatusFunction; } export declare function getPermissionStatus(user: HmppsUser, prisoner: Prisoner, conditions: PrisonerPermissionConditions): PermissionCheckStatus;