grm-shared-library 1.1.221 → 1.1.223
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/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/kafka/topics.js +17 -1
- package/dist/cjs/kafka/topics.js.map +1 -1
- package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js +41 -0
- package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
- package/dist/cjs/modules/alert-dispatch/index.js +4 -0
- package/dist/cjs/modules/alert-dispatch/index.js.map +1 -1
- package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js +3 -0
- package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
- package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js +63 -0
- package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
- package/dist/cjs/modules/common/constants/service.const.js +1 -0
- package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
- package/dist/cjs/modules/gis/dtos/private-trip.dto.js +214 -0
- package/dist/cjs/modules/gis/dtos/private-trip.dto.js.map +1 -0
- package/dist/cjs/modules/gis/dtos/routing.dto.js +251 -0
- package/dist/cjs/modules/gis/dtos/routing.dto.js.map +1 -0
- package/dist/cjs/modules/gis/dtos/trip-points.dto.js +35 -0
- package/dist/cjs/modules/gis/dtos/trip-points.dto.js.map +1 -0
- package/dist/cjs/modules/gis/enums/routing.enum.js +29 -0
- package/dist/cjs/modules/gis/enums/routing.enum.js.map +1 -0
- package/dist/cjs/modules/gis/enums/trip-privacy.enum.js +34 -0
- package/dist/cjs/modules/gis/enums/trip-privacy.enum.js.map +1 -0
- package/dist/cjs/modules/gis/index.js +8 -0
- package/dist/cjs/modules/gis/index.js.map +1 -1
- package/dist/cjs/modules/gis/interfaces/routing.js +3 -0
- package/dist/cjs/modules/gis/interfaces/routing.js.map +1 -0
- package/dist/cjs/modules/gis/interfaces/trip-point.js +3 -0
- package/dist/cjs/modules/gis/interfaces/trip-point.js.map +1 -0
- package/dist/cjs/modules/gis/interfaces/trip-summary.js +3 -0
- package/dist/cjs/modules/gis/interfaces/trip-summary.js.map +1 -0
- package/dist/cjs/modules/incident/dtos/incident/incident.dto.js +30 -0
- package/dist/cjs/modules/incident/dtos/incident/incident.dto.js.map +1 -1
- package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js +19 -0
- package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
- package/dist/cjs/modules/incident/index.js +1 -0
- package/dist/cjs/modules/incident/index.js.map +1 -1
- package/dist/cjs/modules/organization/index.js +1 -0
- package/dist/cjs/modules/organization/index.js.map +1 -1
- package/dist/cjs/modules/organization/interfaces/organization-created-event.js +3 -0
- package/dist/cjs/modules/organization/interfaces/organization-created-event.js.map +1 -0
- package/dist/cjs/modules/permission/data/permissions.data.js +17 -0
- package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js +24 -0
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/cjs/modules/permission/enums/permissions-module.enum.js +2 -0
- package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
- package/dist/cjs/modules/role/constants/safety-roles.js +46 -0
- package/dist/cjs/modules/role/constants/safety-roles.js.map +1 -0
- package/dist/cjs/modules/role/data/roles.data.js +55 -6
- package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
- package/dist/cjs/modules/role/index.js +1 -0
- package/dist/cjs/modules/role/index.js.map +1 -1
- package/dist/cjs/modules/safety/constants/follow-me.const.js +137 -0
- package/dist/cjs/modules/safety/constants/follow-me.const.js.map +1 -0
- package/dist/cjs/modules/safety/constants/safety-check-limits.const.js +51 -0
- package/dist/cjs/modules/safety/constants/safety-check-limits.const.js.map +1 -0
- package/dist/cjs/modules/safety/constants/safety-integration.const.js +151 -0
- package/dist/cjs/modules/safety/constants/safety-integration.const.js.map +1 -0
- package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js +50 -0
- package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
- package/dist/cjs/modules/safety/dtos/follow-me.dto.js +501 -0
- package/dist/cjs/modules/safety/dtos/follow-me.dto.js.map +1 -0
- package/dist/cjs/modules/safety/dtos/safety-admin.dto.js +245 -0
- package/dist/cjs/modules/safety/dtos/safety-admin.dto.js.map +1 -0
- package/dist/cjs/modules/safety/dtos/safety-alert-context.dto.js +60 -0
- package/dist/cjs/modules/safety/dtos/safety-alert-context.dto.js.map +1 -0
- package/dist/cjs/modules/safety/dtos/safety-check.dto.js +170 -0
- package/dist/cjs/modules/safety/dtos/safety-check.dto.js.map +1 -0
- package/dist/cjs/modules/safety/dtos/safety-internal.dto.js +179 -0
- package/dist/cjs/modules/safety/dtos/safety-internal.dto.js.map +1 -0
- package/dist/cjs/modules/safety/enums/follow-me.enums.js +237 -0
- package/dist/cjs/modules/safety/enums/follow-me.enums.js.map +1 -0
- package/dist/cjs/modules/safety/enums/safety-check-status.enum.js +45 -0
- package/dist/cjs/modules/safety/enums/safety-check-status.enum.js.map +1 -0
- package/dist/cjs/modules/safety/enums/safety-enums.js +98 -0
- package/dist/cjs/modules/safety/enums/safety-enums.js.map +1 -0
- package/dist/cjs/modules/safety/enums/safety-error-code.enum.js +27 -0
- package/dist/cjs/modules/safety/enums/safety-error-code.enum.js.map +1 -0
- package/dist/cjs/modules/safety/index.js +42 -0
- package/dist/cjs/modules/safety/index.js.map +1 -0
- package/dist/cjs/modules/safety/interfaces/follow-me.js +3 -0
- package/dist/cjs/modules/safety/interfaces/follow-me.js.map +1 -0
- package/dist/cjs/modules/safety/interfaces/safety-alert-context.js +3 -0
- package/dist/cjs/modules/safety/interfaces/safety-alert-context.js.map +1 -0
- package/dist/cjs/modules/safety/interfaces/safety-check-event.js +3 -0
- package/dist/cjs/modules/safety/interfaces/safety-check-event.js.map +1 -0
- package/dist/cjs/modules/safety/interfaces/safety-check.js +3 -0
- package/dist/cjs/modules/safety/interfaces/safety-check.js.map +1 -0
- package/dist/cjs/modules/safety/utils/follow-me-state-machine.js +131 -0
- package/dist/cjs/modules/safety/utils/follow-me-state-machine.js.map +1 -0
- package/dist/cjs/modules/safety/utils/safety-check-state-machine.js +75 -0
- package/dist/cjs/modules/safety/utils/safety-check-state-machine.js.map +1 -0
- package/dist/cjs/modules/safety/utils/safety-check-timing.util.js +68 -0
- package/dist/cjs/modules/safety/utils/safety-check-timing.util.js.map +1 -0
- package/dist/cjs/modules/sms/constants/sms-templates.config.js +24 -0
- package/dist/cjs/modules/sms/constants/sms-templates.config.js.map +1 -1
- package/dist/cjs/modules/sms/enums/sms-template.enum.js +4 -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 +17 -1
- package/dist/esm/kafka/topics.js.map +1 -1
- package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js +37 -0
- package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
- package/dist/esm/modules/alert-dispatch/index.js +4 -0
- package/dist/esm/modules/alert-dispatch/index.js.map +1 -1
- package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js +2 -0
- package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
- package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js +56 -0
- package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
- package/dist/esm/modules/common/constants/service.const.js +1 -0
- package/dist/esm/modules/common/constants/service.const.js.map +1 -1
- package/dist/esm/modules/gis/dtos/private-trip.dto.js +205 -0
- package/dist/esm/modules/gis/dtos/private-trip.dto.js.map +1 -0
- package/dist/esm/modules/gis/dtos/routing.dto.js +241 -0
- package/dist/esm/modules/gis/dtos/routing.dto.js.map +1 -0
- package/dist/esm/modules/gis/dtos/trip-points.dto.js +31 -0
- package/dist/esm/modules/gis/dtos/trip-points.dto.js.map +1 -0
- package/dist/esm/modules/gis/enums/routing.enum.js +26 -0
- package/dist/esm/modules/gis/enums/routing.enum.js.map +1 -0
- package/dist/esm/modules/gis/enums/trip-privacy.enum.js +31 -0
- package/dist/esm/modules/gis/enums/trip-privacy.enum.js.map +1 -0
- package/dist/esm/modules/gis/index.js +8 -0
- package/dist/esm/modules/gis/index.js.map +1 -1
- package/dist/esm/modules/gis/interfaces/routing.js +2 -0
- package/dist/esm/modules/gis/interfaces/routing.js.map +1 -0
- package/dist/esm/modules/gis/interfaces/trip-point.js +2 -0
- package/dist/esm/modules/gis/interfaces/trip-point.js.map +1 -0
- package/dist/esm/modules/gis/interfaces/trip-summary.js +2 -0
- package/dist/esm/modules/gis/interfaces/trip-summary.js.map +1 -0
- package/dist/esm/modules/incident/dtos/incident/incident.dto.js +31 -1
- package/dist/esm/modules/incident/dtos/incident/incident.dto.js.map +1 -1
- package/dist/esm/modules/incident/enums/incident-origin-type.enum.js +16 -0
- package/dist/esm/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
- package/dist/esm/modules/incident/index.js +1 -0
- package/dist/esm/modules/incident/index.js.map +1 -1
- package/dist/esm/modules/organization/index.js +1 -0
- package/dist/esm/modules/organization/index.js.map +1 -1
- package/dist/esm/modules/organization/interfaces/organization-created-event.js +2 -0
- package/dist/esm/modules/organization/interfaces/organization-created-event.js.map +1 -0
- package/dist/esm/modules/permission/data/permissions.data.js +17 -0
- package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
- package/dist/esm/modules/permission/enums/permission-actions.enum.js +24 -0
- package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/esm/modules/permission/enums/permissions-module.enum.js +2 -0
- package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
- package/dist/esm/modules/role/constants/safety-roles.js +43 -0
- package/dist/esm/modules/role/constants/safety-roles.js.map +1 -0
- package/dist/esm/modules/role/data/roles.data.js +55 -6
- package/dist/esm/modules/role/data/roles.data.js.map +1 -1
- package/dist/esm/modules/role/index.js +1 -0
- package/dist/esm/modules/role/index.js.map +1 -1
- package/dist/esm/modules/safety/constants/follow-me.const.js +134 -0
- package/dist/esm/modules/safety/constants/follow-me.const.js.map +1 -0
- package/dist/esm/modules/safety/constants/safety-check-limits.const.js +48 -0
- package/dist/esm/modules/safety/constants/safety-check-limits.const.js.map +1 -0
- package/dist/esm/modules/safety/constants/safety-integration.const.js +146 -0
- package/dist/esm/modules/safety/constants/safety-integration.const.js.map +1 -0
- package/dist/esm/modules/safety/constants/safety-taxonomy.const.js +45 -0
- package/dist/esm/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
- package/dist/esm/modules/safety/dtos/follow-me.dto.js +488 -0
- package/dist/esm/modules/safety/dtos/follow-me.dto.js.map +1 -0
- package/dist/esm/modules/safety/dtos/safety-admin.dto.js +238 -0
- package/dist/esm/modules/safety/dtos/safety-admin.dto.js.map +1 -0
- package/dist/esm/modules/safety/dtos/safety-alert-context.dto.js +55 -0
- package/dist/esm/modules/safety/dtos/safety-alert-context.dto.js.map +1 -0
- package/dist/esm/modules/safety/dtos/safety-check.dto.js +161 -0
- package/dist/esm/modules/safety/dtos/safety-check.dto.js.map +1 -0
- package/dist/esm/modules/safety/dtos/safety-internal.dto.js +172 -0
- package/dist/esm/modules/safety/dtos/safety-internal.dto.js.map +1 -0
- package/dist/esm/modules/safety/enums/follow-me.enums.js +234 -0
- package/dist/esm/modules/safety/enums/follow-me.enums.js.map +1 -0
- package/dist/esm/modules/safety/enums/safety-check-status.enum.js +42 -0
- package/dist/esm/modules/safety/enums/safety-check-status.enum.js.map +1 -0
- package/dist/esm/modules/safety/enums/safety-enums.js +95 -0
- package/dist/esm/modules/safety/enums/safety-enums.js.map +1 -0
- package/dist/esm/modules/safety/enums/safety-error-code.enum.js +24 -0
- package/dist/esm/modules/safety/enums/safety-error-code.enum.js.map +1 -0
- package/dist/esm/modules/safety/index.js +26 -0
- package/dist/esm/modules/safety/index.js.map +1 -0
- package/dist/esm/modules/safety/interfaces/follow-me.js +2 -0
- package/dist/esm/modules/safety/interfaces/follow-me.js.map +1 -0
- package/dist/esm/modules/safety/interfaces/safety-alert-context.js +2 -0
- package/dist/esm/modules/safety/interfaces/safety-alert-context.js.map +1 -0
- package/dist/esm/modules/safety/interfaces/safety-check-event.js +2 -0
- package/dist/esm/modules/safety/interfaces/safety-check-event.js.map +1 -0
- package/dist/esm/modules/safety/interfaces/safety-check.js +2 -0
- package/dist/esm/modules/safety/interfaces/safety-check.js.map +1 -0
- package/dist/esm/modules/safety/utils/follow-me-state-machine.js +116 -0
- package/dist/esm/modules/safety/utils/follow-me-state-machine.js.map +1 -0
- package/dist/esm/modules/safety/utils/safety-check-state-machine.js +67 -0
- package/dist/esm/modules/safety/utils/safety-check-state-machine.js.map +1 -0
- package/dist/esm/modules/safety/utils/safety-check-timing.util.js +59 -0
- package/dist/esm/modules/safety/utils/safety-check-timing.util.js.map +1 -0
- package/dist/esm/modules/sms/constants/sms-templates.config.js +24 -0
- package/dist/esm/modules/sms/constants/sms-templates.config.js.map +1 -1
- package/dist/esm/modules/sms/enums/sms-template.enum.js +4 -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 +9 -0
- package/dist/types/modules/alert-dispatch/dtos/guardian-audience.dto.d.ts +6 -0
- package/dist/types/modules/alert-dispatch/index.d.ts +3 -0
- package/dist/types/modules/alert-dispatch/interfaces/guardian-audience.d.ts +23 -0
- package/dist/types/modules/alert-dispatch/utils/guardian-audience.util.d.ts +18 -0
- package/dist/types/modules/common/constants/service.const.d.ts +4 -0
- package/dist/types/modules/gis/dtos/private-trip.dto.d.ts +46 -0
- package/dist/types/modules/gis/dtos/routing.dto.d.ts +48 -0
- package/dist/types/modules/gis/dtos/trip-points.dto.d.ts +5 -0
- package/dist/types/modules/gis/enums/routing.enum.d.ts +22 -0
- package/dist/types/modules/gis/enums/trip-privacy.enum.d.ts +28 -0
- package/dist/types/modules/gis/index.d.ts +8 -0
- package/dist/types/modules/gis/interfaces/client-safe-trip.d.ts +8 -0
- package/dist/types/modules/gis/interfaces/routing.d.ts +43 -0
- package/dist/types/modules/gis/interfaces/trip-point.d.ts +16 -0
- package/dist/types/modules/gis/interfaces/trip-summary.d.ts +22 -0
- package/dist/types/modules/incident/dtos/incident/incident.dto.d.ts +16 -0
- package/dist/types/modules/incident/enums/incident-origin-type.enum.d.ts +14 -0
- package/dist/types/modules/incident/index.d.ts +1 -0
- package/dist/types/modules/incident/intefaces/incident-category.d.ts +10 -0
- package/dist/types/modules/incident/intefaces/incident-type.d.ts +10 -0
- package/dist/types/modules/incident/intefaces/incident.d.ts +17 -0
- package/dist/types/modules/organization/index.d.ts +1 -0
- package/dist/types/modules/organization/interfaces/organization-created-event.d.ts +18 -0
- package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +7 -0
- package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +3 -1
- package/dist/types/modules/role/constants/safety-roles.d.ts +24 -0
- package/dist/types/modules/role/index.d.ts +1 -0
- package/dist/types/modules/safety/constants/follow-me.const.d.ts +120 -0
- package/dist/types/modules/safety/constants/safety-check-limits.const.d.ts +47 -0
- package/dist/types/modules/safety/constants/safety-integration.const.d.ts +136 -0
- package/dist/types/modules/safety/constants/safety-taxonomy.const.d.ts +31 -0
- package/dist/types/modules/safety/dtos/follow-me.dto.d.ts +106 -0
- package/dist/types/modules/safety/dtos/safety-admin.dto.d.ts +42 -0
- package/dist/types/modules/safety/dtos/safety-alert-context.dto.d.ts +14 -0
- package/dist/types/modules/safety/dtos/safety-check.dto.d.ts +38 -0
- package/dist/types/modules/safety/dtos/safety-internal.dto.d.ts +54 -0
- package/dist/types/modules/safety/enums/follow-me.enums.d.ts +218 -0
- package/dist/types/modules/safety/enums/safety-check-status.enum.d.ts +40 -0
- package/dist/types/modules/safety/enums/safety-enums.d.ts +86 -0
- package/dist/types/modules/safety/enums/safety-error-code.enum.d.ts +22 -0
- package/dist/types/modules/safety/index.d.ts +20 -0
- package/dist/types/modules/safety/interfaces/follow-me.d.ts +339 -0
- package/dist/types/modules/safety/interfaces/safety-alert-context.d.ts +8 -0
- package/dist/types/modules/safety/interfaces/safety-check-event.d.ts +36 -0
- package/dist/types/modules/safety/interfaces/safety-check.d.ts +182 -0
- package/dist/types/modules/safety/utils/follow-me-state-machine.d.ts +51 -0
- package/dist/types/modules/safety/utils/safety-check-state-machine.d.ts +30 -0
- package/dist/types/modules/safety/utils/safety-check-timing.util.d.ts +37 -0
- package/dist/types/modules/sms/enums/sms-template.enum.d.ts +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cross-service contracts for the Safety domain. Each value is read by more than
|
|
4
|
+
* one repository - change both sides together.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.FOLLOW_ME_REDIS_KEYS = exports.FOLLOW_ME_ROOMS = exports.SAFETY_REALTIME_ROOM_PATTERNS = exports.SAFETY_SOCKET_EVENT = exports.SAFETY_REALTIME_CHANNEL = exports.FOLLOW_ME_TOKEN_HEADER = exports.FOLLOW_ME_MOBILE_ROUTES = exports.FOLLOW_ME_INTERNAL_PATHS = exports.FOLLOW_ME_WORKFLOW = exports.SAFETY_REDIS_KEYS = exports.SAFETY_MOBILE_ROUTES = exports.SAFETY_INTERNAL_PATHS = exports.SAFETY_CHECK_WORKFLOW = exports.SAFETY_INTERNAL_TOKEN_ENV_KEYS = exports.SAFETY_INTERNAL_TOKEN_HEADER = void 0;
|
|
8
|
+
exports.safetyCheckWorkflowId = safetyCheckWorkflowId;
|
|
9
|
+
exports.followMeWorkflowId = followMeWorkflowId;
|
|
10
|
+
/**
|
|
11
|
+
* Header carrying the shared internal service token on the calls that can raise
|
|
12
|
+
* or steer an SOS: workflow-manager -> clarion-safety (advance), clarion-safety
|
|
13
|
+
* -> workflow-manager (start/signal) and clarion-safety -> clarion-incident
|
|
14
|
+
* (create the Safety SOS incident). Same header workflow-manager already
|
|
15
|
+
* requires on its API.
|
|
16
|
+
*/
|
|
17
|
+
exports.SAFETY_INTERNAL_TOKEN_HEADER = 'x-internal-service-token';
|
|
18
|
+
/**
|
|
19
|
+
* Env vars the token is read from, in order. `SAFETY_INTERNAL_API_TOKEN` may hold
|
|
20
|
+
* a comma-separated list (rotation); when it is unset every party falls back to
|
|
21
|
+
* `WORKFLOW_MANAGER_API_TOKEN`, which every pod already receives from
|
|
22
|
+
* runtime-secrets. Senders use the FIRST value; receivers accept ANY.
|
|
23
|
+
*/
|
|
24
|
+
exports.SAFETY_INTERNAL_TOKEN_ENV_KEYS = ['SAFETY_INTERNAL_API_TOKEN', 'WORKFLOW_MANAGER_API_TOKEN'];
|
|
25
|
+
/** Temporal: the durable Safety Check timer. */
|
|
26
|
+
exports.SAFETY_CHECK_WORKFLOW = {
|
|
27
|
+
/** Registered workflow function name in clarion-workflow-manager. */
|
|
28
|
+
workflowType: 'safetyCheckWorkflow',
|
|
29
|
+
/** Default task queue; overridable with TEMPORAL_SAFETY_TASK_QUEUE. */
|
|
30
|
+
taskQueue: 'safety-check-task-queue',
|
|
31
|
+
/** Signal that wakes the workflow early (extension, check-in, stop, SOS). */
|
|
32
|
+
changedSignal: 'safetyCheckChanged',
|
|
33
|
+
/** Query returning the workflow's view of the next wake time. */
|
|
34
|
+
stateQuery: 'safetyCheckWorkflowState',
|
|
35
|
+
};
|
|
36
|
+
/** Workflow id for a Safety Check. One per check, ever - the id IS the idempotency key. */
|
|
37
|
+
function safetyCheckWorkflowId(safetyCheckId) {
|
|
38
|
+
return `safety-check-${safetyCheckId}`;
|
|
39
|
+
}
|
|
40
|
+
/** Internal HTTP paths (not proxied by the gateway). */
|
|
41
|
+
exports.SAFETY_INTERNAL_PATHS = {
|
|
42
|
+
/** clarion-safety: the one domain step the durable timer drives. */
|
|
43
|
+
advanceCheck: (safetyCheckId) => `/safety/internal/checks/${encodeURIComponent(safetyCheckId)}/advance`,
|
|
44
|
+
/** clarion-workflow-manager: start the timer for a check. */
|
|
45
|
+
startWorkflow: '/safety-checks/workflows',
|
|
46
|
+
/** clarion-workflow-manager: wake the timer early. */
|
|
47
|
+
signalWorkflow: (safetyCheckId) => `/safety-checks/workflows/${encodeURIComponent(safetyCheckId)}/signal`,
|
|
48
|
+
/** clarion-incident: raise the Safety SOS incident (idempotent per origin). */
|
|
49
|
+
createSafetyAlertIncident: '/incidents/safety-alerts',
|
|
50
|
+
/** clarion-incident: which of these incident type ids are platform-managed system types. */
|
|
51
|
+
classifyIncidentTypes: '/incident-types/classify',
|
|
52
|
+
/** clarion-gis private trips (tracked privately until an SOS shares them). */
|
|
53
|
+
createPrivateTrip: '/trips/private',
|
|
54
|
+
tripTrackPoints: (tripId) => `/trips/${encodeURIComponent(tripId)}/track-points`,
|
|
55
|
+
shareTrip: (tripId) => `/trips/${encodeURIComponent(tripId)}/share`,
|
|
56
|
+
stopPrivateTrip: (tripId) => `/trips/${encodeURIComponent(tripId)}/stop-private`,
|
|
57
|
+
tripSummary: (tripId) => `/trips/${encodeURIComponent(tripId)}/summary`,
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* go_router locations in clarion_mobile that pushes deep-link to. A push route
|
|
61
|
+
* is an APP location, never an API path.
|
|
62
|
+
*/
|
|
63
|
+
exports.SAFETY_MOBILE_ROUTES = {
|
|
64
|
+
active: '/safety-check/active',
|
|
65
|
+
prompt: '/safety-check/prompt',
|
|
66
|
+
};
|
|
67
|
+
/** Redis keys clarion-safety owns. */
|
|
68
|
+
exports.SAFETY_REDIS_KEYS = {
|
|
69
|
+
sweeperLock: 'safety:lock:sweeper',
|
|
70
|
+
rateLimit: (userId, bucket) => `safety:rl:${bucket}:${userId}`,
|
|
71
|
+
};
|
|
72
|
+
// --- Follow Me ------------------------------------------------------------------------
|
|
73
|
+
/** Temporal: the durable Follow Me timer (expiry, prompt deadline, ETA checks). */
|
|
74
|
+
exports.FOLLOW_ME_WORKFLOW = {
|
|
75
|
+
workflowType: 'followMeWorkflow',
|
|
76
|
+
/** Shares the Safety task queue and worker with the Safety Check timer. */
|
|
77
|
+
taskQueue: exports.SAFETY_CHECK_WORKFLOW.taskQueue,
|
|
78
|
+
changedSignal: 'followMeChanged',
|
|
79
|
+
stateQuery: 'followMeWorkflowState',
|
|
80
|
+
};
|
|
81
|
+
/** One workflow per session, ever. */
|
|
82
|
+
function followMeWorkflowId(sessionId) {
|
|
83
|
+
return `follow-me-${sessionId}`;
|
|
84
|
+
}
|
|
85
|
+
/** Internal HTTP paths for Follow Me (never proxied by the gateway). */
|
|
86
|
+
exports.FOLLOW_ME_INTERNAL_PATHS = {
|
|
87
|
+
/** clarion-safety: the one step the durable timer drives. */
|
|
88
|
+
advanceSession: (sessionId) => `/safety/internal/follow-me/${encodeURIComponent(sessionId)}/advance`,
|
|
89
|
+
/**
|
|
90
|
+
* clarion-safety: mint a fresh external follow link for one participant, at the
|
|
91
|
+
* moment the SMS is sent. The raw token exists only in this response and the
|
|
92
|
+
* SMS - never on a Kafka topic, never in a log.
|
|
93
|
+
*/
|
|
94
|
+
mintExternalLink: (participantId) => `/safety/internal/follow-me/participants/${encodeURIComponent(participantId)}/access-link`,
|
|
95
|
+
/** clarion-workflow-manager. */
|
|
96
|
+
startWorkflow: '/follow-me/workflows',
|
|
97
|
+
signalWorkflow: (sessionId) => `/follow-me/workflows/${encodeURIComponent(sessionId)}/signal`,
|
|
98
|
+
/** clarion-gis routing and places (internal; the gateway exposes the places ones to the app). */
|
|
99
|
+
computeRoute: '/gis/routes/compute',
|
|
100
|
+
placesAutocomplete: '/gis/places/autocomplete',
|
|
101
|
+
placeDetails: '/gis/places/details',
|
|
102
|
+
reverseGeocode: '/gis/places/reverse',
|
|
103
|
+
/** clarion-gis: a page of a trip's recorded points. */
|
|
104
|
+
tripPoints: (tripId) => `/trips/${encodeURIComponent(tripId)}/points`,
|
|
105
|
+
};
|
|
106
|
+
/** App locations for Follow Me pushes (go_router, never API paths). */
|
|
107
|
+
exports.FOLLOW_ME_MOBILE_ROUTES = {
|
|
108
|
+
active: '/follow-me/active',
|
|
109
|
+
prompt: '/follow-me/prompt',
|
|
110
|
+
requests: '/follow-me/requests',
|
|
111
|
+
follow: (sessionId) => `/follow-me/follow/${encodeURIComponent(sessionId)}`,
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Header the external follow page sends its token in. The link carries the token
|
|
115
|
+
* in the URL FRAGMENT (`/follow#t=...`), which browsers never send to a server, so
|
|
116
|
+
* it cannot land in a proxy or access log; the page reads it and sends it here.
|
|
117
|
+
*/
|
|
118
|
+
exports.FOLLOW_ME_TOKEN_HEADER = 'x-follow-token';
|
|
119
|
+
/**
|
|
120
|
+
* Redis pub/sub channel clarion-safety publishes live Safety events on. The
|
|
121
|
+
* envelope DECLARES its rooms (as support does); clarion-socket validates them
|
|
122
|
+
* against SAFETY_REALTIME_ROOM_PATTERNS and never adds any.
|
|
123
|
+
*/
|
|
124
|
+
exports.SAFETY_REALTIME_CHANNEL = 'realtime:safety';
|
|
125
|
+
/** Socket.IO event name clients listen to. */
|
|
126
|
+
exports.SAFETY_SOCKET_EVENT = 'safety.event';
|
|
127
|
+
/** The only rooms a Safety envelope may target. */
|
|
128
|
+
exports.SAFETY_REALTIME_ROOM_PATTERNS = [
|
|
129
|
+
/^user:\d+$/,
|
|
130
|
+
/^followme:org:\d+$/,
|
|
131
|
+
/^followme:cc:\d+:\d+$/,
|
|
132
|
+
];
|
|
133
|
+
/**
|
|
134
|
+
* Staff rooms that receive a session's live Follow Me updates - ONLY when the user
|
|
135
|
+
* chose to include their provider. clarion-socket admits staff by role:
|
|
136
|
+
* org rooms FOLLOW_ME_ORG_TRACKER_ROLES of that organization, cc rooms
|
|
137
|
+
* FOLLOW_ME_CC_TRACKER_ROLES of that organization and control centre.
|
|
138
|
+
*/
|
|
139
|
+
exports.FOLLOW_ME_ROOMS = {
|
|
140
|
+
user: (userId) => `user:${userId}`,
|
|
141
|
+
organization: (organizationId) => `followme:org:${organizationId}`,
|
|
142
|
+
controlCentre: (organizationId, controlCentreId) => `followme:cc:${organizationId}:${controlCentreId}`,
|
|
143
|
+
};
|
|
144
|
+
exports.FOLLOW_ME_REDIS_KEYS = {
|
|
145
|
+
lastLocation: (sessionId) => `safety:fm:last:${sessionId}`,
|
|
146
|
+
routePreview: (token) => `safety:fm:route:${token}`,
|
|
147
|
+
presence: (sessionId, participantId) => `safety:fm:presence:${sessionId}:${participantId}`,
|
|
148
|
+
realtimeThrottle: (sessionId) => `safety:fm:rt:${sessionId}`,
|
|
149
|
+
externalRateLimit: (bucket) => `safety:rl:fm-ext:${bucket}`,
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=safety-integration.const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety-integration.const.js","sourceRoot":"","sources":["../../../../../src/modules/safety/constants/safety-integration.const.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SAFETY_ALERTS_TAXONOMY = void 0;
|
|
4
|
+
exports.safetyIncidentTypeCodeFor = safetyIncidentTypeCodeFor;
|
|
5
|
+
exports.isSafetyIncidentTypeCode = isSafetyIncidentTypeCode;
|
|
6
|
+
const safety_enums_1 = require("../enums/safety-enums");
|
|
7
|
+
/**
|
|
8
|
+
* The incident category and types EVERY organization receives - existing ones by
|
|
9
|
+
* migration and reconciliation, new ones on `org.created`. There is no
|
|
10
|
+
* per-organization exception (NAVCDP included).
|
|
11
|
+
*
|
|
12
|
+
* They are SYSTEM rows in clarion-incident (`isSystem = true`, matched by
|
|
13
|
+
* `code`, never by name): hidden from the SOS bottom sheet and from package
|
|
14
|
+
* configuration, immutable through the admin API, and raised only by the
|
|
15
|
+
* safety features themselves.
|
|
16
|
+
*
|
|
17
|
+
* Names are stored once at provisioning; renaming here does not rename existing
|
|
18
|
+
* rows.
|
|
19
|
+
*/
|
|
20
|
+
exports.SAFETY_ALERTS_TAXONOMY = {
|
|
21
|
+
code: safety_enums_1.SafetyIncidentCategoryCode.SAFETY_ALERTS,
|
|
22
|
+
name: 'Safety Alerts',
|
|
23
|
+
description: 'SOS alerts raised automatically by Clarion safety features.',
|
|
24
|
+
types: [
|
|
25
|
+
{
|
|
26
|
+
code: safety_enums_1.SafetyIncidentTypeCode.SAFETY_CHECK_SOS,
|
|
27
|
+
name: 'Safety Check SOS',
|
|
28
|
+
description: 'Raised when a user misses a Safety Check check-in or asks for help during one.',
|
|
29
|
+
feature: safety_enums_1.SafetyFeature.SAFETY_CHECK,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
code: safety_enums_1.SafetyIncidentTypeCode.FOLLOW_ME_SOS,
|
|
33
|
+
name: 'Follow Me SOS',
|
|
34
|
+
description: 'Raised by a Follow Me journey.',
|
|
35
|
+
feature: safety_enums_1.SafetyFeature.FOLLOW_ME,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
/** The incident type a safety feature raises its SOS as. */
|
|
40
|
+
function safetyIncidentTypeCodeFor(feature) {
|
|
41
|
+
const match = exports.SAFETY_ALERTS_TAXONOMY.types.find((type) => type.feature === feature);
|
|
42
|
+
if (!match)
|
|
43
|
+
throw new Error(`No safety incident type for feature ${feature}`);
|
|
44
|
+
return match.code;
|
|
45
|
+
}
|
|
46
|
+
/** True for a code clarion-incident treats as a platform-managed safety type. */
|
|
47
|
+
function isSafetyIncidentTypeCode(code) {
|
|
48
|
+
return !!code && Object.values(safety_enums_1.SafetyIncidentTypeCode).includes(code);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=safety-taxonomy.const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety-taxonomy.const.js","sourceRoot":"","sources":["../../../../../src/modules/safety/constants/safety-taxonomy.const.ts"],"names":[],"mappings":";;;AAkDA,8DAIC;AAGD,4DAEC;AA3DD,wDAA0G;AAgB1G;;;;;;;;;;;;GAYG;AACU,QAAA,sBAAsB,GAAqC;IACpE,IAAI,EAAE,yCAA0B,CAAC,aAAa;IAC9C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6DAA6D;IAC1E,KAAK,EAAE;QACH;YACI,IAAI,EAAE,qCAAsB,CAAC,gBAAgB;YAC7C,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,gFAAgF;YAC7F,OAAO,EAAE,4BAAa,CAAC,YAAY;SACtC;QACD;YACI,IAAI,EAAE,qCAAsB,CAAC,aAAa;YAC1C,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,4BAAa,CAAC,SAAS;SACnC;KACJ;CACJ,CAAC;AAEF,4DAA4D;AAC5D,SAAgB,yBAAyB,CAAC,OAAsB;IAC5D,MAAM,KAAK,GAAG,8BAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,iFAAiF;AACjF,SAAgB,wBAAwB,CAAC,IAA+B;IACpE,OAAO,CAAC,CAAC,IAAI,IAAK,MAAM,CAAC,MAAM,CAAC,qCAAsB,CAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC"}
|