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.

20 lines (19 loc) 1.88 kB
import { HmppsUser } from '../../../types/internal/user/HmppsUser'; import { PrisonerPermission, PrisonerPermissions } from '../../../types/public/permissions/prisoner/PrisonerPermissions'; import { Role } from '../../../types/internal/user/Role'; import { PermissionCheckStatus } from '../../../types/internal/permissions/PermissionCheckStatus'; import PrisonerPermissionsContext from '../../../types/internal/permissions/PrisonerPermissionsContext'; import Prisoner from '../../../data/hmppsPrisonerSearch/interfaces/Prisoner'; export declare function isRequiredPermission(permission: PrisonerPermission, requiredPermissions: PrisonerPermission[]): boolean; export declare function logDeniedPermissionCheck(permission: PrisonerPermission, context: PrisonerPermissionsContext, status: PermissionCheckStatus): void; export declare const isActiveCaseLoad: (prisonId: string | undefined, user: HmppsUser) => boolean; export declare function isInUsersCaseLoad(prisonId: string | undefined, user: HmppsUser): boolean; export declare const isReleased: (prisoner: Prisoner) => boolean; export declare const isTransferring: (prisoner: Prisoner) => boolean; export declare function isReleasedOrTransferring(prisoner: Prisoner): boolean; export declare const wasReleasedWithinThreeYears: (prisoner: Prisoner) => boolean; export declare function userHasSomeRolesFrom(rolesToCheck: Role[], user: HmppsUser): boolean; export declare function userHasAllRoles(rolesToCheck: Role[], user: HmppsUser): boolean; export declare const userHasRole: (roleToCheck: Role, user: HmppsUser) => boolean; export declare function setPrisonerPermission(permission: PrisonerPermission, permitted: boolean, permissions: PrisonerPermissions): PrisonerPermissions; export declare function upgradePermissions(basePermissions: PrisonerPermissions, additionalPermissions: PrisonerPermissions): PrisonerPermissions;