@ministryofjustice/hmpps-prison-permissions-lib 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +2 -1
- package/dist/index.d.ts +26 -26
- package/package.json +16 -16
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Please use this to capture reasoning behind changes:
|
|
4
4
|
|
|
5
|
+
## 0.5.0
|
|
6
|
+
|
|
7
|
+
No functionality changes. Dependencies updated and support for node 24 has been added.
|
|
8
|
+
|
|
5
9
|
## 0.4.0
|
|
6
10
|
|
|
7
11
|
Access period for users with both the `POM` and `GLOBAL_SEARCH` roles to access prisoner case notes after a transfer extended from 30 to 90 days.
|
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# hmpps-prison-permissions-lib
|
|
2
2
|
|
|
3
3
|
[](https://operations-engineering-reports.cloud-platform.service.justice.gov.uk/public-report/hmpps-prison-permissions-lib "Link to report")
|
|
4
|
+
[](https://github.com/ministryofjustice/hmpps-prison-permissions-lib/actions/workflows/pipeline.yml)
|
|
4
5
|
|
|
5
6
|
A Node.js client library to centralise the process of determining user permissions for prison services and data.
|
|
6
7
|
|
|
@@ -143,7 +144,7 @@ setupNunjucksPermissions(njkEnv)
|
|
|
143
144
|
|
|
144
145
|
* Using the permissions check in the template, for example:
|
|
145
146
|
|
|
146
|
-
```
|
|
147
|
+
```nunjucks
|
|
147
148
|
{% if isGranted(PrisonerMoneyPermission.read, res.locals.prisonerPermissions) %}
|
|
148
149
|
...
|
|
149
150
|
{% endif %}
|
package/dist/index.d.ts
CHANGED
|
@@ -384,40 +384,19 @@ declare function prisonerPermissionsGuard(permissionsService: PermissionsService
|
|
|
384
384
|
getPrisonerNumberFunction?: (req: Request) => string | undefined;
|
|
385
385
|
}): (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
386
386
|
|
|
387
|
-
interface NunjucksEnvironment {
|
|
388
|
-
addGlobal: (name: string, value: unknown) => NunjucksEnvironment;
|
|
389
|
-
}
|
|
390
|
-
declare function setupNunjucksPermissions(njkEnv: NunjucksEnvironment): void;
|
|
391
|
-
|
|
392
387
|
type Join<K, P> = K extends string | number ? (P extends string | number ? `${K}.${P}` : never) : never;
|
|
393
388
|
type Path<T> = T extends object ? {
|
|
394
389
|
[K in keyof T]-?: K extends string | number ? `${K}` | Join<K, Path<T[K]>> : never;
|
|
395
390
|
}[keyof T] : '';
|
|
396
391
|
|
|
397
|
-
declare const prisonerPermissionPaths: Record<PrisonerPermission, Path<PrisonerPermissions>>;
|
|
398
|
-
|
|
399
|
-
declare function isGranted(permission: PrisonerPermission, permissions: PrisonerPermissions | undefined): boolean;
|
|
400
|
-
|
|
401
392
|
declare const interventionsDomainPermissionPaths: Record<InterventionsDomainPermission, Path<PrisonerPermissions>>;
|
|
402
393
|
|
|
403
|
-
declare const
|
|
404
|
-
|
|
405
|
-
declare const personPlanAndNeedsDomainPermissionPaths: Record<PersonPlanAndNeedsDomainPermission, Path<PrisonerPermissions>>;
|
|
406
|
-
|
|
407
|
-
declare const prisonerSpecificDomainPermissionPaths: Record<PrisonerSpecificDomainPermission, Path<PrisonerPermissions>>;
|
|
408
|
-
|
|
409
|
-
declare const runningAPrisonDomainPermissionPaths: Record<RunningAPrisonDomainPermission, Path<PrisonerPermissions>>;
|
|
410
|
-
|
|
411
|
-
declare const sentenceAndOffenceDomainPermissionPaths: Record<SentenceAndOffenceDomainPermission, Path<PrisonerPermissions>>;
|
|
412
|
-
|
|
413
|
-
declare const securityDomainPermissionPaths: Record<SecurityDomainPermission, Path<PrisonerPermissions>>;
|
|
394
|
+
declare const personInterventionsPermissionPaths: Record<PersonInterventionsPermission, Path<PrisonerPermissions>>;
|
|
414
395
|
|
|
415
|
-
declare const
|
|
396
|
+
declare const personDomainPermissionPaths: Record<PersonDomainPermission, Path<PrisonerPermissions>>;
|
|
416
397
|
|
|
417
398
|
declare const caseNotesPermissionPaths: Record<CaseNotesPermission, Path<PrisonerPermissions>>;
|
|
418
399
|
|
|
419
|
-
declare const personInterventionsPermissionPaths: Record<PersonInterventionsPermission, Path<PrisonerPermissions>>;
|
|
420
|
-
|
|
421
400
|
declare const corePersonRecordPermissionPaths: Record<CorePersonRecordPermission, Path<PrisonerPermissions>>;
|
|
422
401
|
|
|
423
402
|
declare const personHealthAndMedicationPermissionPaths: Record<PersonHealthAndMedicationPermission, Path<PrisonerPermissions>>;
|
|
@@ -426,12 +405,16 @@ declare const personProtectedCharacteristicsPermissionPaths: Record<PersonProtec
|
|
|
426
405
|
|
|
427
406
|
declare const personalRelationshipsPermissionPaths: Record<PersonalRelationshipsPermission, Path<PrisonerPermissions>>;
|
|
428
407
|
|
|
408
|
+
declare const personPlanAndNeedsDomainPermissionPaths: Record<PersonPlanAndNeedsDomainPermission, Path<PrisonerPermissions>>;
|
|
409
|
+
|
|
429
410
|
declare const personCommunicationNeedsPermissionPaths: Record<PersonCommunicationNeedsPermission, Path<PrisonerPermissions>>;
|
|
430
411
|
|
|
431
|
-
declare const
|
|
412
|
+
declare const prisonerSpecificDomainPermissionPaths: Record<PrisonerSpecificDomainPermission, Path<PrisonerPermissions>>;
|
|
432
413
|
|
|
433
414
|
declare const personPrisonCategoryPermissionPaths: Record<PersonPrisonCategoryPermission, Path<PrisonerPermissions>>;
|
|
434
415
|
|
|
416
|
+
declare const prisonerAdjudicationsPermissionPaths: Record<PrisonerAdjudicationsPermission, Path<PrisonerPermissions>>;
|
|
417
|
+
|
|
435
418
|
declare const prisonerAlertsPermissionPaths: Record<PrisonerAlertsPermission, Path<PrisonerPermissions>>;
|
|
436
419
|
|
|
437
420
|
declare const prisonerIncentivesPermissionPaths: Record<PrisonerIncentivesPermission, Path<PrisonerPermissions>>;
|
|
@@ -442,17 +425,34 @@ declare const prisonerSchedulePermissionPaths: Record<PrisonerSchedulePermission
|
|
|
442
425
|
|
|
443
426
|
declare const useOfForcePermissionPaths: Record<UseOfForcePermission, Path<PrisonerPermissions>>;
|
|
444
427
|
|
|
428
|
+
declare const probationDomainPermissionPaths: Record<ProbationDomainPermission, Path<PrisonerPermissions>>;
|
|
429
|
+
|
|
445
430
|
declare const probationDocumentsPermissionPaths: Record<ProbationDocumentsPermission, Path<PrisonerPermissions>>;
|
|
446
431
|
|
|
447
|
-
declare const
|
|
432
|
+
declare const runningAPrisonDomainPermissionPaths: Record<RunningAPrisonDomainPermission, Path<PrisonerPermissions>>;
|
|
448
433
|
|
|
449
|
-
declare const
|
|
434
|
+
declare const prisonerBaseLocationPermissionPaths: Record<PrisonerBaseLocationPermission, Path<PrisonerPermissions>>;
|
|
450
435
|
|
|
451
436
|
declare const prisonerVisitsAndVisitorsPermissionPaths: Record<PrisonerVisitsAndVisitorsPermission, Path<PrisonerPermissions>>;
|
|
452
437
|
|
|
438
|
+
declare const securityDomainPermissionPaths: Record<SecurityDomainPermission, Path<PrisonerPermissions>>;
|
|
439
|
+
|
|
440
|
+
declare const pathfinderPermissionPaths: Record<PathfinderPermission, Path<PrisonerPermissions>>;
|
|
441
|
+
|
|
453
442
|
declare const socPermissionPaths: Record<SOCPermission, Path<PrisonerPermissions>>;
|
|
454
443
|
|
|
444
|
+
declare const sentenceAndOffenceDomainPermissionPaths: Record<SentenceAndOffenceDomainPermission, Path<PrisonerPermissions>>;
|
|
445
|
+
|
|
455
446
|
declare const personSentenceCalculationPermissionPaths: Record<PersonSentenceCalculationPermission, Path<PrisonerPermissions>>;
|
|
456
447
|
|
|
448
|
+
declare const prisonerPermissionPaths: Record<PrisonerPermission, Path<PrisonerPermissions>>;
|
|
449
|
+
|
|
450
|
+
declare function isGranted(permission: PrisonerPermission, permissions: PrisonerPermissions | undefined): boolean;
|
|
451
|
+
|
|
452
|
+
interface NunjucksEnvironment {
|
|
453
|
+
addGlobal: (name: string, value: unknown) => NunjucksEnvironment;
|
|
454
|
+
}
|
|
455
|
+
declare function setupNunjucksPermissions(njkEnv: NunjucksEnvironment): void;
|
|
456
|
+
|
|
457
457
|
export { CaseNotesPermission, CorePersonRecordPermission, PathfinderPermission, PermissionsService, PersonCommunicationNeedsPermission, PersonHealthAndMedicationPermission, PersonInterventionsPermission, PersonPrisonCategoryPermission, PersonProtectedCharacteristicsPermission, PersonSentenceCalculationPermission, PersonalRelationshipsPermission, PrisonerAdjudicationsPermission, PrisonerAlertsPermission, PrisonerBaseLocationPermission, PrisonerBasePermission, PrisonerIncentivesPermission, PrisonerMoneyPermission, PrisonerSchedulePermission, PrisonerVisitsAndVisitorsPermission, ProbationDocumentsPermission, SOCPermission, UseOfForcePermission, caseNotesPermissionPaths, corePersonRecordPermissionPaths, interventionsDomainPermissionPaths, isGranted, pathfinderPermissionPaths, personCommunicationNeedsPermissionPaths, personDomainPermissionPaths, personHealthAndMedicationPermissionPaths, personInterventionsPermissionPaths, personPlanAndNeedsDomainPermissionPaths, personPrisonCategoryPermissionPaths, personProtectedCharacteristicsPermissionPaths, personSentenceCalculationPermissionPaths, personalRelationshipsPermissionPaths, prisonerAdjudicationsPermissionPaths, prisonerAlertsPermissionPaths, prisonerBaseLocationPermissionPaths, prisonerIncentivesPermissionPaths, prisonerMoneyPermissionPaths, prisonerPermissionPaths, prisonerPermissionsGuard, prisonerSchedulePermissionPaths, prisonerSpecificDomainPermissionPaths, prisonerVisitsAndVisitorsPermissionPaths, probationDocumentsPermissionPaths, probationDomainPermissionPaths, runningAPrisonDomainPermissionPaths, securityDomainPermissionPaths, sentenceAndOffenceDomainPermissionPaths, setupNunjucksPermissions, socPermissionPaths, useOfForcePermissionPaths };
|
|
458
458
|
export type { CaseNotesPermissions, CorePersonRecordPermissions, InterventionsDomainPermission, InterventionsDomainPermissions, PathfinderPermissions, PersonCommunicationNeedsPermissions, PersonDomainPermission, PersonDomainPermissions, PersonHealthAndMedicationPermissions, PersonInterventionsPermissions, PersonPlanAndNeedsDomainPermission, PersonPlanAndNeedsDomainPermissions, PersonPrisonCategoryPermissions, PersonProtectedCharacteristicsPermissions, PersonSentenceCalculationPermissions, PersonalRelationshipsPermissions, PrisonerAdjudicationsPermissions, PrisonerAlertsPermissions, PrisonerBaseLocationPermissions, PrisonerIncentivesPermissions, PrisonerMoneyPermissions, PrisonerPermission, PrisonerPermissions, PrisonerSchedulePermissions, PrisonerSpecificDomainPermission, PrisonerSpecificDomainPermissions, PrisonerVisitsAndVisitorsPermissions, ProbationDocumentsPermissions, ProbationDomainPermission, ProbationDomainPermissions, RunningAPrisonDomainPermission, RunningAPrisonDomainPermissions, SOCPermissions, SecurityDomainPermission, SecurityDomainPermissions, SentenceAndOffenceDomainPermission, SentenceAndOffenceDomainPermissions, UseOfForcePermissions };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ministryofjustice/hmpps-prison-permissions-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "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.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hmpps",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dist/**/*"
|
|
26
26
|
],
|
|
27
27
|
"engines": {
|
|
28
|
-
"node": "20 || 22"
|
|
28
|
+
"node": "20 || 22 || 24"
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"prepare": "hmpps-precommit-hooks-prepare",
|
|
@@ -49,26 +49,26 @@
|
|
|
49
49
|
]
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@ministryofjustice/eslint-config-hmpps": "^0.0
|
|
53
|
-
"@ministryofjustice/hmpps-precommit-hooks": "^
|
|
54
|
-
"@rollup/plugin-commonjs": "^
|
|
55
|
-
"@rollup/plugin-multi-entry": "^
|
|
56
|
-
"@rollup/plugin-node-resolve": "^16.0.
|
|
57
|
-
"@rollup/plugin-typescript": "^12.
|
|
58
|
-
"@tsconfig/
|
|
52
|
+
"@ministryofjustice/eslint-config-hmpps": "^1.0.0",
|
|
53
|
+
"@ministryofjustice/hmpps-precommit-hooks": "^1.0.2",
|
|
54
|
+
"@rollup/plugin-commonjs": "^29.0.0",
|
|
55
|
+
"@rollup/plugin-multi-entry": "^7.1.0",
|
|
56
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
57
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
58
|
+
"@tsconfig/node24": "^24.0.1",
|
|
59
59
|
"@types/bunyan": "^1.8.11",
|
|
60
|
-
"@types/express": "^5.0.
|
|
60
|
+
"@types/express": "^5.0.5",
|
|
61
61
|
"@types/express-session": "^1.18.2",
|
|
62
62
|
"@types/jest": "^30.0.0",
|
|
63
|
-
"jest": "^30.0
|
|
64
|
-
"lint-staged": "^16.
|
|
65
|
-
"rollup": "^4.
|
|
63
|
+
"jest": "^30.2.0",
|
|
64
|
+
"lint-staged": "^16.2.6",
|
|
65
|
+
"rollup": "^4.53.2",
|
|
66
66
|
"rollup-plugin-dts": "^6.2.1",
|
|
67
|
-
"ts-jest": "^29.4.
|
|
68
|
-
"typescript": "^5.
|
|
67
|
+
"ts-jest": "^29.4.5",
|
|
68
|
+
"typescript": "^5.9.3"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@ministryofjustice/hmpps-rest-client": "^0.0
|
|
71
|
+
"@ministryofjustice/hmpps-rest-client": "^1.0.0",
|
|
72
72
|
"applicationinsights": "^2.9.7"
|
|
73
73
|
}
|
|
74
74
|
}
|