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.

25 lines (24 loc) 1.22 kB
import type bunyan from 'bunyan'; import { ApiConfig, AuthenticationClient } from '@ministryofjustice/hmpps-rest-client'; import { TelemetryClient } from 'applicationinsights'; import Prisoner from '../../data/hmppsPrisonerSearch/interfaces/Prisoner'; import { HmppsUser } from '../../types/internal/user/HmppsUser'; import PermissionsLogger from './PermissionsLogger'; import { PrisonerPermission, PrisonerPermissions } from '../../types/public/permissions/prisoner/PrisonerPermissions'; export default class PermissionsService { private readonly prisonerSearchClient; readonly permissionsLogger: PermissionsLogger; static create({ prisonerSearchConfig, authenticationClient, logger, telemetryClient, }: { prisonerSearchConfig: ApiConfig; authenticationClient: AuthenticationClient; logger?: bunyan | typeof console; telemetryClient?: TelemetryClient; }): PermissionsService; private constructor(); getPrisonerPermissions({ user, prisoner, requestDependentOn, }: { user: HmppsUser; prisoner: Prisoner; requestDependentOn: PrisonerPermission[]; }): PrisonerPermissions; getPrisonerDetails(prisonerNumber: string): Promise<Prisoner>; }