@ministryofjustice/hmpps-connect-dps-shared-items 1.2.1 → 2.0.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/dist/alertFlags/getAlertFlagLabelsForAlerts.d.ts +3 -4
- package/dist/alertFlags/getAlertFlagLabelsForAlerts.test.d.ts +1 -0
- package/dist/{alertFlags/getAlertFlagLabelsForAlerts.js → index.cjs} +14 -11
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +70 -5
- package/dist/index.esm.js +147 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/{alertFlags/types → types/public/alertFlags}/Alert.d.ts +1 -3
- package/dist/{alertFlags/types → types/public/alertFlags}/AlertFlagLabel.d.ts +1 -1
- package/dist/types/public/alertFlags/index.d.ts +1 -0
- package/package.json +44 -53
- package/readme/publishing.md +21 -0
- package/dist/alertFlags/getAlertFlagLabelsForAlerts.js.map +0 -1
- package/dist/alertFlags/types/Alert.js +0 -7
- package/dist/alertFlags/types/Alert.js.map +0 -1
- package/dist/alertFlags/types/AlertFlagLabel.js +0 -3
- package/dist/alertFlags/types/AlertFlagLabel.js.map +0 -1
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import Alert from '
|
|
2
|
-
import AlertFlagLabel from '
|
|
1
|
+
import { Alert } from '../types/public/alertFlags/Alert';
|
|
2
|
+
import { AlertFlagLabel } from '../types/public/alertFlags/AlertFlagLabel';
|
|
3
3
|
export declare const alertFlagLabels: {
|
|
4
4
|
alertCodes: string[];
|
|
5
5
|
classes: string;
|
|
6
6
|
label: string;
|
|
7
7
|
}[];
|
|
8
|
-
|
|
9
|
-
export default _default;
|
|
8
|
+
export default function getAlertFlagLabelsForAlerts(prisonerAlerts: Alert[]): AlertFlagLabel[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const Alert_1 = require("./types/Alert");
|
|
5
|
-
exports.alertFlagLabels = [
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const alertFlagLabels = [
|
|
6
4
|
{ alertCodes: ['HA'], classes: 'dps-alert-status dps-alert-status--self-harm', label: 'ACCT open' },
|
|
7
5
|
{
|
|
8
6
|
alertCodes: ['HA1'],
|
|
@@ -130,17 +128,22 @@ exports.alertFlagLabels = [
|
|
|
130
128
|
label: 'Violent',
|
|
131
129
|
},
|
|
132
130
|
].sort((a, b) => a.label.localeCompare(b.label));
|
|
133
|
-
|
|
134
|
-
return
|
|
131
|
+
function isAlertsServiceAlert(alert) {
|
|
132
|
+
return typeof alert.alertCode !== 'string';
|
|
133
|
+
}
|
|
134
|
+
function getAlertFlagLabelsForAlerts(prisonerAlerts) {
|
|
135
|
+
return alertFlagLabels.reduce((acc, flag) => {
|
|
135
136
|
const alertIds = prisonerAlerts
|
|
136
137
|
.filter(alert => {
|
|
137
|
-
const alertsServiceAlert =
|
|
138
|
+
const alertsServiceAlert = isAlertsServiceAlert(alert);
|
|
138
139
|
const alertIsActive = alertsServiceAlert ? alert.isActive : alert.active && !alert.expired;
|
|
139
140
|
const prisonerAlertCode = alertsServiceAlert ? alert.alertCode.code : alert.alertCode;
|
|
140
141
|
return alertIsActive && flag.alertCodes.includes(prisonerAlertCode);
|
|
141
142
|
})
|
|
142
|
-
.map(alert => (
|
|
143
|
+
.map(alert => (isAlertsServiceAlert(alert) ? alert.alertUuid : alert.alertCode));
|
|
143
144
|
return alertIds.length ? [...acc, { ...flag, alertIds }] : acc;
|
|
144
145
|
}, []);
|
|
145
|
-
}
|
|
146
|
-
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
exports.getAlertFlagLabelsForAlerts = getAlertFlagLabelsForAlerts;
|
|
149
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/alertFlags/getAlertFlagLabelsForAlerts.ts"],"sourcesContent":["import { Alert, AlertsServiceAlert } from '../types/public/alertFlags/Alert'\nimport { AlertFlagLabel } from '../types/public/alertFlags/AlertFlagLabel'\n\nexport const alertFlagLabels = [\n { alertCodes: ['HA'], classes: 'dps-alert-status dps-alert-status--self-harm', label: 'ACCT open' },\n {\n alertCodes: ['HA1'],\n classes: 'dps-alert-status dps-alert-status--self-harm',\n label: 'ACCT post closure',\n },\n {\n alertCodes: ['XSA', 'SA'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Staff assaulter',\n },\n {\n alertCodes: ['XA'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Arsonist',\n },\n {\n alertCodes: ['PEEP'],\n classes: 'dps-alert-status dps-alert-status--medical',\n label: 'PEEP',\n },\n {\n alertCodes: ['HID'],\n classes: 'dps-alert-status dps-alert-status--medical',\n label: 'Hidden disability',\n },\n { alertCodes: ['XEL'], classes: 'dps-alert-status dps-alert-status--security', label: 'E-list' },\n { alertCodes: ['XELH'], classes: 'dps-alert-status dps-alert-status--security', label: 'E-list heightened' },\n { alertCodes: ['XER'], classes: 'dps-alert-status dps-alert-status--security', label: 'Escape risk' },\n {\n alertCodes: ['XRF'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Risk to females',\n },\n { alertCodes: ['XTACT'], classes: 'dps-alert-status dps-alert-status--security', label: 'TACT' },\n {\n alertCodes: ['XCO'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Corruptor',\n },\n {\n alertCodes: ['XCA'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Chemical attacker',\n },\n {\n alertCodes: ['XCI'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Concerted indiscipline',\n },\n { alertCodes: ['XR'], classes: 'dps-alert-status dps-alert-status--security', label: 'Racist' },\n {\n alertCodes: ['RTP', 'RLG'],\n classes: 'dps-alert-status dps-alert-status--risk',\n label: 'Risk to LGBT',\n },\n {\n alertCodes: ['XHT'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Hostage taker',\n },\n {\n alertCodes: ['XCU'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Controlled unlock',\n },\n {\n alertCodes: ['XGANG'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Gang member',\n },\n { alertCodes: ['CSIP'], classes: 'dps-alert-status dps-alert-status--other', label: 'CSIP' },\n { alertCodes: ['F1'], classes: 'dps-alert-status dps-alert-status--ex-armed-forces', label: 'Veteran' },\n {\n alertCodes: ['LCE'],\n classes: 'dps-alert-status dps-alert-status--care-leaver',\n label: 'Care experienced',\n },\n {\n alertCodes: ['RNO121'],\n classes: 'dps-alert-status dps-alert-status--risk',\n label: 'No one-to-one',\n },\n { alertCodes: ['RCON'], classes: 'dps-alert-status dps-alert-status--risk', label: 'Conflict' },\n {\n alertCodes: ['RCDR'],\n classes: 'dps-alert-status dps-alert-status--quarantined',\n label: 'Quarantined',\n },\n {\n alertCodes: ['URCU'],\n classes: 'dps-alert-status dps-alert-status--reverse-cohorting-unit',\n label: 'Reverse Cohorting Unit',\n },\n {\n alertCodes: ['UPIU'],\n classes: 'dps-alert-status dps-alert-status--protective-isolation-unit',\n label: 'Protective Isolation Unit',\n },\n { alertCodes: ['USU'], classes: 'dps-alert-status dps-alert-status--shielding-unit', label: 'Shielding Unit' },\n {\n alertCodes: ['URS'],\n classes: 'dps-alert-status dps-alert-status--refusing-to-shield',\n label: 'Refusing to shield',\n },\n {\n alertCodes: ['RKS'],\n classes: 'dps-alert-status dps-alert-status--risk-to-known-adults',\n label: 'Risk to known adults',\n },\n { alertCodes: ['VIP'], classes: 'dps-alert-status dps-alert-status--isolated-prisoner', label: 'Isolated' },\n {\n alertCodes: ['PVN'],\n classes: 'dps-alert-status dps-alert-status--multicase dps-alert-status--visor',\n label: 'ViSOR',\n },\n {\n alertCodes: ['XCDO'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Involved in 2024 civil disorder',\n },\n {\n alertCodes: ['XVL'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Violent',\n },\n].sort((a, b) => a.label.localeCompare(b.label))\n\nfunction isAlertsServiceAlert(alert: Alert): alert is AlertsServiceAlert {\n return typeof alert.alertCode !== 'string'\n}\n\nexport default function getAlertFlagLabelsForAlerts(prisonerAlerts: Alert[]): AlertFlagLabel[] {\n return alertFlagLabels.reduce(\n (acc: AlertFlagLabel[], flag: { alertCodes: string[]; classes: string; label: string }) => {\n const alertIds = prisonerAlerts\n .filter(alert => {\n const alertsServiceAlert = isAlertsServiceAlert(alert)\n const alertIsActive = alertsServiceAlert ? alert.isActive : alert.active && !alert.expired\n const prisonerAlertCode = alertsServiceAlert ? alert.alertCode.code : alert.alertCode\n\n return alertIsActive && flag.alertCodes.includes(prisonerAlertCode)\n })\n .map(alert => (isAlertsServiceAlert(alert) ? (alert.alertUuid as string) : alert.alertCode))\n\n return alertIds.length ? [...acc, { ...flag, alertIds }] : acc\n },\n [] as AlertFlagLabel[],\n )\n}\n"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
type Alert = BasicAlert | PrisonApiAlert | AlertsServiceAlert;
|
|
2
|
+
interface BasicAlert {
|
|
3
|
+
alertType: string;
|
|
4
|
+
alertCode: string;
|
|
5
|
+
active: boolean;
|
|
6
|
+
expired: boolean;
|
|
7
|
+
}
|
|
8
|
+
interface PrisonApiAlert {
|
|
9
|
+
alertId: string;
|
|
10
|
+
alertType: string;
|
|
11
|
+
alertTypeDescription: string;
|
|
12
|
+
alertCode: string;
|
|
13
|
+
alertCodeDescription: string;
|
|
14
|
+
comment?: string;
|
|
15
|
+
dateCreated: string;
|
|
16
|
+
modifiedDateTime?: string;
|
|
17
|
+
dateExpires?: string;
|
|
18
|
+
expired: boolean;
|
|
19
|
+
active: boolean;
|
|
20
|
+
addedByFirstName?: string;
|
|
21
|
+
addedByLastName?: string;
|
|
22
|
+
addedByFullName?: string;
|
|
23
|
+
expiredByFirstName?: string;
|
|
24
|
+
expiredByLastName?: string;
|
|
25
|
+
expiredByFullName?: string;
|
|
26
|
+
}
|
|
27
|
+
interface AlertsServiceAlert {
|
|
28
|
+
alertUuid?: string;
|
|
29
|
+
prisonNumber?: string;
|
|
30
|
+
alertCode: {
|
|
31
|
+
alertTypeCode: string;
|
|
32
|
+
alertTypeDescription: string;
|
|
33
|
+
code: string;
|
|
34
|
+
description: string;
|
|
4
35
|
};
|
|
5
|
-
|
|
6
|
-
|
|
36
|
+
description: string;
|
|
37
|
+
authorisedBy?: string;
|
|
38
|
+
activeFrom: string;
|
|
39
|
+
activeTo?: string;
|
|
40
|
+
isActive: boolean;
|
|
41
|
+
comments?: [
|
|
42
|
+
{
|
|
43
|
+
commentUuid: string;
|
|
44
|
+
comment: string;
|
|
45
|
+
createdAt: string;
|
|
46
|
+
createdBy: string;
|
|
47
|
+
createdByDisplayName: string;
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
createdAt?: string;
|
|
51
|
+
createdBy?: string;
|
|
52
|
+
createdByDisplayName: string;
|
|
53
|
+
lastModifiedAt?: string;
|
|
54
|
+
lastModifiedBy?: string;
|
|
55
|
+
lastModifiedByDisplayName?: string;
|
|
56
|
+
activeToLastSetAt?: string;
|
|
57
|
+
activeToLastSetBy?: string;
|
|
58
|
+
activeToLastSetByDisplayName?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface AlertFlagLabel {
|
|
62
|
+
alertCodes: string[];
|
|
63
|
+
classes: string;
|
|
64
|
+
label: string;
|
|
65
|
+
alertIds?: string[];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
declare function getAlertFlagLabelsForAlerts(prisonerAlerts: Alert[]): AlertFlagLabel[];
|
|
69
|
+
|
|
70
|
+
export { getAlertFlagLabelsForAlerts };
|
|
71
|
+
export type { Alert, AlertFlagLabel, AlertsServiceAlert, BasicAlert, PrisonApiAlert };
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
const alertFlagLabels = [
|
|
2
|
+
{ alertCodes: ['HA'], classes: 'dps-alert-status dps-alert-status--self-harm', label: 'ACCT open' },
|
|
3
|
+
{
|
|
4
|
+
alertCodes: ['HA1'],
|
|
5
|
+
classes: 'dps-alert-status dps-alert-status--self-harm',
|
|
6
|
+
label: 'ACCT post closure',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
alertCodes: ['XSA', 'SA'],
|
|
10
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
11
|
+
label: 'Staff assaulter',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
alertCodes: ['XA'],
|
|
15
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
16
|
+
label: 'Arsonist',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
alertCodes: ['PEEP'],
|
|
20
|
+
classes: 'dps-alert-status dps-alert-status--medical',
|
|
21
|
+
label: 'PEEP',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
alertCodes: ['HID'],
|
|
25
|
+
classes: 'dps-alert-status dps-alert-status--medical',
|
|
26
|
+
label: 'Hidden disability',
|
|
27
|
+
},
|
|
28
|
+
{ alertCodes: ['XEL'], classes: 'dps-alert-status dps-alert-status--security', label: 'E-list' },
|
|
29
|
+
{ alertCodes: ['XELH'], classes: 'dps-alert-status dps-alert-status--security', label: 'E-list heightened' },
|
|
30
|
+
{ alertCodes: ['XER'], classes: 'dps-alert-status dps-alert-status--security', label: 'Escape risk' },
|
|
31
|
+
{
|
|
32
|
+
alertCodes: ['XRF'],
|
|
33
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
34
|
+
label: 'Risk to females',
|
|
35
|
+
},
|
|
36
|
+
{ alertCodes: ['XTACT'], classes: 'dps-alert-status dps-alert-status--security', label: 'TACT' },
|
|
37
|
+
{
|
|
38
|
+
alertCodes: ['XCO'],
|
|
39
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
40
|
+
label: 'Corruptor',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
alertCodes: ['XCA'],
|
|
44
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
45
|
+
label: 'Chemical attacker',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
alertCodes: ['XCI'],
|
|
49
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
50
|
+
label: 'Concerted indiscipline',
|
|
51
|
+
},
|
|
52
|
+
{ alertCodes: ['XR'], classes: 'dps-alert-status dps-alert-status--security', label: 'Racist' },
|
|
53
|
+
{
|
|
54
|
+
alertCodes: ['RTP', 'RLG'],
|
|
55
|
+
classes: 'dps-alert-status dps-alert-status--risk',
|
|
56
|
+
label: 'Risk to LGBT',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
alertCodes: ['XHT'],
|
|
60
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
61
|
+
label: 'Hostage taker',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
alertCodes: ['XCU'],
|
|
65
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
66
|
+
label: 'Controlled unlock',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
alertCodes: ['XGANG'],
|
|
70
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
71
|
+
label: 'Gang member',
|
|
72
|
+
},
|
|
73
|
+
{ alertCodes: ['CSIP'], classes: 'dps-alert-status dps-alert-status--other', label: 'CSIP' },
|
|
74
|
+
{ alertCodes: ['F1'], classes: 'dps-alert-status dps-alert-status--ex-armed-forces', label: 'Veteran' },
|
|
75
|
+
{
|
|
76
|
+
alertCodes: ['LCE'],
|
|
77
|
+
classes: 'dps-alert-status dps-alert-status--care-leaver',
|
|
78
|
+
label: 'Care experienced',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
alertCodes: ['RNO121'],
|
|
82
|
+
classes: 'dps-alert-status dps-alert-status--risk',
|
|
83
|
+
label: 'No one-to-one',
|
|
84
|
+
},
|
|
85
|
+
{ alertCodes: ['RCON'], classes: 'dps-alert-status dps-alert-status--risk', label: 'Conflict' },
|
|
86
|
+
{
|
|
87
|
+
alertCodes: ['RCDR'],
|
|
88
|
+
classes: 'dps-alert-status dps-alert-status--quarantined',
|
|
89
|
+
label: 'Quarantined',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
alertCodes: ['URCU'],
|
|
93
|
+
classes: 'dps-alert-status dps-alert-status--reverse-cohorting-unit',
|
|
94
|
+
label: 'Reverse Cohorting Unit',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
alertCodes: ['UPIU'],
|
|
98
|
+
classes: 'dps-alert-status dps-alert-status--protective-isolation-unit',
|
|
99
|
+
label: 'Protective Isolation Unit',
|
|
100
|
+
},
|
|
101
|
+
{ alertCodes: ['USU'], classes: 'dps-alert-status dps-alert-status--shielding-unit', label: 'Shielding Unit' },
|
|
102
|
+
{
|
|
103
|
+
alertCodes: ['URS'],
|
|
104
|
+
classes: 'dps-alert-status dps-alert-status--refusing-to-shield',
|
|
105
|
+
label: 'Refusing to shield',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
alertCodes: ['RKS'],
|
|
109
|
+
classes: 'dps-alert-status dps-alert-status--risk-to-known-adults',
|
|
110
|
+
label: 'Risk to known adults',
|
|
111
|
+
},
|
|
112
|
+
{ alertCodes: ['VIP'], classes: 'dps-alert-status dps-alert-status--isolated-prisoner', label: 'Isolated' },
|
|
113
|
+
{
|
|
114
|
+
alertCodes: ['PVN'],
|
|
115
|
+
classes: 'dps-alert-status dps-alert-status--multicase dps-alert-status--visor',
|
|
116
|
+
label: 'ViSOR',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
alertCodes: ['XCDO'],
|
|
120
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
121
|
+
label: 'Involved in 2024 civil disorder',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
alertCodes: ['XVL'],
|
|
125
|
+
classes: 'dps-alert-status dps-alert-status--security',
|
|
126
|
+
label: 'Violent',
|
|
127
|
+
},
|
|
128
|
+
].sort((a, b) => a.label.localeCompare(b.label));
|
|
129
|
+
function isAlertsServiceAlert(alert) {
|
|
130
|
+
return typeof alert.alertCode !== 'string';
|
|
131
|
+
}
|
|
132
|
+
function getAlertFlagLabelsForAlerts(prisonerAlerts) {
|
|
133
|
+
return alertFlagLabels.reduce((acc, flag) => {
|
|
134
|
+
const alertIds = prisonerAlerts
|
|
135
|
+
.filter(alert => {
|
|
136
|
+
const alertsServiceAlert = isAlertsServiceAlert(alert);
|
|
137
|
+
const alertIsActive = alertsServiceAlert ? alert.isActive : alert.active && !alert.expired;
|
|
138
|
+
const prisonerAlertCode = alertsServiceAlert ? alert.alertCode.code : alert.alertCode;
|
|
139
|
+
return alertIsActive && flag.alertCodes.includes(prisonerAlertCode);
|
|
140
|
+
})
|
|
141
|
+
.map(alert => (isAlertsServiceAlert(alert) ? alert.alertUuid : alert.alertCode));
|
|
142
|
+
return alertIds.length ? [...acc, { ...flag, alertIds }] : acc;
|
|
143
|
+
}, []);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export { getAlertFlagLabelsForAlerts };
|
|
147
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/alertFlags/getAlertFlagLabelsForAlerts.ts"],"sourcesContent":["import { Alert, AlertsServiceAlert } from '../types/public/alertFlags/Alert'\nimport { AlertFlagLabel } from '../types/public/alertFlags/AlertFlagLabel'\n\nexport const alertFlagLabels = [\n { alertCodes: ['HA'], classes: 'dps-alert-status dps-alert-status--self-harm', label: 'ACCT open' },\n {\n alertCodes: ['HA1'],\n classes: 'dps-alert-status dps-alert-status--self-harm',\n label: 'ACCT post closure',\n },\n {\n alertCodes: ['XSA', 'SA'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Staff assaulter',\n },\n {\n alertCodes: ['XA'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Arsonist',\n },\n {\n alertCodes: ['PEEP'],\n classes: 'dps-alert-status dps-alert-status--medical',\n label: 'PEEP',\n },\n {\n alertCodes: ['HID'],\n classes: 'dps-alert-status dps-alert-status--medical',\n label: 'Hidden disability',\n },\n { alertCodes: ['XEL'], classes: 'dps-alert-status dps-alert-status--security', label: 'E-list' },\n { alertCodes: ['XELH'], classes: 'dps-alert-status dps-alert-status--security', label: 'E-list heightened' },\n { alertCodes: ['XER'], classes: 'dps-alert-status dps-alert-status--security', label: 'Escape risk' },\n {\n alertCodes: ['XRF'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Risk to females',\n },\n { alertCodes: ['XTACT'], classes: 'dps-alert-status dps-alert-status--security', label: 'TACT' },\n {\n alertCodes: ['XCO'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Corruptor',\n },\n {\n alertCodes: ['XCA'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Chemical attacker',\n },\n {\n alertCodes: ['XCI'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Concerted indiscipline',\n },\n { alertCodes: ['XR'], classes: 'dps-alert-status dps-alert-status--security', label: 'Racist' },\n {\n alertCodes: ['RTP', 'RLG'],\n classes: 'dps-alert-status dps-alert-status--risk',\n label: 'Risk to LGBT',\n },\n {\n alertCodes: ['XHT'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Hostage taker',\n },\n {\n alertCodes: ['XCU'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Controlled unlock',\n },\n {\n alertCodes: ['XGANG'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Gang member',\n },\n { alertCodes: ['CSIP'], classes: 'dps-alert-status dps-alert-status--other', label: 'CSIP' },\n { alertCodes: ['F1'], classes: 'dps-alert-status dps-alert-status--ex-armed-forces', label: 'Veteran' },\n {\n alertCodes: ['LCE'],\n classes: 'dps-alert-status dps-alert-status--care-leaver',\n label: 'Care experienced',\n },\n {\n alertCodes: ['RNO121'],\n classes: 'dps-alert-status dps-alert-status--risk',\n label: 'No one-to-one',\n },\n { alertCodes: ['RCON'], classes: 'dps-alert-status dps-alert-status--risk', label: 'Conflict' },\n {\n alertCodes: ['RCDR'],\n classes: 'dps-alert-status dps-alert-status--quarantined',\n label: 'Quarantined',\n },\n {\n alertCodes: ['URCU'],\n classes: 'dps-alert-status dps-alert-status--reverse-cohorting-unit',\n label: 'Reverse Cohorting Unit',\n },\n {\n alertCodes: ['UPIU'],\n classes: 'dps-alert-status dps-alert-status--protective-isolation-unit',\n label: 'Protective Isolation Unit',\n },\n { alertCodes: ['USU'], classes: 'dps-alert-status dps-alert-status--shielding-unit', label: 'Shielding Unit' },\n {\n alertCodes: ['URS'],\n classes: 'dps-alert-status dps-alert-status--refusing-to-shield',\n label: 'Refusing to shield',\n },\n {\n alertCodes: ['RKS'],\n classes: 'dps-alert-status dps-alert-status--risk-to-known-adults',\n label: 'Risk to known adults',\n },\n { alertCodes: ['VIP'], classes: 'dps-alert-status dps-alert-status--isolated-prisoner', label: 'Isolated' },\n {\n alertCodes: ['PVN'],\n classes: 'dps-alert-status dps-alert-status--multicase dps-alert-status--visor',\n label: 'ViSOR',\n },\n {\n alertCodes: ['XCDO'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Involved in 2024 civil disorder',\n },\n {\n alertCodes: ['XVL'],\n classes: 'dps-alert-status dps-alert-status--security',\n label: 'Violent',\n },\n].sort((a, b) => a.label.localeCompare(b.label))\n\nfunction isAlertsServiceAlert(alert: Alert): alert is AlertsServiceAlert {\n return typeof alert.alertCode !== 'string'\n}\n\nexport default function getAlertFlagLabelsForAlerts(prisonerAlerts: Alert[]): AlertFlagLabel[] {\n return alertFlagLabels.reduce(\n (acc: AlertFlagLabel[], flag: { alertCodes: string[]; classes: string; label: string }) => {\n const alertIds = prisonerAlerts\n .filter(alert => {\n const alertsServiceAlert = isAlertsServiceAlert(alert)\n const alertIsActive = alertsServiceAlert ? alert.isActive : alert.active && !alert.expired\n const prisonerAlertCode = alertsServiceAlert ? alert.alertCode.code : alert.alertCode\n\n return alertIsActive && flag.alertCodes.includes(prisonerAlertCode)\n })\n .map(alert => (isAlertsServiceAlert(alert) ? (alert.alertUuid as string) : alert.alertCode))\n\n return alertIds.length ? [...acc, { ...flag, alertIds }] : acc\n },\n [] as AlertFlagLabel[],\n )\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
type Alert = BasicAlert | PrisonApiAlert | AlertsServiceAlert;
|
|
2
|
-
export default Alert;
|
|
1
|
+
export type Alert = BasicAlert | PrisonApiAlert | AlertsServiceAlert;
|
|
3
2
|
export interface BasicAlert {
|
|
4
3
|
alertType: string;
|
|
5
4
|
alertCode: string;
|
|
@@ -58,4 +57,3 @@ export interface AlertsServiceAlert {
|
|
|
58
57
|
activeToLastSetBy?: string;
|
|
59
58
|
activeToLastSetByDisplayName?: string;
|
|
60
59
|
}
|
|
61
|
-
export declare function isAlertsServiceAlert(alert: Alert): alert is AlertsServiceAlert;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { default as getAlertFlagLabelsForAlerts } from '../../../alertFlags/getAlertFlagLabelsForAlerts';
|
package/package.json
CHANGED
|
@@ -1,80 +1,71 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ministryofjustice/hmpps-connect-dps-shared-items",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "A package to share
|
|
5
|
-
"main": "./dist/index.
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "A package to share Connect DPS functionality across applications",
|
|
5
|
+
"main": "./dist/index.cjs",
|
|
6
|
+
"module": "./dist/index.esm.js",
|
|
6
7
|
"types": "./dist/index.d.ts",
|
|
7
8
|
"files": [
|
|
9
|
+
"*.md",
|
|
8
10
|
"dist/**/*"
|
|
9
11
|
],
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": "20 || 22"
|
|
14
|
+
},
|
|
10
15
|
"scripts": {
|
|
11
|
-
"build": "
|
|
12
|
-
"
|
|
13
|
-
"test
|
|
16
|
+
"build": "rollup -c rollup.config.ts --bundleConfigAsCjs && npm run copy:assets",
|
|
17
|
+
"clean": "rm -rf ./dist/",
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"test:ci": "jest --runInBand",
|
|
20
|
+
"typecheck": "tsc",
|
|
14
21
|
"lint": "eslint . --cache --max-warnings 0",
|
|
22
|
+
"lint:fix": "eslint . --cache --max-warnings 0 --fix",
|
|
15
23
|
"copy:assets": "rm -rf dist/assets && cp -r src/assets dist/assets",
|
|
16
|
-
"security_audit": "npx audit-ci --config audit-ci.json"
|
|
24
|
+
"security_audit": "npx audit-ci --config audit-ci.json",
|
|
25
|
+
"prepare": "hmpps-precommit-hooks-prepare",
|
|
26
|
+
"precommit:secrets": "gitleaks git --pre-commit --redact --staged --verbose --config .gitleaks/config.toml",
|
|
27
|
+
"precommit:lint": "node_modules/.bin/lint-staged",
|
|
28
|
+
"precommit:verify": "npm run typecheck && npm test"
|
|
17
29
|
},
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
{
|
|
23
|
-
"isolatedModules": true
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
},
|
|
27
|
-
"testMatch": [
|
|
28
|
-
"<rootDir>/**/**/?(*.)(cy|test).{ts,js,jsx,mjs}"
|
|
29
|
-
],
|
|
30
|
-
"testEnvironment": "node",
|
|
31
|
-
"reporters": [
|
|
32
|
-
"default",
|
|
33
|
-
[
|
|
34
|
-
"jest-junit",
|
|
35
|
-
{
|
|
36
|
-
"outputDirectory": "test_results/jest/"
|
|
37
|
-
}
|
|
38
|
-
],
|
|
39
|
-
[
|
|
40
|
-
"./node_modules/jest-html-reporter",
|
|
41
|
-
{
|
|
42
|
-
"outputPath": "test_results/unit-test-reports.html"
|
|
43
|
-
}
|
|
44
|
-
]
|
|
30
|
+
"lint-staged": {
|
|
31
|
+
"*.{ts,css}": [
|
|
32
|
+
"prettier --write",
|
|
33
|
+
"eslint --fix"
|
|
45
34
|
],
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"js",
|
|
49
|
-
"json",
|
|
50
|
-
"node",
|
|
51
|
-
"ts"
|
|
35
|
+
"*.json": [
|
|
36
|
+
"prettier --write"
|
|
52
37
|
]
|
|
53
38
|
},
|
|
39
|
+
"author": "hmpps-developers",
|
|
40
|
+
"homepage": "https://github.com/ministryofjustice/hmpps-connect-dps-shared-items-package#readme",
|
|
41
|
+
"license": "MIT",
|
|
54
42
|
"repository": {
|
|
55
43
|
"type": "git",
|
|
56
44
|
"url": "git+ssh://git@github.com/ministryofjustice/hmpps-connect-dps-shared-items-package.git"
|
|
57
45
|
},
|
|
58
|
-
"author": "",
|
|
59
|
-
"license": "MIT",
|
|
60
46
|
"bugs": {
|
|
61
47
|
"url": "https://github.com/ministryofjustice/hmpps-connect-dps-shared-items-package/issues"
|
|
62
48
|
},
|
|
63
|
-
"homepage": "https://github.com/ministryofjustice/hmpps-connect-dps-shared-items-package#readme",
|
|
64
49
|
"devDependencies": {
|
|
50
|
+
"@ministryofjustice/eslint-config-hmpps": "^0.0.3",
|
|
51
|
+
"@ministryofjustice/hmpps-precommit-hooks": "^0.0.3",
|
|
52
|
+
"@rollup/plugin-commonjs": "^28.0.6",
|
|
53
|
+
"@rollup/plugin-multi-entry": "^6.0.1",
|
|
54
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
55
|
+
"@rollup/plugin-typescript": "^12.1.4",
|
|
56
|
+
"@tsconfig/node22": "^22.0.2",
|
|
65
57
|
"@types/jest": "^29.5.14",
|
|
66
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
67
|
-
"eslint": "^
|
|
68
|
-
"eslint-config-airbnb-base": "^15.0.0",
|
|
69
|
-
"eslint-config-prettier": "^9.1.0",
|
|
70
|
-
"eslint-import-resolver-typescript": "^3.6.3",
|
|
71
|
-
"eslint-plugin-cypress": "^2.15.2",
|
|
72
|
-
"eslint-plugin-import": "^2.31.0",
|
|
58
|
+
"@typescript-eslint/eslint-plugin": "^8.41.0",
|
|
59
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
73
60
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
74
|
-
"eslint-plugin-prettier": "^5.2.1",
|
|
75
61
|
"jest": "^29.7.0",
|
|
76
62
|
"jest-html-reporter": "^3.10.2",
|
|
77
63
|
"jest-junit": "^16.0.0",
|
|
78
|
-
"
|
|
79
|
-
|
|
64
|
+
"lint-staged": "^16.1.5",
|
|
65
|
+
"rollup": "^4.49.0",
|
|
66
|
+
"rollup-plugin-dts": "^6.2.3",
|
|
67
|
+
"ts-jest": "^29.4.1",
|
|
68
|
+
"tslib": "^2.8.1"
|
|
69
|
+
},
|
|
70
|
+
"dependencies": {}
|
|
80
71
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[< Back](../README.md)
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
## Publishing to NPM
|
|
5
|
+
|
|
6
|
+
This library is [published to NPM](https://www.npmjs.com/package/@ministryofjustice/hmpps-connect-dps-components).
|
|
7
|
+
|
|
8
|
+
The process to publish a change is as follows:
|
|
9
|
+
|
|
10
|
+
* Create a branch from `main`
|
|
11
|
+
* Make the code changes
|
|
12
|
+
* Run `npm version <patch|minor|major> --no-git-tag-version` to bump the version number appropriately (for help with
|
|
13
|
+
semantic versioning, see https://semver.org/)
|
|
14
|
+
* Commit the changes, push the branch and raise a PR
|
|
15
|
+
* Once the PR has been merged to `main`, [create a new release](https://github.com/ministryofjustice/hmpps-connect-dps-shared-items-package/releases/new):
|
|
16
|
+
* Select the `Choose a tag` dropdown and create a new tag entering the new version number (this must start with a `v`, e.g. `v0.0.1`)
|
|
17
|
+
* Enter a release title with the following format `<version>: <short title>` e.g. `v0.0.1: First Release`
|
|
18
|
+
* Enter a more detailed description of the release
|
|
19
|
+
* Click `Publish release`
|
|
20
|
+
|
|
21
|
+
CircleCI is configured to trigger on the tagged release and publish to NPM.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAlertFlagLabelsForAlerts.js","sourceRoot":"","sources":["../../src/alertFlags/getAlertFlagLabelsForAlerts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/alertFlags/types/Alert.ts"],"names":[],"mappings":";;AAgEA,oDAEC;AAFD,SAAgB,oBAAoB,CAAC,KAAY;IAC/C,OAAO,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAA;AAC5C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AlertFlagLabel.js","sourceRoot":"","sources":["../../../src/alertFlags/types/AlertFlagLabel.ts"],"names":[],"mappings":""}
|
package/dist/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const getAlertFlagLabelsForAlerts_1 = __importDefault(require("./alertFlags/getAlertFlagLabelsForAlerts"));
|
|
7
|
-
exports.default = {
|
|
8
|
-
alertFlags: {
|
|
9
|
-
getAlertFlagLabelsForAlerts: getAlertFlagLabelsForAlerts_1.default,
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,2GAAkF;AAElF,kBAAe;IACb,UAAU,EAAE;QACV,2BAA2B,EAA3B,qCAA2B;KAC5B;CACF,CAAA"}
|