grm-shared-library 1.1.237 → 1.1.239
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/README.md +369 -369
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/kafka/topics.js +11 -0
- package/dist/cjs/kafka/topics.js.map +1 -1
- package/dist/cjs/modules/dispatch/constants/response-unit-dispatch-defaults.const.js +1 -0
- package/dist/cjs/modules/dispatch/constants/response-unit-dispatch-defaults.const.js.map +1 -1
- package/dist/cjs/modules/dispatch/dtos/response-unit-dispatch-notification.dto.js +5 -0
- package/dist/cjs/modules/dispatch/dtos/response-unit-dispatch-notification.dto.js.map +1 -1
- package/dist/cjs/modules/dispatch/dtos/update-response-unit-dispatch-status.dto.js +1 -0
- package/dist/cjs/modules/dispatch/dtos/update-response-unit-dispatch-status.dto.js.map +1 -1
- package/dist/cjs/modules/dispatch/enums/response-unit-dispatch-status.enum.js +6 -0
- package/dist/cjs/modules/dispatch/enums/response-unit-dispatch-status.enum.js.map +1 -1
- package/dist/cjs/modules/dispatch/enums/response-unit-dispatch-transition-source.enum.js +3 -1
- package/dist/cjs/modules/dispatch/enums/response-unit-dispatch-transition-source.enum.js.map +1 -1
- package/dist/cjs/modules/dispatch/utils/response-unit-dispatch-status.util.js +6 -2
- package/dist/cjs/modules/dispatch/utils/response-unit-dispatch-status.util.js.map +1 -1
- package/dist/cjs/modules/incident/enums/incident-actions.enum.js +4 -0
- package/dist/cjs/modules/incident/enums/incident-actions.enum.js.map +1 -1
- package/dist/cjs/modules/incident-sla/constants/emergency-incident-workflow.const.js +53 -0
- package/dist/cjs/modules/incident-sla/constants/emergency-incident-workflow.const.js.map +1 -0
- package/dist/cjs/modules/incident-sla/constants/incident-sla-defaults.const.js +258 -0
- package/dist/cjs/modules/incident-sla/constants/incident-sla-defaults.const.js.map +1 -0
- package/dist/cjs/modules/incident-sla/constants/incident-sla-kafka.const.js +27 -0
- package/dist/cjs/modules/incident-sla/constants/incident-sla-kafka.const.js.map +1 -0
- package/dist/cjs/modules/incident-sla/dtos/emergency-notification.dto.js +419 -0
- package/dist/cjs/modules/incident-sla/dtos/emergency-notification.dto.js.map +1 -0
- package/dist/cjs/modules/incident-sla/dtos/emergency-operations.dto.js +155 -0
- package/dist/cjs/modules/incident-sla/dtos/emergency-operations.dto.js.map +1 -0
- package/dist/cjs/modules/incident-sla/dtos/emergency-workflow.dto.js +216 -0
- package/dist/cjs/modules/incident-sla/dtos/emergency-workflow.dto.js.map +1 -0
- package/dist/cjs/modules/incident-sla/dtos/incident-sla-analytics-query.dto.js +95 -0
- package/dist/cjs/modules/incident-sla/dtos/incident-sla-analytics-query.dto.js.map +1 -0
- package/dist/cjs/modules/incident-sla/dtos/incident-sla-policy.dto.js +509 -0
- package/dist/cjs/modules/incident-sla/dtos/incident-sla-policy.dto.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/emergency-incident-stage.enum.js +32 -0
- package/dist/cjs/modules/incident-sla/enums/emergency-incident-stage.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/emergency-notification.enum.js +44 -0
- package/dist/cjs/modules/incident-sla/enums/emergency-notification.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/eta-status.enum.js +32 -0
- package/dist/cjs/modules/incident-sla/enums/eta-status.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/incident-closure.enum.js +23 -0
- package/dist/cjs/modules/incident-sla/enums/incident-closure.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-actor.enum.js +46 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-actor.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-error-code.enum.js +26 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-error-code.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-event-type.enum.js +45 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-event-type.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-stage.enum.js +26 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-stage.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-status.enum.js +38 -0
- package/dist/cjs/modules/incident-sla/enums/incident-sla-status.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/sla-escalation.enum.js +50 -0
- package/dist/cjs/modules/incident-sla/enums/sla-escalation.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/sla-exception.enum.js +27 -0
- package/dist/cjs/modules/incident-sla/enums/sla-exception.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/sla-overall-state.enum.js +28 -0
- package/dist/cjs/modules/incident-sla/enums/sla-overall-state.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/sla-pause.enum.js +28 -0
- package/dist/cjs/modules/incident-sla/enums/sla-pause.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/enums/sla-policy-scope.enum.js +19 -0
- package/dist/cjs/modules/incident-sla/enums/sla-policy-scope.enum.js.map +1 -0
- package/dist/cjs/modules/incident-sla/index.js +53 -0
- package/dist/cjs/modules/incident-sla/index.js.map +1 -0
- package/dist/cjs/modules/incident-sla/interfaces/emergency-workflow.js +3 -0
- package/dist/cjs/modules/incident-sla/interfaces/emergency-workflow.js.map +1 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-analytics.js +3 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-analytics.js.map +1 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-events.js +3 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-events.js.map +1 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-policy.js +3 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-policy.js.map +1 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-views.js +3 -0
- package/dist/cjs/modules/incident-sla/interfaces/incident-sla-views.js.map +1 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-eta.util.js +40 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-eta.util.js.map +1 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-event-id.util.js +18 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-event-id.util.js.map +1 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-priority.util.js +31 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-priority.util.js.map +1 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-time.util.js +129 -0
- package/dist/cjs/modules/incident-sla/utils/incident-sla-time.util.js.map +1 -0
- package/dist/cjs/modules/permission/data/permissions.data.js +11 -0
- package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js +21 -0
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/cjs/modules/permission/enums/permissions-module.enum.js +1 -0
- package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
- package/dist/cjs/modules/role/data/roles.data.js +37 -0
- package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
- package/dist/cjs/modules/sms/constants/sms-templates.config.js +27 -1
- package/dist/cjs/modules/sms/constants/sms-templates.config.js.map +1 -1
- package/dist/cjs/modules/sms/enums/sms-template.enum.js +2 -0
- package/dist/cjs/modules/sms/enums/sms-template.enum.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/kafka/topics.js +11 -0
- package/dist/esm/kafka/topics.js.map +1 -1
- package/dist/esm/modules/dispatch/constants/response-unit-dispatch-defaults.const.js +1 -0
- package/dist/esm/modules/dispatch/constants/response-unit-dispatch-defaults.const.js.map +1 -1
- package/dist/esm/modules/dispatch/dtos/response-unit-dispatch-notification.dto.js +5 -0
- package/dist/esm/modules/dispatch/dtos/response-unit-dispatch-notification.dto.js.map +1 -1
- package/dist/esm/modules/dispatch/dtos/update-response-unit-dispatch-status.dto.js +1 -0
- package/dist/esm/modules/dispatch/dtos/update-response-unit-dispatch-status.dto.js.map +1 -1
- package/dist/esm/modules/dispatch/enums/response-unit-dispatch-status.enum.js +6 -0
- package/dist/esm/modules/dispatch/enums/response-unit-dispatch-status.enum.js.map +1 -1
- package/dist/esm/modules/dispatch/enums/response-unit-dispatch-transition-source.enum.js +3 -1
- package/dist/esm/modules/dispatch/enums/response-unit-dispatch-transition-source.enum.js.map +1 -1
- package/dist/esm/modules/dispatch/utils/response-unit-dispatch-status.util.js +6 -2
- package/dist/esm/modules/dispatch/utils/response-unit-dispatch-status.util.js.map +1 -1
- package/dist/esm/modules/incident/enums/incident-actions.enum.js +4 -0
- package/dist/esm/modules/incident/enums/incident-actions.enum.js.map +1 -1
- package/dist/esm/modules/incident-sla/constants/emergency-incident-workflow.const.js +49 -0
- package/dist/esm/modules/incident-sla/constants/emergency-incident-workflow.const.js.map +1 -0
- package/dist/esm/modules/incident-sla/constants/incident-sla-defaults.const.js +255 -0
- package/dist/esm/modules/incident-sla/constants/incident-sla-defaults.const.js.map +1 -0
- package/dist/esm/modules/incident-sla/constants/incident-sla-kafka.const.js +24 -0
- package/dist/esm/modules/incident-sla/constants/incident-sla-kafka.const.js.map +1 -0
- package/dist/esm/modules/incident-sla/dtos/emergency-notification.dto.js +405 -0
- package/dist/esm/modules/incident-sla/dtos/emergency-notification.dto.js.map +1 -0
- package/dist/esm/modules/incident-sla/dtos/emergency-operations.dto.js +144 -0
- package/dist/esm/modules/incident-sla/dtos/emergency-operations.dto.js.map +1 -0
- package/dist/esm/modules/incident-sla/dtos/emergency-workflow.dto.js +206 -0
- package/dist/esm/modules/incident-sla/dtos/emergency-workflow.dto.js.map +1 -0
- package/dist/esm/modules/incident-sla/dtos/incident-sla-analytics-query.dto.js +91 -0
- package/dist/esm/modules/incident-sla/dtos/incident-sla-analytics-query.dto.js.map +1 -0
- package/dist/esm/modules/incident-sla/dtos/incident-sla-policy.dto.js +495 -0
- package/dist/esm/modules/incident-sla/dtos/incident-sla-policy.dto.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/emergency-incident-stage.enum.js +29 -0
- package/dist/esm/modules/incident-sla/enums/emergency-incident-stage.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/emergency-notification.enum.js +41 -0
- package/dist/esm/modules/incident-sla/enums/emergency-notification.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/eta-status.enum.js +29 -0
- package/dist/esm/modules/incident-sla/enums/eta-status.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/incident-closure.enum.js +20 -0
- package/dist/esm/modules/incident-sla/enums/incident-closure.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-actor.enum.js +43 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-actor.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-error-code.enum.js +23 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-error-code.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-event-type.enum.js +42 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-event-type.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-stage.enum.js +23 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-stage.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-status.enum.js +35 -0
- package/dist/esm/modules/incident-sla/enums/incident-sla-status.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/sla-escalation.enum.js +47 -0
- package/dist/esm/modules/incident-sla/enums/sla-escalation.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/sla-exception.enum.js +24 -0
- package/dist/esm/modules/incident-sla/enums/sla-exception.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/sla-overall-state.enum.js +25 -0
- package/dist/esm/modules/incident-sla/enums/sla-overall-state.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/sla-pause.enum.js +25 -0
- package/dist/esm/modules/incident-sla/enums/sla-pause.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/enums/sla-policy-scope.enum.js +16 -0
- package/dist/esm/modules/incident-sla/enums/sla-policy-scope.enum.js.map +1 -0
- package/dist/esm/modules/incident-sla/index.js +37 -0
- package/dist/esm/modules/incident-sla/index.js.map +1 -0
- package/dist/esm/modules/incident-sla/interfaces/emergency-workflow.js +2 -0
- package/dist/esm/modules/incident-sla/interfaces/emergency-workflow.js.map +1 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-analytics.js +2 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-analytics.js.map +1 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-events.js +2 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-events.js.map +1 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-policy.js +2 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-policy.js.map +1 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-views.js +2 -0
- package/dist/esm/modules/incident-sla/interfaces/incident-sla-views.js.map +1 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-eta.util.js +35 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-eta.util.js.map +1 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-event-id.util.js +14 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-event-id.util.js.map +1 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-priority.util.js +25 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-priority.util.js.map +1 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-time.util.js +119 -0
- package/dist/esm/modules/incident-sla/utils/incident-sla-time.util.js.map +1 -0
- package/dist/esm/modules/permission/data/permissions.data.js +11 -0
- package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
- package/dist/esm/modules/permission/enums/permission-actions.enum.js +21 -0
- package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/esm/modules/permission/enums/permissions-module.enum.js +1 -0
- package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
- package/dist/esm/modules/role/data/roles.data.js +37 -0
- package/dist/esm/modules/role/data/roles.data.js.map +1 -1
- package/dist/esm/modules/sms/constants/sms-templates.config.js +27 -1
- package/dist/esm/modules/sms/constants/sms-templates.config.js.map +1 -1
- package/dist/esm/modules/sms/enums/sms-template.enum.js +2 -0
- package/dist/esm/modules/sms/enums/sms-template.enum.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/kafka/topics.d.ts +5 -0
- package/dist/types/modules/dispatch/dtos/response-unit-dispatch-notification.dto.d.ts +1 -0
- package/dist/types/modules/dispatch/enums/response-unit-dispatch-status.enum.d.ts +7 -1
- package/dist/types/modules/dispatch/enums/response-unit-dispatch-transition-source.enum.d.ts +4 -2
- package/dist/types/modules/dispatch/interfaces/incident-response-unit-dispatch.d.ts +5 -0
- package/dist/types/modules/dispatch/interfaces/response-unit-dispatch-events.d.ts +2 -0
- package/dist/types/modules/dispatch/utils/response-unit-dispatch-status.util.d.ts +1 -1
- package/dist/types/modules/incident/enums/incident-actions.enum.d.ts +4 -0
- package/dist/types/modules/incident-sla/constants/emergency-incident-workflow.const.d.ts +46 -0
- package/dist/types/modules/incident-sla/constants/incident-sla-defaults.const.d.ts +81 -0
- package/dist/types/modules/incident-sla/constants/incident-sla-kafka.const.d.ts +22 -0
- package/dist/types/modules/incident-sla/dtos/emergency-notification.dto.d.ts +99 -0
- package/dist/types/modules/incident-sla/dtos/emergency-operations.dto.d.ts +52 -0
- package/dist/types/modules/incident-sla/dtos/emergency-workflow.dto.d.ts +55 -0
- package/dist/types/modules/incident-sla/dtos/incident-sla-analytics-query.dto.d.ts +23 -0
- package/dist/types/modules/incident-sla/dtos/incident-sla-policy.dto.d.ts +104 -0
- package/dist/types/modules/incident-sla/enums/emergency-incident-stage.enum.d.ts +27 -0
- package/dist/types/modules/incident-sla/enums/emergency-notification.enum.d.ts +37 -0
- package/dist/types/modules/incident-sla/enums/eta-status.enum.d.ts +26 -0
- package/dist/types/modules/incident-sla/enums/incident-closure.enum.d.ts +17 -0
- package/dist/types/modules/incident-sla/enums/incident-sla-actor.enum.d.ts +40 -0
- package/dist/types/modules/incident-sla/enums/incident-sla-error-code.enum.d.ts +21 -0
- package/dist/types/modules/incident-sla/enums/incident-sla-event-type.enum.d.ts +36 -0
- package/dist/types/modules/incident-sla/enums/incident-sla-stage.enum.d.ts +21 -0
- package/dist/types/modules/incident-sla/enums/incident-sla-status.enum.d.ts +33 -0
- package/dist/types/modules/incident-sla/enums/sla-escalation.enum.d.ts +42 -0
- package/dist/types/modules/incident-sla/enums/sla-exception.enum.d.ts +21 -0
- package/dist/types/modules/incident-sla/enums/sla-overall-state.enum.d.ts +22 -0
- package/dist/types/modules/incident-sla/enums/sla-pause.enum.d.ts +22 -0
- package/dist/types/modules/incident-sla/enums/sla-policy-scope.enum.d.ts +14 -0
- package/dist/types/modules/incident-sla/index.d.ts +31 -0
- package/dist/types/modules/incident-sla/interfaces/emergency-workflow.d.ts +131 -0
- package/dist/types/modules/incident-sla/interfaces/incident-sla-analytics.d.ts +356 -0
- package/dist/types/modules/incident-sla/interfaces/incident-sla-events.d.ts +173 -0
- package/dist/types/modules/incident-sla/interfaces/incident-sla-policy.d.ts +147 -0
- package/dist/types/modules/incident-sla/interfaces/incident-sla-views.d.ts +224 -0
- package/dist/types/modules/incident-sla/utils/incident-sla-eta.util.d.ts +15 -0
- package/dist/types/modules/incident-sla/utils/incident-sla-event-id.util.d.ts +8 -0
- package/dist/types/modules/incident-sla/utils/incident-sla-priority.util.d.ts +14 -0
- package/dist/types/modules/incident-sla/utils/incident-sla-time.util.d.ts +65 -0
- package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +6 -0
- package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +2 -1
- package/dist/types/modules/sms/enums/sms-template.enum.d.ts +2 -0
- package/package.json +72 -72
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Who an operational event came from. The workflow contract never assumes the
|
|
3
|
+
* control room is the source: today almost everything is CONTROL_CENTRE, and a
|
|
4
|
+
* responder app will send the same events as RESPONDER without any redesign.
|
|
5
|
+
*/
|
|
6
|
+
export var IncidentActorType;
|
|
7
|
+
(function (IncidentActorType) {
|
|
8
|
+
/** A control-room user (dispatcher, supervisor, administrator). */
|
|
9
|
+
IncidentActorType["CONTROL_CENTRE"] = "CONTROL_CENTRE";
|
|
10
|
+
/** A responder, through the future responder app. */
|
|
11
|
+
IncidentActorType["RESPONDER"] = "RESPONDER";
|
|
12
|
+
/** The platform itself - the workflow, a timer, a lifecycle rule. Uses the system user. */
|
|
13
|
+
IncidentActorType["SYSTEM"] = "SYSTEM";
|
|
14
|
+
/** Inferred from live tracking (e.g. arrival in the geofence). */
|
|
15
|
+
IncidentActorType["TRACKING"] = "TRACKING";
|
|
16
|
+
/** The person who raised the incident. */
|
|
17
|
+
IncidentActorType["REPORTER"] = "REPORTER";
|
|
18
|
+
/** A third-party partner (e.g. an ambulance provider) through its integration. */
|
|
19
|
+
IncidentActorType["PARTNER"] = "PARTNER";
|
|
20
|
+
})(IncidentActorType || (IncidentActorType = {}));
|
|
21
|
+
/** The channel an SLA event arrived through - recorded beside the actor for the audit trail. */
|
|
22
|
+
export var IncidentSlaEventSource;
|
|
23
|
+
(function (IncidentSlaEventSource) {
|
|
24
|
+
/** The admin's incident view or the gateway API, by a control-room user. */
|
|
25
|
+
IncidentSlaEventSource["CONTROL_ROOM"] = "CONTROL_ROOM";
|
|
26
|
+
/** Reserved: the responder app. */
|
|
27
|
+
IncidentSlaEventSource["RESPONDER_APP"] = "RESPONDER_APP";
|
|
28
|
+
/** clarion-workflow-manager's emergency incident workflow (timers, escalation, auto-close). */
|
|
29
|
+
IncidentSlaEventSource["WORKFLOW"] = "WORKFLOW";
|
|
30
|
+
/** clarion-incident's evaluation of live tracking positions. */
|
|
31
|
+
IncidentSlaEventSource["TRACKING"] = "TRACKING";
|
|
32
|
+
/** A change of the incident's own status (resolved, closed...). */
|
|
33
|
+
IncidentSlaEventSource["INCIDENT_LIFECYCLE"] = "INCIDENT_LIFECYCLE";
|
|
34
|
+
/** A response-unit dispatch record (created, acknowledged, en route, on scene...). */
|
|
35
|
+
IncidentSlaEventSource["DISPATCH"] = "DISPATCH";
|
|
36
|
+
/** A third-party partner's progress (partner routing). */
|
|
37
|
+
IncidentSlaEventSource["PARTNER"] = "PARTNER";
|
|
38
|
+
/** clarion-notification reporting a delivery. */
|
|
39
|
+
IncidentSlaEventSource["NOTIFICATION"] = "NOTIFICATION";
|
|
40
|
+
/** Anything else the platform does on its own (initialisation, reconciliation). */
|
|
41
|
+
IncidentSlaEventSource["SYSTEM"] = "SYSTEM";
|
|
42
|
+
})(IncidentSlaEventSource || (IncidentSlaEventSource = {}));
|
|
43
|
+
//# sourceMappingURL=incident-sla-actor.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-actor.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/incident-sla-actor.enum.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,iBAaX;AAbD,WAAY,iBAAiB;IACzB,mEAAmE;IACnE,sDAAiC,CAAA;IACjC,qDAAqD;IACrD,4CAAuB,CAAA;IACvB,2FAA2F;IAC3F,sCAAiB,CAAA;IACjB,kEAAkE;IAClE,0CAAqB,CAAA;IACrB,0CAA0C;IAC1C,0CAAqB,CAAA;IACrB,kFAAkF;IAClF,wCAAmB,CAAA;AACvB,CAAC,EAbW,iBAAiB,KAAjB,iBAAiB,QAa5B;AAED,gGAAgG;AAChG,MAAM,CAAN,IAAY,sBAmBX;AAnBD,WAAY,sBAAsB;IAC9B,4EAA4E;IAC5E,uDAA6B,CAAA;IAC7B,mCAAmC;IACnC,yDAA+B,CAAA;IAC/B,+FAA+F;IAC/F,+CAAqB,CAAA;IACrB,gEAAgE;IAChE,+CAAqB,CAAA;IACrB,mEAAmE;IACnE,mEAAyC,CAAA;IACzC,sFAAsF;IACtF,+CAAqB,CAAA;IACrB,0DAA0D;IAC1D,6CAAmB,CAAA;IACnB,iDAAiD;IACjD,uDAA6B,CAAA;IAC7B,mFAAmF;IACnF,2CAAiB,CAAA;AACrB,CAAC,EAnBW,sBAAsB,KAAtB,sBAAsB,QAmBjC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Machine-readable `code` on a refused SLA request. */
|
|
2
|
+
export var IncidentSlaErrorCode;
|
|
3
|
+
(function (IncidentSlaErrorCode) {
|
|
4
|
+
/** Grievances, alerts that never reach the control room, and incidents with SLA switched off. */
|
|
5
|
+
IncidentSlaErrorCode["SLA_NOT_TRACKED"] = "SLA_NOT_TRACKED";
|
|
6
|
+
IncidentSlaErrorCode["SLA_INSTANCE_NOT_FOUND"] = "SLA_INSTANCE_NOT_FOUND";
|
|
7
|
+
IncidentSlaErrorCode["SLA_PAUSE_NOT_FOUND"] = "SLA_PAUSE_NOT_FOUND";
|
|
8
|
+
IncidentSlaErrorCode["SLA_POLICY_NOT_FOUND"] = "SLA_POLICY_NOT_FOUND";
|
|
9
|
+
/** The instance is not in a state that allows this (e.g. pausing a breached one). */
|
|
10
|
+
IncidentSlaErrorCode["SLA_INVALID_STATE"] = "SLA_INVALID_STATE";
|
|
11
|
+
/** Approving needs a supervisor (Control-Centre:Admin, Organization Owner/Admin). */
|
|
12
|
+
IncidentSlaErrorCode["SLA_APPROVER_REQUIRED"] = "SLA_APPROVER_REQUIRED";
|
|
13
|
+
/** Somebody may not approve their own request. */
|
|
14
|
+
IncidentSlaErrorCode["SLA_SELF_APPROVAL"] = "SLA_SELF_APPROVAL";
|
|
15
|
+
IncidentSlaErrorCode["SLA_POLICY_INVALID"] = "SLA_POLICY_INVALID";
|
|
16
|
+
/** Only Super-Admin manages platform policies; an organization manages its own. */
|
|
17
|
+
IncidentSlaErrorCode["SLA_POLICY_FORBIDDEN"] = "SLA_POLICY_FORBIDDEN";
|
|
18
|
+
IncidentSlaErrorCode["INCIDENT_NOT_EMERGENCY"] = "INCIDENT_NOT_EMERGENCY";
|
|
19
|
+
IncidentSlaErrorCode["INCIDENT_ENDED"] = "INCIDENT_ENDED";
|
|
20
|
+
/** No escalation rule with that key in the incident's frozen policy. */
|
|
21
|
+
IncidentSlaErrorCode["SLA_ESCALATION_RULE_NOT_FOUND"] = "SLA_ESCALATION_RULE_NOT_FOUND";
|
|
22
|
+
})(IncidentSlaErrorCode || (IncidentSlaErrorCode = {}));
|
|
23
|
+
//# sourceMappingURL=incident-sla-error-code.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-error-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/incident-sla-error-code.enum.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAN,IAAY,oBAmBX;AAnBD,WAAY,oBAAoB;IAC5B,iGAAiG;IACjG,2DAAmC,CAAA;IACnC,yEAAiD,CAAA;IACjD,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,qFAAqF;IACrF,+DAAuC,CAAA;IACvC,qFAAqF;IACrF,uEAA+C,CAAA;IAC/C,kDAAkD;IAClD,+DAAuC,CAAA;IACvC,iEAAyC,CAAA;IACzC,mFAAmF;IACnF,qEAA6C,CAAA;IAC7C,yEAAiD,CAAA;IACjD,yDAAiC,CAAA;IACjC,wEAAwE;IACxE,uFAA+D,CAAA;AACnE,CAAC,EAnBW,oBAAoB,KAApB,oBAAoB,QAmB/B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every entry in an incident's SLA history. The history is append-only: a
|
|
3
|
+
* transition is a new row, never an edit of an old one.
|
|
4
|
+
*/
|
|
5
|
+
export var IncidentSlaEventType;
|
|
6
|
+
(function (IncidentSlaEventType) {
|
|
7
|
+
// An instance's clock
|
|
8
|
+
IncidentSlaEventType["SLA_STARTED"] = "SLA_STARTED";
|
|
9
|
+
IncidentSlaEventType["SLA_WARNING"] = "SLA_WARNING";
|
|
10
|
+
IncidentSlaEventType["SLA_AT_RISK"] = "SLA_AT_RISK";
|
|
11
|
+
IncidentSlaEventType["SLA_BREACHED"] = "SLA_BREACHED";
|
|
12
|
+
IncidentSlaEventType["SLA_MET"] = "SLA_MET";
|
|
13
|
+
/** The milestone was reached after the deadline: the breach stands, completedAt is recorded. */
|
|
14
|
+
IncidentSlaEventType["SLA_COMPLETED_LATE"] = "SLA_COMPLETED_LATE";
|
|
15
|
+
IncidentSlaEventType["SLA_CANCELLED"] = "SLA_CANCELLED";
|
|
16
|
+
IncidentSlaEventType["SLA_EXPIRED"] = "SLA_EXPIRED";
|
|
17
|
+
IncidentSlaEventType["SLA_WAIVED"] = "SLA_WAIVED";
|
|
18
|
+
// Pauses
|
|
19
|
+
IncidentSlaEventType["SLA_PAUSE_REQUESTED"] = "SLA_PAUSE_REQUESTED";
|
|
20
|
+
IncidentSlaEventType["SLA_PAUSE_REJECTED"] = "SLA_PAUSE_REJECTED";
|
|
21
|
+
IncidentSlaEventType["SLA_PAUSED"] = "SLA_PAUSED";
|
|
22
|
+
IncidentSlaEventType["SLA_RESUMED"] = "SLA_RESUMED";
|
|
23
|
+
// Exceptions (compliance treatment of a breach - never a change to it)
|
|
24
|
+
IncidentSlaEventType["SLA_EXCEPTION_REQUESTED"] = "SLA_EXCEPTION_REQUESTED";
|
|
25
|
+
IncidentSlaEventType["SLA_EXCEPTION_APPROVED"] = "SLA_EXCEPTION_APPROVED";
|
|
26
|
+
IncidentSlaEventType["SLA_EXCEPTION_REJECTED"] = "SLA_EXCEPTION_REJECTED";
|
|
27
|
+
// The incident's response
|
|
28
|
+
IncidentSlaEventType["MILESTONE_RECORDED"] = "MILESTONE_RECORDED";
|
|
29
|
+
IncidentSlaEventType["PRIORITY_TRIAGED"] = "PRIORITY_TRIAGED";
|
|
30
|
+
IncidentSlaEventType["ETA_CHANGED"] = "ETA_CHANGED";
|
|
31
|
+
IncidentSlaEventType["ARRIVAL_INFERRED"] = "ARRIVAL_INFERRED";
|
|
32
|
+
IncidentSlaEventType["ARRIVAL_CONFIRMED"] = "ARRIVAL_CONFIRMED";
|
|
33
|
+
IncidentSlaEventType["UNIT_RECOMMENDED"] = "UNIT_RECOMMENDED";
|
|
34
|
+
IncidentSlaEventType["UNIT_REASSIGNED"] = "UNIT_REASSIGNED";
|
|
35
|
+
IncidentSlaEventType["ESCALATED"] = "ESCALATED";
|
|
36
|
+
IncidentSlaEventType["NOTIFICATION_SENT"] = "NOTIFICATION_SENT";
|
|
37
|
+
IncidentSlaEventType["NOTIFICATION_FAILED"] = "NOTIFICATION_FAILED";
|
|
38
|
+
IncidentSlaEventType["AUTO_CLOSE_DEFERRED"] = "AUTO_CLOSE_DEFERRED";
|
|
39
|
+
IncidentSlaEventType["INCIDENT_AUTO_CLOSED"] = "INCIDENT_AUTO_CLOSED";
|
|
40
|
+
IncidentSlaEventType["INCIDENT_CLOSED"] = "INCIDENT_CLOSED";
|
|
41
|
+
})(IncidentSlaEventType || (IncidentSlaEventType = {}));
|
|
42
|
+
//# sourceMappingURL=incident-sla-event-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-event-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/incident-sla-event-type.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,oBAmCX;AAnCD,WAAY,oBAAoB;IAC5B,sBAAsB;IACtB,mDAA2B,CAAA;IAC3B,mDAA2B,CAAA;IAC3B,mDAA2B,CAAA;IAC3B,qDAA6B,CAAA;IAC7B,2CAAmB,CAAA;IACnB,gGAAgG;IAChG,iEAAyC,CAAA;IACzC,uDAA+B,CAAA;IAC/B,mDAA2B,CAAA;IAC3B,iDAAyB,CAAA;IACzB,SAAS;IACT,mEAA2C,CAAA;IAC3C,iEAAyC,CAAA;IACzC,iDAAyB,CAAA;IACzB,mDAA2B,CAAA;IAC3B,uEAAuE;IACvE,2EAAmD,CAAA;IACnD,yEAAiD,CAAA;IACjD,yEAAiD,CAAA;IACjD,0BAA0B;IAC1B,iEAAyC,CAAA;IACzC,6DAAqC,CAAA;IACrC,mDAA2B,CAAA;IAC3B,6DAAqC,CAAA;IACrC,+DAAuC,CAAA;IACvC,6DAAqC,CAAA;IACrC,2DAAmC,CAAA;IACnC,+CAAuB,CAAA;IACvB,+DAAuC,CAAA;IACvC,mEAA2C,CAAA;IAC3C,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,2DAAmC,CAAA;AACvC,CAAC,EAnCW,oBAAoB,KAApB,oBAAoB,QAmC/B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The milestones an emergency incident is measured against. Each is its own SLA
|
|
3
|
+
* instance with its own clock, so "acknowledged on time, arrived late" is a
|
|
4
|
+
* fact the record can state - one incident-wide deadline could not.
|
|
5
|
+
*
|
|
6
|
+
* RESPONSE_UNIT_ACCEPTANCE and MOBILIZATION are measured per dispatch (a unit
|
|
7
|
+
* that is stood down and replaced starts a new cycle); every other stage once
|
|
8
|
+
* per incident. ARRIVAL in particular never restarts on a reassignment - the
|
|
9
|
+
* person waiting does not get a new clock because a different unit is coming.
|
|
10
|
+
*/
|
|
11
|
+
export var IncidentSlaStage;
|
|
12
|
+
(function (IncidentSlaStage) {
|
|
13
|
+
IncidentSlaStage["ACKNOWLEDGEMENT"] = "ACKNOWLEDGEMENT";
|
|
14
|
+
IncidentSlaStage["TRIAGE"] = "TRIAGE";
|
|
15
|
+
IncidentSlaStage["DISPATCH"] = "DISPATCH";
|
|
16
|
+
IncidentSlaStage["RESPONSE_UNIT_ACCEPTANCE"] = "RESPONSE_UNIT_ACCEPTANCE";
|
|
17
|
+
IncidentSlaStage["MOBILIZATION"] = "MOBILIZATION";
|
|
18
|
+
IncidentSlaStage["ARRIVAL"] = "ARRIVAL";
|
|
19
|
+
IncidentSlaStage["INITIAL_ASSESSMENT"] = "INITIAL_ASSESSMENT";
|
|
20
|
+
IncidentSlaStage["RESOLUTION"] = "RESOLUTION";
|
|
21
|
+
IncidentSlaStage["CLOSURE"] = "CLOSURE";
|
|
22
|
+
})(IncidentSlaStage || (IncidentSlaStage = {}));
|
|
23
|
+
//# sourceMappingURL=incident-sla-stage.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-stage.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/incident-sla-stage.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IACxB,uDAAmC,CAAA;IACnC,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,yEAAqD,CAAA;IACrD,iDAA6B,CAAA;IAC7B,uCAAmB,CAAA;IACnB,6DAAyC,CAAA;IACzC,6CAAyB,CAAA;IACzB,uCAAmB,CAAA;AACvB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where one SLA instance stands.
|
|
3
|
+
*
|
|
4
|
+
* RUNNING -> WARNING -> AT_RISK -> BREACHED as its clock passes the policy's
|
|
5
|
+
* thresholds (75 % / 90 % / 100 % by default), and MET when its milestone is
|
|
6
|
+
* reached before the deadline. Whether an instance was met or breached is
|
|
7
|
+
* decided by timestamps (completedAt against deadlineAt), never by when a timer
|
|
8
|
+
* happened to fire.
|
|
9
|
+
*
|
|
10
|
+
* BREACHED is permanent: completing the milestone afterwards records
|
|
11
|
+
* completedAt but leaves the status BREACHED, and an approved exception changes
|
|
12
|
+
* only how the breach counts for compliance, not the record of it.
|
|
13
|
+
*
|
|
14
|
+
* - PAUSED: an approved pause (location inaccessible, waiting for the customer...).
|
|
15
|
+
* Only an unbreached instance can be paused; a pause never hides a breach.
|
|
16
|
+
* - WAIVED: an authorised supervisor declared the stage not applicable before it completed.
|
|
17
|
+
* - CANCELLED: made not applicable by an event (the unit rejected the dispatch,
|
|
18
|
+
* it was stood down, the incident ended before the stage ever started).
|
|
19
|
+
* - EXPIRED: the incident ended while the stage was still running, before its deadline.
|
|
20
|
+
* - NOT_STARTED: the stage's start milestone has not happened yet.
|
|
21
|
+
*/
|
|
22
|
+
export var IncidentSlaStatus;
|
|
23
|
+
(function (IncidentSlaStatus) {
|
|
24
|
+
IncidentSlaStatus["NOT_STARTED"] = "NOT_STARTED";
|
|
25
|
+
IncidentSlaStatus["RUNNING"] = "RUNNING";
|
|
26
|
+
IncidentSlaStatus["WARNING"] = "WARNING";
|
|
27
|
+
IncidentSlaStatus["AT_RISK"] = "AT_RISK";
|
|
28
|
+
IncidentSlaStatus["PAUSED"] = "PAUSED";
|
|
29
|
+
IncidentSlaStatus["BREACHED"] = "BREACHED";
|
|
30
|
+
IncidentSlaStatus["MET"] = "MET";
|
|
31
|
+
IncidentSlaStatus["WAIVED"] = "WAIVED";
|
|
32
|
+
IncidentSlaStatus["CANCELLED"] = "CANCELLED";
|
|
33
|
+
IncidentSlaStatus["EXPIRED"] = "EXPIRED";
|
|
34
|
+
})(IncidentSlaStatus || (IncidentSlaStatus = {}));
|
|
35
|
+
//# sourceMappingURL=incident-sla-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/incident-sla-status.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAN,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IACzB,gDAA2B,CAAA;IAC3B,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;AACvB,CAAC,EAXW,iBAAiB,KAAjB,iBAAiB,QAW5B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Who an escalation reaches. Each level resolves to people within the incident's own tenancy. */
|
|
2
|
+
export var SlaEscalationLevel;
|
|
3
|
+
(function (SlaEscalationLevel) {
|
|
4
|
+
/** The control room working the incident: its assignees and the control centre's users. */
|
|
5
|
+
SlaEscalationLevel["DISPATCHER"] = "DISPATCHER";
|
|
6
|
+
/** The control centre's supervisors (Control-Centre:Admin). */
|
|
7
|
+
SlaEscalationLevel["SUPERVISOR"] = "SUPERVISOR";
|
|
8
|
+
/** Contacts configured on the escalation rule - only "where configured". */
|
|
9
|
+
SlaEscalationLevel["DUTY_MANAGER"] = "DUTY_MANAGER";
|
|
10
|
+
/** The organization's owners and administrators. */
|
|
11
|
+
SlaEscalationLevel["ORGANIZATION_ADMIN"] = "ORGANIZATION_ADMIN";
|
|
12
|
+
})(SlaEscalationLevel || (SlaEscalationLevel = {}));
|
|
13
|
+
/** What makes an escalation rule fire. */
|
|
14
|
+
export var SlaEscalationTrigger;
|
|
15
|
+
(function (SlaEscalationTrigger) {
|
|
16
|
+
SlaEscalationTrigger["SLA_WARNING"] = "SLA_WARNING";
|
|
17
|
+
SlaEscalationTrigger["SLA_AT_RISK"] = "SLA_AT_RISK";
|
|
18
|
+
SlaEscalationTrigger["SLA_BREACHED"] = "SLA_BREACHED";
|
|
19
|
+
/** The assigned unit's predicted arrival is close to the arrival deadline. */
|
|
20
|
+
SlaEscalationTrigger["ETA_AT_RISK"] = "ETA_AT_RISK";
|
|
21
|
+
/** The assigned unit is predicted to arrive after the arrival deadline. */
|
|
22
|
+
SlaEscalationTrigger["ETA_LIKELY_BREACH"] = "ETA_LIKELY_BREACH";
|
|
23
|
+
/** Tracking went quiet: no current position to predict an arrival from. */
|
|
24
|
+
SlaEscalationTrigger["ETA_UNCERTAIN"] = "ETA_UNCERTAIN";
|
|
25
|
+
/** A unit declined a dispatch. */
|
|
26
|
+
SlaEscalationTrigger["DISPATCH_REJECTED"] = "DISPATCH_REJECTED";
|
|
27
|
+
/** A unit was stood down before arriving (became unavailable, reassigned...). */
|
|
28
|
+
SlaEscalationTrigger["DISPATCH_CANCELLED"] = "DISPATCH_CANCELLED";
|
|
29
|
+
})(SlaEscalationTrigger || (SlaEscalationTrigger = {}));
|
|
30
|
+
/** What an escalation does besides telling people. */
|
|
31
|
+
export var SlaEscalationAction;
|
|
32
|
+
(function (SlaEscalationAction) {
|
|
33
|
+
SlaEscalationAction["NOTIFY"] = "NOTIFY";
|
|
34
|
+
/** Re-evaluate the eligible units and put the best alternative in front of the dispatcher. */
|
|
35
|
+
SlaEscalationAction["RECOMMEND_ALTERNATIVE"] = "RECOMMEND_ALTERNATIVE";
|
|
36
|
+
})(SlaEscalationAction || (SlaEscalationAction = {}));
|
|
37
|
+
/** How an escalation or emergency notification is delivered. */
|
|
38
|
+
export var SlaNotificationChannel;
|
|
39
|
+
(function (SlaNotificationChannel) {
|
|
40
|
+
/** The admin's in-app notification (web notification + realtime toast). */
|
|
41
|
+
SlaNotificationChannel["WEB"] = "WEB";
|
|
42
|
+
SlaNotificationChannel["SMS"] = "SMS";
|
|
43
|
+
SlaNotificationChannel["EMAIL"] = "EMAIL";
|
|
44
|
+
/** Mobile push (the reporter's app). */
|
|
45
|
+
SlaNotificationChannel["PUSH"] = "PUSH";
|
|
46
|
+
})(SlaNotificationChannel || (SlaNotificationChannel = {}));
|
|
47
|
+
//# sourceMappingURL=sla-escalation.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sla-escalation.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/sla-escalation.enum.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC1B,2FAA2F;IAC3F,+CAAyB,CAAA;IACzB,+DAA+D;IAC/D,+CAAyB,CAAA;IACzB,4EAA4E;IAC5E,mDAA6B,CAAA;IAC7B,oDAAoD;IACpD,+DAAyC,CAAA;AAC7C,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAED,0CAA0C;AAC1C,MAAM,CAAN,IAAY,oBAcX;AAdD,WAAY,oBAAoB;IAC5B,mDAA2B,CAAA;IAC3B,mDAA2B,CAAA;IAC3B,qDAA6B,CAAA;IAC7B,8EAA8E;IAC9E,mDAA2B,CAAA;IAC3B,2EAA2E;IAC3E,+DAAuC,CAAA;IACvC,2EAA2E;IAC3E,uDAA+B,CAAA;IAC/B,kCAAkC;IAClC,+DAAuC,CAAA;IACvC,iFAAiF;IACjF,iEAAyC,CAAA;AAC7C,CAAC,EAdW,oBAAoB,KAApB,oBAAoB,QAc/B;AAED,sDAAsD;AACtD,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,wCAAiB,CAAA;IACjB,8FAA8F;IAC9F,sEAA+C,CAAA;AACnD,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,gEAAgE;AAChE,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAC9B,2EAA2E;IAC3E,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,yCAAe,CAAA;IACf,wCAAwC;IACxC,uCAAa,CAAA;AACjB,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Why a breach should be treated as excused for compliance reporting. */
|
|
2
|
+
export var SlaExceptionReason;
|
|
3
|
+
(function (SlaExceptionReason) {
|
|
4
|
+
SlaExceptionReason["ROAD_INACCESSIBLE"] = "ROAD_INACCESSIBLE";
|
|
5
|
+
SlaExceptionReason["SEVERE_WEATHER"] = "SEVERE_WEATHER";
|
|
6
|
+
SlaExceptionReason["CUSTOMER_UNREACHABLE"] = "CUSTOMER_UNREACHABLE";
|
|
7
|
+
SlaExceptionReason["INCORRECT_LOCATION"] = "INCORRECT_LOCATION";
|
|
8
|
+
SlaExceptionReason["EXTERNAL_AGENCY_DELAY"] = "EXTERNAL_AGENCY_DELAY";
|
|
9
|
+
SlaExceptionReason["SAFETY_HOLD"] = "SAFETY_HOLD";
|
|
10
|
+
SlaExceptionReason["SYSTEM_OUTAGE"] = "SYSTEM_OUTAGE";
|
|
11
|
+
SlaExceptionReason["OTHER"] = "OTHER";
|
|
12
|
+
})(SlaExceptionReason || (SlaExceptionReason = {}));
|
|
13
|
+
/**
|
|
14
|
+
* An exception's state. Approval never changes the instance's timestamps or its
|
|
15
|
+
* BREACHED status - only how the breach is counted for compliance.
|
|
16
|
+
*/
|
|
17
|
+
export var SlaExceptionStatus;
|
|
18
|
+
(function (SlaExceptionStatus) {
|
|
19
|
+
SlaExceptionStatus["NONE"] = "NONE";
|
|
20
|
+
SlaExceptionStatus["REQUESTED"] = "REQUESTED";
|
|
21
|
+
SlaExceptionStatus["APPROVED"] = "APPROVED";
|
|
22
|
+
SlaExceptionStatus["REJECTED"] = "REJECTED";
|
|
23
|
+
})(SlaExceptionStatus || (SlaExceptionStatus = {}));
|
|
24
|
+
//# sourceMappingURL=sla-exception.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sla-exception.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/sla-exception.enum.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC1B,6DAAuC,CAAA;IACvC,uDAAiC,CAAA;IACjC,mEAA6C,CAAA;IAC7C,+DAAyC,CAAA;IACzC,qEAA+C,CAAA;IAC/C,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;AACnB,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;AACzB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One word for an incident's SLA right now, for the card's headline. Derived
|
|
3
|
+
* from its instances: the worst open one, else how the finished ones went.
|
|
4
|
+
*/
|
|
5
|
+
export var SlaOverallState;
|
|
6
|
+
(function (SlaOverallState) {
|
|
7
|
+
SlaOverallState["NOT_TRACKED"] = "NOT_TRACKED";
|
|
8
|
+
SlaOverallState["ON_TRACK"] = "ON_TRACK";
|
|
9
|
+
SlaOverallState["WARNING"] = "WARNING";
|
|
10
|
+
SlaOverallState["AT_RISK"] = "AT_RISK";
|
|
11
|
+
SlaOverallState["BREACHED"] = "BREACHED";
|
|
12
|
+
SlaOverallState["PAUSED"] = "PAUSED";
|
|
13
|
+
SlaOverallState["MET"] = "MET";
|
|
14
|
+
/** Every breach on the incident has an approved exception. */
|
|
15
|
+
SlaOverallState["EXCEPTION"] = "EXCEPTION";
|
|
16
|
+
})(SlaOverallState || (SlaOverallState = {}));
|
|
17
|
+
/** The emergency-desk names for incident priorities: P1 Critical ... P4 Low. */
|
|
18
|
+
export var SlaPriorityLevel;
|
|
19
|
+
(function (SlaPriorityLevel) {
|
|
20
|
+
SlaPriorityLevel["P1"] = "P1";
|
|
21
|
+
SlaPriorityLevel["P2"] = "P2";
|
|
22
|
+
SlaPriorityLevel["P3"] = "P3";
|
|
23
|
+
SlaPriorityLevel["P4"] = "P4";
|
|
24
|
+
})(SlaPriorityLevel || (SlaPriorityLevel = {}));
|
|
25
|
+
//# sourceMappingURL=sla-overall-state.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sla-overall-state.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/sla-overall-state.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,eAUX;AAVD,WAAY,eAAe;IACvB,8CAA2B,CAAA;IAC3B,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,8DAA8D;IAC9D,0CAAuB,CAAA;AAC3B,CAAC,EAVW,eAAe,KAAf,eAAe,QAU1B;AAED,gFAAgF;AAChF,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,6BAAS,CAAA;IACT,6BAAS,CAAA;IACT,6BAAS,CAAA;IACT,6BAAS,CAAA;AACb,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** The only reasons an SLA clock may be paused. There is no free-form reason on purpose. */
|
|
2
|
+
export var SlaPauseReason;
|
|
3
|
+
(function (SlaPauseReason) {
|
|
4
|
+
SlaPauseReason["WAITING_FOR_CUSTOMER"] = "WAITING_FOR_CUSTOMER";
|
|
5
|
+
SlaPauseReason["WAITING_FOR_EXTERNAL_AGENCY"] = "WAITING_FOR_EXTERNAL_AGENCY";
|
|
6
|
+
SlaPauseReason["LOCATION_INACCESSIBLE"] = "LOCATION_INACCESSIBLE";
|
|
7
|
+
SlaPauseReason["ENVIRONMENT_UNSAFE"] = "ENVIRONMENT_UNSAFE";
|
|
8
|
+
SlaPauseReason["INCIDENT_DEESCALATED"] = "INCIDENT_DEESCALATED";
|
|
9
|
+
SlaPauseReason["OTHER_APPROVED_REASON"] = "OTHER_APPROVED_REASON";
|
|
10
|
+
})(SlaPauseReason || (SlaPauseReason = {}));
|
|
11
|
+
/**
|
|
12
|
+
* A pause request's life. REQUESTED pauses nothing - the clock keeps running
|
|
13
|
+
* until a supervisor approves, so asking for a pause can never be used to
|
|
14
|
+
* stop a clock retroactively.
|
|
15
|
+
*/
|
|
16
|
+
export var SlaPauseStatus;
|
|
17
|
+
(function (SlaPauseStatus) {
|
|
18
|
+
SlaPauseStatus["REQUESTED"] = "REQUESTED";
|
|
19
|
+
SlaPauseStatus["ACTIVE"] = "ACTIVE";
|
|
20
|
+
SlaPauseStatus["ENDED"] = "ENDED";
|
|
21
|
+
SlaPauseStatus["REJECTED"] = "REJECTED";
|
|
22
|
+
/** The instance completed or the incident ended while the request was pending. */
|
|
23
|
+
SlaPauseStatus["WITHDRAWN"] = "WITHDRAWN";
|
|
24
|
+
})(SlaPauseStatus || (SlaPauseStatus = {}));
|
|
25
|
+
//# sourceMappingURL=sla-pause.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sla-pause.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/sla-pause.enum.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,+DAA6C,CAAA;IAC7C,6EAA2D,CAAA;IAC3D,iEAA+C,CAAA;IAC/C,2DAAyC,CAAA;IACzC,+DAA6C,CAAA;IAC7C,iEAA+C,CAAA;AACnD,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,kFAAkF;IAClF,yCAAuB,CAAA;AAC3B,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How specific an SLA policy is - the most specific dimension it is scoped to.
|
|
3
|
+
* Resolution layers policies from PLATFORM (least specific) to ZONE (most), so
|
|
4
|
+
* an organization can override only the arrival target and inherit the rest.
|
|
5
|
+
*/
|
|
6
|
+
export var SlaPolicyScope;
|
|
7
|
+
(function (SlaPolicyScope) {
|
|
8
|
+
SlaPolicyScope["PLATFORM"] = "PLATFORM";
|
|
9
|
+
SlaPolicyScope["ORGANIZATION"] = "ORGANIZATION";
|
|
10
|
+
SlaPolicyScope["CONTROL_CENTRE"] = "CONTROL_CENTRE";
|
|
11
|
+
SlaPolicyScope["INCIDENT_CATEGORY"] = "INCIDENT_CATEGORY";
|
|
12
|
+
SlaPolicyScope["INCIDENT_TYPE"] = "INCIDENT_TYPE";
|
|
13
|
+
SlaPolicyScope["PRIORITY"] = "PRIORITY";
|
|
14
|
+
SlaPolicyScope["ZONE"] = "ZONE";
|
|
15
|
+
})(SlaPolicyScope || (SlaPolicyScope = {}));
|
|
16
|
+
//# sourceMappingURL=sla-policy-scope.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sla-policy-scope.enum.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/enums/sla-policy-scope.enum.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,cAQX;AARD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,+CAA6B,CAAA;IAC7B,mDAAiC,CAAA;IACjC,yDAAuC,CAAA;IACvC,iDAA+B,CAAA;IAC/B,uCAAqB,CAAA;IACrB,+BAAa,CAAA;AACjB,CAAC,EARW,cAAc,KAAd,cAAc,QAQzB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Enums
|
|
2
|
+
export * from './enums/incident-sla-stage.enum';
|
|
3
|
+
export * from './enums/incident-sla-status.enum';
|
|
4
|
+
export * from './enums/emergency-incident-stage.enum';
|
|
5
|
+
export * from './enums/incident-sla-event-type.enum';
|
|
6
|
+
export * from './enums/incident-sla-actor.enum';
|
|
7
|
+
export * from './enums/sla-escalation.enum';
|
|
8
|
+
export * from './enums/sla-pause.enum';
|
|
9
|
+
export * from './enums/sla-exception.enum';
|
|
10
|
+
export * from './enums/sla-policy-scope.enum';
|
|
11
|
+
export * from './enums/incident-closure.enum';
|
|
12
|
+
export * from './enums/eta-status.enum';
|
|
13
|
+
export * from './enums/sla-overall-state.enum';
|
|
14
|
+
export * from './enums/incident-sla-error-code.enum';
|
|
15
|
+
export * from './enums/emergency-notification.enum';
|
|
16
|
+
// Interfaces
|
|
17
|
+
export * from './interfaces/incident-sla-policy';
|
|
18
|
+
export * from './interfaces/incident-sla-views';
|
|
19
|
+
export * from './interfaces/incident-sla-events';
|
|
20
|
+
export * from './interfaces/emergency-workflow';
|
|
21
|
+
export * from './interfaces/incident-sla-analytics';
|
|
22
|
+
// Constants
|
|
23
|
+
export * from './constants/incident-sla-defaults.const';
|
|
24
|
+
export * from './constants/incident-sla-kafka.const';
|
|
25
|
+
export * from './constants/emergency-incident-workflow.const';
|
|
26
|
+
// DTOs
|
|
27
|
+
export * from './dtos/emergency-operations.dto';
|
|
28
|
+
export * from './dtos/incident-sla-policy.dto';
|
|
29
|
+
export * from './dtos/emergency-workflow.dto';
|
|
30
|
+
export * from './dtos/emergency-notification.dto';
|
|
31
|
+
export * from './dtos/incident-sla-analytics-query.dto';
|
|
32
|
+
// Utilities
|
|
33
|
+
export * from './utils/incident-sla-priority.util';
|
|
34
|
+
export * from './utils/incident-sla-time.util';
|
|
35
|
+
export * from './utils/incident-sla-eta.util';
|
|
36
|
+
export * from './utils/incident-sla-event-id.util';
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/incident-sla/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AAEpD,aAAa;AACb,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AAEpD,YAAY;AACZ,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+CAA+C,CAAC;AAE9D,OAAO;AACP,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AAExD,YAAY;AACZ,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emergency-workflow.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/interfaces/emergency-workflow.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-analytics.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/interfaces/incident-sla-analytics.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-events.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/interfaces/incident-sla-events.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-policy.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/interfaces/incident-sla-policy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-views.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/interfaces/incident-sla-views.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { EtaStatus } from '../enums/eta-status.enum';
|
|
2
|
+
/**
|
|
3
|
+
* An estimated ETA from straight-line distance: distance x road factor at an
|
|
4
|
+
* assumed speed. The unit's instantaneous GPS speed is deliberately NOT used -
|
|
5
|
+
* a vehicle stopped at a junction would predict "never", one on a highway
|
|
6
|
+
* "instantly"; the assumed urban speed is clarion-gis's own ESTIMATE profile.
|
|
7
|
+
*/
|
|
8
|
+
export function estimateEtaSeconds(distanceMetres, assumedSpeedKph, roadFactor) {
|
|
9
|
+
const metresPerSecond = Math.max(1, (assumedSpeedKph * 1000) / 3600);
|
|
10
|
+
return Math.max(0, Math.round((Math.max(0, distanceMetres) * Math.max(1, roadFactor)) / metresPerSecond));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Whether a predicted arrival makes the deadline. Inside `marginPercent` of the
|
|
14
|
+
* target before the deadline is AT_RISK; after it, LIKELY_BREACH.
|
|
15
|
+
*/
|
|
16
|
+
export function classifyEta(predictedArrivalAt, deadlineAt, targetSeconds, marginPercent) {
|
|
17
|
+
if (!deadlineAt)
|
|
18
|
+
return EtaStatus.NO_TARGET;
|
|
19
|
+
const deadline = deadlineAt.getTime();
|
|
20
|
+
const predicted = predictedArrivalAt.getTime();
|
|
21
|
+
if (predicted > deadline)
|
|
22
|
+
return EtaStatus.LIKELY_BREACH;
|
|
23
|
+
const marginMs = Math.max(0, (targetSeconds !== null && targetSeconds !== void 0 ? targetSeconds : 0) * 1000 * (marginPercent / 100));
|
|
24
|
+
return predicted > deadline - marginMs ? EtaStatus.AT_RISK : EtaStatus.ON_TRACK;
|
|
25
|
+
}
|
|
26
|
+
/** How bad an ETA status is, for "did it get worse?". */
|
|
27
|
+
export const ETA_STATUS_SEVERITY = {
|
|
28
|
+
[EtaStatus.ARRIVED]: 0,
|
|
29
|
+
[EtaStatus.NO_TARGET]: 0,
|
|
30
|
+
[EtaStatus.ON_TRACK]: 1,
|
|
31
|
+
[EtaStatus.UNCERTAIN]: 2,
|
|
32
|
+
[EtaStatus.AT_RISK]: 3,
|
|
33
|
+
[EtaStatus.LIKELY_BREACH]: 4,
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=incident-sla-eta.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-eta.util.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/utils/incident-sla-eta.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,cAAsB,EAAE,eAAuB,EAAE,UAAkB;IAClG,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,kBAAwB,EAAE,UAAuB,EAAE,aAA4B,EAAE,aAAqB;IAC9H,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC;IAC/C,IAAI,SAAS,GAAG,QAAQ;QAAE,OAAO,SAAS,CAAC,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;IAClF,OAAO,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;AACpF,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAwC;IACpE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;CAC/B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic ids for the emergency/SLA history and its events: the same
|
|
3
|
+
* change always produces the same id, so a retried activity, an outbox
|
|
4
|
+
* re-publish or a Kafka redelivery is recognised instead of recorded twice.
|
|
5
|
+
*/
|
|
6
|
+
export function buildIncidentSlaEventId(incidentId, kind, ...parts) {
|
|
7
|
+
const suffix = parts.filter((part) => part !== null && part !== undefined && part !== '').join(':');
|
|
8
|
+
return `incident-sla:${incidentId}:${kind}${suffix ? `:${suffix}` : ''}`;
|
|
9
|
+
}
|
|
10
|
+
/** The deterministic id of a milestone being reached (once per incident, or per dispatch). */
|
|
11
|
+
export function buildEmergencyMilestoneEventId(incidentId, milestone, dispatchId) {
|
|
12
|
+
return buildIncidentSlaEventId(incidentId, 'milestone', milestone, dispatchId !== null && dispatchId !== void 0 ? dispatchId : undefined);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=incident-sla-event-id.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-event-id.util.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/utils/incident-sla-event-id.util.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,IAAY,EAAE,GAAG,KAA6C;IACtH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpG,OAAO,gBAAgB,UAAU,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7E,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,8BAA8B,CAAC,UAAkB,EAAE,SAAiB,EAAE,UAA0B;IAC5G,OAAO,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,SAAS,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IncidentPriority } from '../../incident/enums/incident-priority.enum';
|
|
2
|
+
import { INCIDENT_PRIORITY_RANK, INCIDENT_PRIORITY_SLA_LEVEL } from '../constants/incident-sla-defaults.const';
|
|
3
|
+
const PRIORITIES = Object.values(IncidentPriority);
|
|
4
|
+
export function isIncidentPriority(value) {
|
|
5
|
+
return typeof value === 'string' && PRIORITIES.includes(value);
|
|
6
|
+
}
|
|
7
|
+
/** P1..P4 for an incident priority; null for anything unrecognised. */
|
|
8
|
+
export function slaPriorityLevel(priority) {
|
|
9
|
+
return isIncidentPriority(priority) ? INCIDENT_PRIORITY_SLA_LEVEL[priority] : null;
|
|
10
|
+
}
|
|
11
|
+
/** The more urgent of two priorities. */
|
|
12
|
+
export function higherIncidentPriority(a, b) {
|
|
13
|
+
return INCIDENT_PRIORITY_RANK[a] >= INCIDENT_PRIORITY_RANK[b] ? a : b;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The priority an incident's SLA is measured at: its own priority, raised to
|
|
17
|
+
* the floor its emergency type sets (an SOS arrives as the column default,
|
|
18
|
+
* Medium, and must not get a Medium clock). An unknown priority counts as Medium.
|
|
19
|
+
*/
|
|
20
|
+
export function resolveSlaPriority(priority, emergencyType, floors) {
|
|
21
|
+
const own = isIncidentPriority(priority) ? priority : IncidentPriority.MEDIUM;
|
|
22
|
+
const floor = emergencyType && floors ? floors[emergencyType] : undefined;
|
|
23
|
+
return floor && isIncidentPriority(floor) ? higherIncidentPriority(own, floor) : own;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=incident-sla-priority.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-sla-priority.util.js","sourceRoot":"","sources":["../../../../../src/modules/incident-sla/utils/incident-sla-priority.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAI/G,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAa,CAAC;AAE/D,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,QAAmC;IAChE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvF,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,sBAAsB,CAAC,CAAmB,EAAE,CAAmB;IAC3E,OAAO,sBAAsB,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAAmC,EACnC,aAAwC,EACxC,MAAoD;IAEpD,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAC9E,MAAM,KAAK,GAAG,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAsC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,OAAO,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACzF,CAAC"}
|