grm-shared-library 1.1.221 → 1.1.222

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.
Files changed (192) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/kafka/topics.js +10 -1
  4. package/dist/cjs/kafka/topics.js.map +1 -1
  5. package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js +41 -0
  6. package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
  7. package/dist/cjs/modules/alert-dispatch/index.js +4 -0
  8. package/dist/cjs/modules/alert-dispatch/index.js.map +1 -1
  9. package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js +3 -0
  10. package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
  11. package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js +63 -0
  12. package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
  13. package/dist/cjs/modules/common/constants/service.const.js +1 -0
  14. package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
  15. package/dist/cjs/modules/gis/dtos/private-trip.dto.js +180 -0
  16. package/dist/cjs/modules/gis/dtos/private-trip.dto.js.map +1 -0
  17. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js +28 -0
  18. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  19. package/dist/cjs/modules/gis/index.js +3 -0
  20. package/dist/cjs/modules/gis/index.js.map +1 -1
  21. package/dist/cjs/modules/gis/interfaces/trip-summary.js +3 -0
  22. package/dist/cjs/modules/gis/interfaces/trip-summary.js.map +1 -0
  23. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js +22 -0
  24. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  25. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js +17 -0
  26. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  27. package/dist/cjs/modules/incident/index.js +1 -0
  28. package/dist/cjs/modules/incident/index.js.map +1 -1
  29. package/dist/cjs/modules/organization/index.js +1 -0
  30. package/dist/cjs/modules/organization/index.js.map +1 -1
  31. package/dist/cjs/modules/organization/interfaces/organization-created-event.js +3 -0
  32. package/dist/cjs/modules/organization/interfaces/organization-created-event.js.map +1 -0
  33. package/dist/cjs/modules/permission/data/permissions.data.js +8 -0
  34. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  35. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +12 -0
  36. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  37. package/dist/cjs/modules/permission/enums/permissions-module.enum.js +1 -0
  38. package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
  39. package/dist/cjs/modules/role/constants/safety-roles.js +25 -0
  40. package/dist/cjs/modules/role/constants/safety-roles.js.map +1 -0
  41. package/dist/cjs/modules/role/data/roles.data.js +38 -6
  42. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  43. package/dist/cjs/modules/role/index.js +1 -0
  44. package/dist/cjs/modules/role/index.js.map +1 -1
  45. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js +51 -0
  46. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  47. package/dist/cjs/modules/safety/constants/safety-integration.const.js +71 -0
  48. package/dist/cjs/modules/safety/constants/safety-integration.const.js.map +1 -0
  49. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js +50 -0
  50. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  51. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js +232 -0
  52. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  53. package/dist/cjs/modules/safety/dtos/safety-check.dto.js +170 -0
  54. package/dist/cjs/modules/safety/dtos/safety-check.dto.js.map +1 -0
  55. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js +162 -0
  56. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  57. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js +45 -0
  58. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  59. package/dist/cjs/modules/safety/enums/safety-enums.js +93 -0
  60. package/dist/cjs/modules/safety/enums/safety-enums.js.map +1 -0
  61. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js +27 -0
  62. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  63. package/dist/cjs/modules/safety/index.js +35 -0
  64. package/dist/cjs/modules/safety/index.js.map +1 -0
  65. package/dist/cjs/modules/safety/interfaces/safety-check-event.js +3 -0
  66. package/dist/cjs/modules/safety/interfaces/safety-check-event.js.map +1 -0
  67. package/dist/cjs/modules/safety/interfaces/safety-check.js +3 -0
  68. package/dist/cjs/modules/safety/interfaces/safety-check.js.map +1 -0
  69. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js +75 -0
  70. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  71. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js +68 -0
  72. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  73. package/dist/cjs/modules/sms/constants/sms-templates.config.js +12 -0
  74. package/dist/cjs/modules/sms/constants/sms-templates.config.js.map +1 -1
  75. package/dist/cjs/modules/sms/enums/sms-template.enum.js +2 -0
  76. package/dist/cjs/modules/sms/enums/sms-template.enum.js.map +1 -1
  77. package/dist/esm/index.js +1 -0
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/kafka/topics.js +10 -1
  80. package/dist/esm/kafka/topics.js.map +1 -1
  81. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js +37 -0
  82. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
  83. package/dist/esm/modules/alert-dispatch/index.js +4 -0
  84. package/dist/esm/modules/alert-dispatch/index.js.map +1 -1
  85. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js +2 -0
  86. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
  87. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js +56 -0
  88. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
  89. package/dist/esm/modules/common/constants/service.const.js +1 -0
  90. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  91. package/dist/esm/modules/gis/dtos/private-trip.dto.js +171 -0
  92. package/dist/esm/modules/gis/dtos/private-trip.dto.js.map +1 -0
  93. package/dist/esm/modules/gis/enums/trip-privacy.enum.js +25 -0
  94. package/dist/esm/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  95. package/dist/esm/modules/gis/index.js +3 -0
  96. package/dist/esm/modules/gis/index.js.map +1 -1
  97. package/dist/esm/modules/gis/interfaces/trip-summary.js +2 -0
  98. package/dist/esm/modules/gis/interfaces/trip-summary.js.map +1 -0
  99. package/dist/esm/modules/incident/dtos/incident/incident.dto.js +23 -1
  100. package/dist/esm/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  101. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js +14 -0
  102. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  103. package/dist/esm/modules/incident/index.js +1 -0
  104. package/dist/esm/modules/incident/index.js.map +1 -1
  105. package/dist/esm/modules/organization/index.js +1 -0
  106. package/dist/esm/modules/organization/index.js.map +1 -1
  107. package/dist/esm/modules/organization/interfaces/organization-created-event.js +2 -0
  108. package/dist/esm/modules/organization/interfaces/organization-created-event.js.map +1 -0
  109. package/dist/esm/modules/permission/data/permissions.data.js +8 -0
  110. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  111. package/dist/esm/modules/permission/enums/permission-actions.enum.js +12 -0
  112. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  113. package/dist/esm/modules/permission/enums/permissions-module.enum.js +1 -0
  114. package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
  115. package/dist/esm/modules/role/constants/safety-roles.js +22 -0
  116. package/dist/esm/modules/role/constants/safety-roles.js.map +1 -0
  117. package/dist/esm/modules/role/data/roles.data.js +38 -6
  118. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  119. package/dist/esm/modules/role/index.js +1 -0
  120. package/dist/esm/modules/role/index.js.map +1 -1
  121. package/dist/esm/modules/safety/constants/safety-check-limits.const.js +48 -0
  122. package/dist/esm/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  123. package/dist/esm/modules/safety/constants/safety-integration.const.js +67 -0
  124. package/dist/esm/modules/safety/constants/safety-integration.const.js.map +1 -0
  125. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js +45 -0
  126. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  127. package/dist/esm/modules/safety/dtos/safety-admin.dto.js +225 -0
  128. package/dist/esm/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  129. package/dist/esm/modules/safety/dtos/safety-check.dto.js +161 -0
  130. package/dist/esm/modules/safety/dtos/safety-check.dto.js.map +1 -0
  131. package/dist/esm/modules/safety/dtos/safety-internal.dto.js +155 -0
  132. package/dist/esm/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  133. package/dist/esm/modules/safety/enums/safety-check-status.enum.js +42 -0
  134. package/dist/esm/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  135. package/dist/esm/modules/safety/enums/safety-enums.js +90 -0
  136. package/dist/esm/modules/safety/enums/safety-enums.js.map +1 -0
  137. package/dist/esm/modules/safety/enums/safety-error-code.enum.js +24 -0
  138. package/dist/esm/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  139. package/dist/esm/modules/safety/index.js +19 -0
  140. package/dist/esm/modules/safety/index.js.map +1 -0
  141. package/dist/esm/modules/safety/interfaces/safety-check-event.js +2 -0
  142. package/dist/esm/modules/safety/interfaces/safety-check-event.js.map +1 -0
  143. package/dist/esm/modules/safety/interfaces/safety-check.js +2 -0
  144. package/dist/esm/modules/safety/interfaces/safety-check.js.map +1 -0
  145. package/dist/esm/modules/safety/utils/safety-check-state-machine.js +67 -0
  146. package/dist/esm/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  147. package/dist/esm/modules/safety/utils/safety-check-timing.util.js +59 -0
  148. package/dist/esm/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  149. package/dist/esm/modules/sms/constants/sms-templates.config.js +12 -0
  150. package/dist/esm/modules/sms/constants/sms-templates.config.js.map +1 -1
  151. package/dist/esm/modules/sms/enums/sms-template.enum.js +2 -0
  152. package/dist/esm/modules/sms/enums/sms-template.enum.js.map +1 -1
  153. package/dist/types/index.d.ts +1 -0
  154. package/dist/types/kafka/topics.d.ts +4 -0
  155. package/dist/types/modules/alert-dispatch/dtos/guardian-audience.dto.d.ts +6 -0
  156. package/dist/types/modules/alert-dispatch/index.d.ts +3 -0
  157. package/dist/types/modules/alert-dispatch/interfaces/guardian-audience.d.ts +23 -0
  158. package/dist/types/modules/alert-dispatch/utils/guardian-audience.util.d.ts +18 -0
  159. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  160. package/dist/types/modules/gis/dtos/private-trip.dto.d.ts +42 -0
  161. package/dist/types/modules/gis/enums/trip-privacy.enum.d.ts +22 -0
  162. package/dist/types/modules/gis/index.d.ts +3 -0
  163. package/dist/types/modules/gis/interfaces/client-safe-trip.d.ts +8 -0
  164. package/dist/types/modules/gis/interfaces/trip-summary.d.ts +26 -0
  165. package/dist/types/modules/incident/dtos/incident/incident.dto.d.ts +14 -0
  166. package/dist/types/modules/incident/enums/incident-origin-type.enum.d.ts +12 -0
  167. package/dist/types/modules/incident/index.d.ts +1 -0
  168. package/dist/types/modules/incident/intefaces/incident-category.d.ts +10 -0
  169. package/dist/types/modules/incident/intefaces/incident-type.d.ts +10 -0
  170. package/dist/types/modules/incident/intefaces/incident.d.ts +14 -0
  171. package/dist/types/modules/organization/index.d.ts +1 -0
  172. package/dist/types/modules/organization/interfaces/organization-created-event.d.ts +18 -0
  173. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +3 -0
  174. package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +2 -1
  175. package/dist/types/modules/role/constants/safety-roles.d.ts +14 -0
  176. package/dist/types/modules/role/index.d.ts +1 -0
  177. package/dist/types/modules/safety/constants/safety-check-limits.const.d.ts +47 -0
  178. package/dist/types/modules/safety/constants/safety-integration.const.d.ts +64 -0
  179. package/dist/types/modules/safety/constants/safety-taxonomy.const.d.ts +31 -0
  180. package/dist/types/modules/safety/dtos/safety-admin.dto.d.ts +39 -0
  181. package/dist/types/modules/safety/dtos/safety-check.dto.d.ts +38 -0
  182. package/dist/types/modules/safety/dtos/safety-internal.dto.d.ts +51 -0
  183. package/dist/types/modules/safety/enums/safety-check-status.enum.d.ts +40 -0
  184. package/dist/types/modules/safety/enums/safety-enums.d.ts +81 -0
  185. package/dist/types/modules/safety/enums/safety-error-code.enum.d.ts +22 -0
  186. package/dist/types/modules/safety/index.d.ts +13 -0
  187. package/dist/types/modules/safety/interfaces/safety-check-event.d.ts +36 -0
  188. package/dist/types/modules/safety/interfaces/safety-check.d.ts +180 -0
  189. package/dist/types/modules/safety/utils/safety-check-state-machine.d.ts +30 -0
  190. package/dist/types/modules/safety/utils/safety-check-timing.util.d.ts +37 -0
  191. package/dist/types/modules/sms/enums/sms-template.enum.d.ts +2 -0
  192. package/package.json +1 -1
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SafetyCheckReasonAdminQueryDto = exports.UpdateSafetyCheckReasonDto = exports.CreateSafetyCheckReasonDto = exports.SafetyCheckAdminQueryDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const country_code_enum_1 = require("../../country/enums/country-code.enum");
17
+ const safety_check_status_enum_1 = require("../enums/safety-check-status.enum");
18
+ /** Turns 'true'/'false' query strings into booleans without accepting anything else. */
19
+ const toOptionalBoolean = ({ value }) => {
20
+ if (value === undefined || value === null || value === '')
21
+ return undefined;
22
+ if (typeof value === 'boolean')
23
+ return value;
24
+ const normalized = String(value).toLowerCase();
25
+ if (normalized === 'true')
26
+ return true;
27
+ if (normalized === 'false')
28
+ return false;
29
+ return undefined;
30
+ };
31
+ const trim = ({ value }) => (typeof value === 'string' ? value.trim() : value);
32
+ const upper = ({ value }) => (typeof value === 'string' ? value.trim().toUpperCase() : value);
33
+ /**
34
+ * Filters for the admin Safety Check list. Every field NARROWS what the caller
35
+ * may already see: `organizationId` is honoured only for a super-admin; anybody
36
+ * else is scoped from their trusted context regardless of what arrives here.
37
+ */
38
+ class SafetyCheckAdminQueryDto {
39
+ }
40
+ exports.SafetyCheckAdminQueryDto = SafetyCheckAdminQueryDto;
41
+ __decorate([
42
+ (0, swagger_1.ApiPropertyOptional)({ minimum: 1, default: 1 }),
43
+ (0, class_transformer_1.Type)(() => Number),
44
+ (0, class_validator_1.IsInt)(),
45
+ (0, class_validator_1.Min)(1),
46
+ (0, class_validator_1.IsOptional)(),
47
+ __metadata("design:type", Number)
48
+ ], SafetyCheckAdminQueryDto.prototype, "page", void 0);
49
+ __decorate([
50
+ (0, swagger_1.ApiPropertyOptional)({ minimum: 1, maximum: 100, default: 25 }),
51
+ (0, class_transformer_1.Type)(() => Number),
52
+ (0, class_validator_1.IsInt)(),
53
+ (0, class_validator_1.Min)(1),
54
+ (0, class_validator_1.Max)(100),
55
+ (0, class_validator_1.IsOptional)(),
56
+ __metadata("design:type", Number)
57
+ ], SafetyCheckAdminQueryDto.prototype, "limit", void 0);
58
+ __decorate([
59
+ (0, swagger_1.ApiPropertyOptional)({ enum: safety_check_status_enum_1.SafetyCheckStatus }),
60
+ (0, class_validator_1.IsEnum)(safety_check_status_enum_1.SafetyCheckStatus),
61
+ (0, class_validator_1.IsOptional)(),
62
+ __metadata("design:type", String)
63
+ ], SafetyCheckAdminQueryDto.prototype, "status", void 0);
64
+ __decorate([
65
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Super-admin only' }),
66
+ (0, class_transformer_1.Type)(() => Number),
67
+ (0, class_validator_1.IsInt)(),
68
+ (0, class_validator_1.IsPositive)(),
69
+ (0, class_validator_1.IsOptional)(),
70
+ __metadata("design:type", Number)
71
+ ], SafetyCheckAdminQueryDto.prototype, "organizationId", void 0);
72
+ __decorate([
73
+ (0, swagger_1.ApiPropertyOptional)(),
74
+ (0, class_transformer_1.Type)(() => Number),
75
+ (0, class_validator_1.IsInt)(),
76
+ (0, class_validator_1.IsPositive)(),
77
+ (0, class_validator_1.IsOptional)(),
78
+ __metadata("design:type", Number)
79
+ ], SafetyCheckAdminQueryDto.prototype, "userId", void 0);
80
+ __decorate([
81
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Only checks that raised an SOS' }),
82
+ (0, class_transformer_1.Transform)(toOptionalBoolean),
83
+ (0, class_validator_1.IsBoolean)(),
84
+ (0, class_validator_1.IsOptional)(),
85
+ __metadata("design:type", Boolean)
86
+ ], SafetyCheckAdminQueryDto.prototype, "sosOnly", void 0);
87
+ __decorate([
88
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Started at or after (ISO 8601; a bare date means the start of that day)' }),
89
+ (0, class_validator_1.IsDateString)(),
90
+ (0, class_validator_1.IsOptional)(),
91
+ __metadata("design:type", String)
92
+ ], SafetyCheckAdminQueryDto.prototype, "from", void 0);
93
+ __decorate([
94
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Started at or before (ISO 8601; a bare date includes the whole day)' }),
95
+ (0, class_validator_1.IsDateString)(),
96
+ (0, class_validator_1.IsOptional)(),
97
+ __metadata("design:type", String)
98
+ ], SafetyCheckAdminQueryDto.prototype, "to", void 0);
99
+ __decorate([
100
+ (0, swagger_1.ApiPropertyOptional)({ description: 'A Safety Check id', format: 'uuid' }),
101
+ (0, class_validator_1.IsUUID)(),
102
+ (0, class_validator_1.IsOptional)(),
103
+ __metadata("design:type", String)
104
+ ], SafetyCheckAdminQueryDto.prototype, "id", void 0);
105
+ /** Stable, upper-snake reason code - the thing the platform matches on, never the label. */
106
+ const REASON_CODE = /^[A-Z][A-Z0-9_]{1,49}$/;
107
+ class CreateSafetyCheckReasonDto {
108
+ }
109
+ exports.CreateSafetyCheckReasonDto = CreateSafetyCheckReasonDto;
110
+ __decorate([
111
+ (0, swagger_1.ApiPropertyOptional)({ example: 'VISITING_A_CLIENT', description: 'Upper-snake code, unique per organization/country scope' }),
112
+ (0, class_transformer_1.Transform)(upper),
113
+ (0, class_validator_1.Matches)(REASON_CODE, { message: 'code must be UPPER_SNAKE_CASE, 2-50 characters' }),
114
+ __metadata("design:type", String)
115
+ ], CreateSafetyCheckReasonDto.prototype, "code", void 0);
116
+ __decorate([
117
+ (0, swagger_1.ApiPropertyOptional)({ example: 'Visiting a client', maxLength: 80 }),
118
+ (0, class_transformer_1.Transform)(trim),
119
+ (0, class_validator_1.IsString)(),
120
+ (0, class_validator_1.MinLength)(1),
121
+ (0, class_validator_1.MaxLength)(80),
122
+ __metadata("design:type", String)
123
+ ], CreateSafetyCheckReasonDto.prototype, "label", void 0);
124
+ __decorate([
125
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: 255 }),
126
+ (0, class_transformer_1.Transform)(trim),
127
+ (0, class_validator_1.IsString)(),
128
+ (0, class_validator_1.MaxLength)(255),
129
+ (0, class_validator_1.IsOptional)(),
130
+ __metadata("design:type", String)
131
+ ], CreateSafetyCheckReasonDto.prototype, "description", void 0);
132
+ __decorate([
133
+ (0, swagger_1.ApiPropertyOptional)({
134
+ description: 'Organization the reason belongs to. Omit for a platform-wide reason (super-admin only). ' +
135
+ 'Anybody else always creates for their own organization.',
136
+ }),
137
+ (0, class_transformer_1.Type)(() => Number),
138
+ (0, class_validator_1.IsInt)(),
139
+ (0, class_validator_1.IsPositive)(),
140
+ (0, class_validator_1.IsOptional)(),
141
+ __metadata("design:type", Number)
142
+ ], CreateSafetyCheckReasonDto.prototype, "organizationId", void 0);
143
+ __decorate([
144
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Limit the reason to one country. Omit for every country.' }),
145
+ (0, class_transformer_1.Transform)(upper),
146
+ (0, class_validator_1.IsEnum)(country_code_enum_1.CountryCode),
147
+ (0, class_validator_1.IsOptional)(),
148
+ __metadata("design:type", String)
149
+ ], CreateSafetyCheckReasonDto.prototype, "countryCode", void 0);
150
+ __decorate([
151
+ (0, swagger_1.ApiPropertyOptional)({ description: 'The "Write my own" entry: the user types the reason.', default: false }),
152
+ (0, class_validator_1.IsBoolean)(),
153
+ (0, class_validator_1.IsOptional)(),
154
+ __metadata("design:type", Boolean)
155
+ ], CreateSafetyCheckReasonDto.prototype, "isCustom", void 0);
156
+ __decorate([
157
+ (0, swagger_1.ApiPropertyOptional)({ default: true }),
158
+ (0, class_validator_1.IsBoolean)(),
159
+ (0, class_validator_1.IsOptional)(),
160
+ __metadata("design:type", Boolean)
161
+ ], CreateSafetyCheckReasonDto.prototype, "active", void 0);
162
+ __decorate([
163
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Ascending; ties sort by label', default: 100 }),
164
+ (0, class_transformer_1.Type)(() => Number),
165
+ (0, class_validator_1.IsInt)(),
166
+ (0, class_validator_1.Min)(0),
167
+ (0, class_validator_1.Max)(10000),
168
+ (0, class_validator_1.IsOptional)(),
169
+ __metadata("design:type", Number)
170
+ ], CreateSafetyCheckReasonDto.prototype, "displayOrder", void 0);
171
+ /** Code, organization and custom-ness are fixed once created; everything shown to users can change. */
172
+ class UpdateSafetyCheckReasonDto {
173
+ }
174
+ exports.UpdateSafetyCheckReasonDto = UpdateSafetyCheckReasonDto;
175
+ __decorate([
176
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: 80 }),
177
+ (0, class_transformer_1.Transform)(trim),
178
+ (0, class_validator_1.IsString)(),
179
+ (0, class_validator_1.MinLength)(1),
180
+ (0, class_validator_1.MaxLength)(80),
181
+ (0, class_validator_1.IsOptional)(),
182
+ __metadata("design:type", String)
183
+ ], UpdateSafetyCheckReasonDto.prototype, "label", void 0);
184
+ __decorate([
185
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: 255, nullable: true }),
186
+ (0, class_transformer_1.Transform)(trim),
187
+ (0, class_validator_1.IsString)(),
188
+ (0, class_validator_1.MaxLength)(255),
189
+ (0, class_validator_1.IsOptional)(),
190
+ __metadata("design:type", Object)
191
+ ], UpdateSafetyCheckReasonDto.prototype, "description", void 0);
192
+ __decorate([
193
+ (0, swagger_1.ApiPropertyOptional)({ nullable: true }),
194
+ (0, class_transformer_1.Transform)(upper),
195
+ (0, class_validator_1.IsEnum)(country_code_enum_1.CountryCode),
196
+ (0, class_validator_1.IsOptional)(),
197
+ __metadata("design:type", Object)
198
+ ], UpdateSafetyCheckReasonDto.prototype, "countryCode", void 0);
199
+ __decorate([
200
+ (0, swagger_1.ApiPropertyOptional)(),
201
+ (0, class_validator_1.IsBoolean)(),
202
+ (0, class_validator_1.IsOptional)(),
203
+ __metadata("design:type", Boolean)
204
+ ], UpdateSafetyCheckReasonDto.prototype, "active", void 0);
205
+ __decorate([
206
+ (0, swagger_1.ApiPropertyOptional)(),
207
+ (0, class_transformer_1.Type)(() => Number),
208
+ (0, class_validator_1.IsInt)(),
209
+ (0, class_validator_1.Min)(0),
210
+ (0, class_validator_1.Max)(10000),
211
+ (0, class_validator_1.IsOptional)(),
212
+ __metadata("design:type", Number)
213
+ ], UpdateSafetyCheckReasonDto.prototype, "displayOrder", void 0);
214
+ class SafetyCheckReasonAdminQueryDto {
215
+ }
216
+ exports.SafetyCheckReasonAdminQueryDto = SafetyCheckReasonAdminQueryDto;
217
+ __decorate([
218
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Super-admin only; others always see their own organization plus platform reasons' }),
219
+ (0, class_transformer_1.Type)(() => Number),
220
+ (0, class_validator_1.IsInt)(),
221
+ (0, class_validator_1.IsPositive)(),
222
+ (0, class_validator_1.IsOptional)(),
223
+ __metadata("design:type", Number)
224
+ ], SafetyCheckReasonAdminQueryDto.prototype, "organizationId", void 0);
225
+ __decorate([
226
+ (0, swagger_1.ApiPropertyOptional)({ default: true }),
227
+ (0, class_transformer_1.Transform)(toOptionalBoolean),
228
+ (0, class_validator_1.IsBoolean)(),
229
+ (0, class_validator_1.IsOptional)(),
230
+ __metadata("design:type", Boolean)
231
+ ], SafetyCheckReasonAdminQueryDto.prototype, "includeInactive", void 0);
232
+ //# sourceMappingURL=safety-admin.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-admin.dto.js","sourceRoot":"","sources":["../../../../../src/modules/safety/dtos/safety-admin.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SafetyCheckTrackPointsDto = exports.SafetyCheckTrackPointDto = exports.SafetyCheckActionDto = exports.ExtendSafetyCheckDto = exports.StartSafetyCheckDto = exports.SafetyCheckLocationDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const guardian_audience_dto_1 = require("../../alert-dispatch/dtos/guardian-audience.dto");
17
+ const safety_check_limits_const_1 = require("../constants/safety-check-limits.const");
18
+ const trim = ({ value }) => (typeof value === 'string' ? value.trim() : value);
19
+ /** A device-reported position. Never logged by any Safety service. */
20
+ class SafetyCheckLocationDto {
21
+ }
22
+ exports.SafetyCheckLocationDto = SafetyCheckLocationDto;
23
+ __decorate([
24
+ (0, swagger_1.ApiProperty)({ example: -1.2921 }),
25
+ (0, class_transformer_1.Type)(() => Number),
26
+ (0, class_validator_1.IsNumber)(),
27
+ (0, class_validator_1.Min)(-90),
28
+ (0, class_validator_1.Max)(90),
29
+ __metadata("design:type", Number)
30
+ ], SafetyCheckLocationDto.prototype, "lat", void 0);
31
+ __decorate([
32
+ (0, swagger_1.ApiProperty)({ example: 36.8219 }),
33
+ (0, class_transformer_1.Type)(() => Number),
34
+ (0, class_validator_1.IsNumber)(),
35
+ (0, class_validator_1.Min)(-180),
36
+ (0, class_validator_1.Max)(180),
37
+ __metadata("design:type", Number)
38
+ ], SafetyCheckLocationDto.prototype, "lng", void 0);
39
+ __decorate([
40
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Horizontal accuracy in metres', example: 8 }),
41
+ (0, class_transformer_1.Type)(() => Number),
42
+ (0, class_validator_1.IsNumber)(),
43
+ (0, class_validator_1.Min)(0),
44
+ (0, class_validator_1.Max)(100000),
45
+ (0, class_validator_1.IsOptional)(),
46
+ __metadata("design:type", Number)
47
+ ], SafetyCheckLocationDto.prototype, "accuracy", void 0);
48
+ /**
49
+ * Starting a Safety Check.
50
+ *
51
+ * Nothing here is trusted beyond its shape: clarion-safety re-checks the reason
52
+ * against the database, every guardian against clarion-authentication, and the
53
+ * provider option against clarion-billing. The duration is bounded here AND in
54
+ * the domain.
55
+ */
56
+ class StartSafetyCheckDto {
57
+ }
58
+ exports.StartSafetyCheckDto = StartSafetyCheckDto;
59
+ __decorate([
60
+ (0, swagger_1.ApiProperty)({ description: 'A reason from GET /safety/check-reasons', format: 'uuid' }),
61
+ (0, class_validator_1.IsUUID)(),
62
+ __metadata("design:type", String)
63
+ ], StartSafetyCheckDto.prototype, "reasonId", void 0);
64
+ __decorate([
65
+ (0, swagger_1.ApiPropertyOptional)({
66
+ description: 'Required when the chosen reason is the "Write my own" entry; ignored otherwise.',
67
+ maxLength: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.customReasonMaxLength,
68
+ }),
69
+ (0, class_transformer_1.Transform)(trim),
70
+ (0, class_validator_1.IsString)(),
71
+ (0, class_validator_1.MaxLength)(safety_check_limits_const_1.SAFETY_CHECK_LIMITS.customReasonMaxLength),
72
+ (0, class_validator_1.IsOptional)(),
73
+ __metadata("design:type", String)
74
+ ], StartSafetyCheckDto.prototype, "customReason", void 0);
75
+ __decorate([
76
+ (0, swagger_1.ApiProperty)({
77
+ minimum: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.minDurationMinutes,
78
+ maximum: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.maxDurationMinutes,
79
+ example: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.defaultDurationMinutes,
80
+ }),
81
+ (0, class_transformer_1.Type)(() => Number),
82
+ (0, class_validator_1.IsInt)(),
83
+ (0, class_validator_1.Min)(safety_check_limits_const_1.SAFETY_CHECK_LIMITS.minDurationMinutes),
84
+ (0, class_validator_1.Max)(safety_check_limits_const_1.SAFETY_CHECK_LIMITS.maxDurationMinutes),
85
+ __metadata("design:type", Number)
86
+ ], StartSafetyCheckDto.prototype, "durationMinutes", void 0);
87
+ __decorate([
88
+ (0, swagger_1.ApiPropertyOptional)({
89
+ description: 'How long the check-in prompt counts down before the SOS. The user sets this in the app.',
90
+ minimum: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.minPromptCountdownSeconds,
91
+ maximum: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.maxPromptCountdownSeconds,
92
+ default: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.defaultPromptCountdownSeconds,
93
+ }),
94
+ (0, class_transformer_1.Type)(() => Number),
95
+ (0, class_validator_1.IsInt)(),
96
+ (0, class_validator_1.Min)(safety_check_limits_const_1.SAFETY_CHECK_LIMITS.minPromptCountdownSeconds),
97
+ (0, class_validator_1.Max)(safety_check_limits_const_1.SAFETY_CHECK_LIMITS.maxPromptCountdownSeconds),
98
+ (0, class_validator_1.IsOptional)(),
99
+ __metadata("design:type", Number)
100
+ ], StartSafetyCheckDto.prototype, "promptCountdownSeconds", void 0);
101
+ __decorate([
102
+ (0, swagger_1.ApiProperty)({
103
+ type: guardian_audience_dto_1.GuardianAudienceDto,
104
+ description: 'The guardians told about the start/end and alerted by the SOS. Every one must be the user\'s guardian.',
105
+ }),
106
+ (0, class_validator_1.IsNotEmptyObject)(),
107
+ (0, class_validator_1.ValidateNested)(),
108
+ (0, class_transformer_1.Type)(() => guardian_audience_dto_1.GuardianAudienceDto),
109
+ __metadata("design:type", guardian_audience_dto_1.GuardianAudienceDto)
110
+ ], StartSafetyCheckDto.prototype, "guardians", void 0);
111
+ __decorate([
112
+ (0, swagger_1.ApiProperty)({ description: 'Alert the service provider if the SOS is raised. Refused for users without premium.' }),
113
+ (0, class_validator_1.IsBoolean)(),
114
+ __metadata("design:type", Boolean)
115
+ ], StartSafetyCheckDto.prototype, "notifyServiceProvider", void 0);
116
+ __decorate([
117
+ (0, swagger_1.ApiProperty)({ description: 'Tell the selected guardians when the check starts and ends. Never affects the SOS.' }),
118
+ (0, class_validator_1.IsBoolean)(),
119
+ __metadata("design:type", Boolean)
120
+ ], StartSafetyCheckDto.prototype, "notifyGuardiansOnStartEnd", void 0);
121
+ __decorate([
122
+ (0, swagger_1.ApiPropertyOptional)({ type: SafetyCheckLocationDto, description: 'Where the user is as they start.' }),
123
+ (0, class_validator_1.ValidateNested)(),
124
+ (0, class_transformer_1.Type)(() => SafetyCheckLocationDto),
125
+ (0, class_validator_1.IsOptional)(),
126
+ __metadata("design:type", SafetyCheckLocationDto)
127
+ ], StartSafetyCheckDto.prototype, "startLocation", void 0);
128
+ class ExtendSafetyCheckDto {
129
+ }
130
+ exports.ExtendSafetyCheckDto = ExtendSafetyCheckDto;
131
+ __decorate([
132
+ (0, swagger_1.ApiProperty)({ minimum: 1, maximum: safety_check_limits_const_1.SAFETY_CHECK_LIMITS.maxDurationMinutes, example: 15 }),
133
+ (0, class_transformer_1.Type)(() => Number),
134
+ (0, class_validator_1.IsInt)(),
135
+ (0, class_validator_1.Min)(1),
136
+ (0, class_validator_1.Max)(safety_check_limits_const_1.SAFETY_CHECK_LIMITS.maxDurationMinutes),
137
+ __metadata("design:type", Number)
138
+ ], ExtendSafetyCheckDto.prototype, "additionalMinutes", void 0);
139
+ /** Body of check-in, stop and manual SOS. The location is optional context. */
140
+ class SafetyCheckActionDto {
141
+ }
142
+ exports.SafetyCheckActionDto = SafetyCheckActionDto;
143
+ __decorate([
144
+ (0, swagger_1.ApiPropertyOptional)({ type: SafetyCheckLocationDto }),
145
+ (0, class_validator_1.ValidateNested)(),
146
+ (0, class_transformer_1.Type)(() => SafetyCheckLocationDto),
147
+ (0, class_validator_1.IsOptional)(),
148
+ __metadata("design:type", SafetyCheckLocationDto)
149
+ ], SafetyCheckActionDto.prototype, "location", void 0);
150
+ class SafetyCheckTrackPointDto extends SafetyCheckLocationDto {
151
+ }
152
+ exports.SafetyCheckTrackPointDto = SafetyCheckTrackPointDto;
153
+ __decorate([
154
+ (0, swagger_1.ApiProperty)({ description: 'When the device took the fix (ISO 8601)', example: '2026-09-28T10:15:00.000Z' }),
155
+ (0, class_validator_1.IsDateString)(),
156
+ __metadata("design:type", String)
157
+ ], SafetyCheckTrackPointDto.prototype, "timestamp", void 0);
158
+ class SafetyCheckTrackPointsDto {
159
+ }
160
+ exports.SafetyCheckTrackPointsDto = SafetyCheckTrackPointsDto;
161
+ __decorate([
162
+ (0, swagger_1.ApiProperty)({ type: [SafetyCheckTrackPointDto] }),
163
+ (0, class_validator_1.IsArray)(),
164
+ (0, class_validator_1.ArrayMinSize)(1),
165
+ (0, class_validator_1.ArrayMaxSize)(safety_check_limits_const_1.SAFETY_CHECK_LIMITS.maxTrackPointsPerBatch),
166
+ (0, class_validator_1.ValidateNested)({ each: true }),
167
+ (0, class_transformer_1.Type)(() => SafetyCheckTrackPointDto),
168
+ __metadata("design:type", Array)
169
+ ], SafetyCheckTrackPointsDto.prototype, "points", void 0);
170
+ //# sourceMappingURL=safety-check.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-check.dto.js","sourceRoot":"","sources":["../../../../../src/modules/safety/dtos/safety-check.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ClassifyIncidentTypesDto = exports.SignalSafetyCheckWorkflowDto = exports.StartSafetyCheckWorkflowDto = exports.CreateSafetyAlertIncidentDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const guardian_audience_dto_1 = require("../../alert-dispatch/dtos/guardian-audience.dto");
17
+ const safety_enums_1 = require("../enums/safety-enums");
18
+ const safety_check_dto_1 = require("./safety-check.dto");
19
+ const trim = ({ value }) => (typeof value === 'string' ? value.trim() : value);
20
+ /**
21
+ * clarion-safety -> clarion-incident: raise the SOS for a safety feature.
22
+ *
23
+ * Internal only (never proxied by the gateway) and token-protected. Idempotent on
24
+ * (feature, originReferenceId): a retry - from a workflow, the sweeper, or a user
25
+ * pressing twice - returns the incident the first call created.
26
+ *
27
+ * clarion-incident builds the incident itself: the reporter from the user's
28
+ * account, the Safety Alerts category and type from the organization's system
29
+ * rows, and entitlement/dispatch through the same pipeline as every SOS. The
30
+ * caller cannot choose a type, a class or an entitlement tier.
31
+ */
32
+ class CreateSafetyAlertIncidentDto {
33
+ }
34
+ exports.CreateSafetyAlertIncidentDto = CreateSafetyAlertIncidentDto;
35
+ __decorate([
36
+ (0, swagger_1.ApiProperty)({ enum: safety_enums_1.SafetyFeature }),
37
+ (0, class_validator_1.IsEnum)(safety_enums_1.SafetyFeature),
38
+ __metadata("design:type", String)
39
+ ], CreateSafetyAlertIncidentDto.prototype, "feature", void 0);
40
+ __decorate([
41
+ (0, swagger_1.ApiProperty)({ description: 'The safety record that raised it (a Safety Check id)', format: 'uuid' }),
42
+ (0, class_validator_1.IsUUID)(),
43
+ __metadata("design:type", String)
44
+ ], CreateSafetyAlertIncidentDto.prototype, "originReferenceId", void 0);
45
+ __decorate([
46
+ (0, swagger_1.ApiProperty)({ enum: safety_enums_1.SafetyCheckSosTrigger }),
47
+ (0, class_validator_1.IsEnum)(safety_enums_1.SafetyCheckSosTrigger),
48
+ __metadata("design:type", String)
49
+ ], CreateSafetyAlertIncidentDto.prototype, "trigger", void 0);
50
+ __decorate([
51
+ (0, swagger_1.ApiProperty)(),
52
+ (0, class_transformer_1.Type)(() => Number),
53
+ (0, class_validator_1.IsInt)(),
54
+ (0, class_validator_1.IsPositive)(),
55
+ __metadata("design:type", Number)
56
+ ], CreateSafetyAlertIncidentDto.prototype, "organizationId", void 0);
57
+ __decorate([
58
+ (0, swagger_1.ApiProperty)({ description: 'The user in danger - the reporter of the SOS' }),
59
+ (0, class_transformer_1.Type)(() => Number),
60
+ (0, class_validator_1.IsInt)(),
61
+ (0, class_validator_1.IsPositive)(),
62
+ __metadata("design:type", Number)
63
+ ], CreateSafetyAlertIncidentDto.prototype, "userId", void 0);
64
+ __decorate([
65
+ (0, swagger_1.ApiProperty)({ description: 'The brand the user signed in through (IncidentAppId value)', example: 'G4S' }),
66
+ (0, class_validator_1.IsString)(),
67
+ (0, class_validator_1.MaxLength)(50),
68
+ __metadata("design:type", String)
69
+ ], CreateSafetyAlertIncidentDto.prototype, "appId", void 0);
70
+ __decorate([
71
+ (0, swagger_1.ApiPropertyOptional)(),
72
+ (0, class_transformer_1.Type)(() => Number),
73
+ (0, class_validator_1.IsInt)(),
74
+ (0, class_validator_1.IsPositive)(),
75
+ (0, class_validator_1.IsOptional)(),
76
+ __metadata("design:type", Number)
77
+ ], CreateSafetyAlertIncidentDto.prototype, "controlCentreId", void 0);
78
+ __decorate([
79
+ (0, swagger_1.ApiPropertyOptional)({ type: safety_check_dto_1.SafetyCheckLocationDto, description: 'Last known position, when there is one' }),
80
+ (0, class_validator_1.ValidateNested)(),
81
+ (0, class_transformer_1.Type)(() => safety_check_dto_1.SafetyCheckLocationDto),
82
+ (0, class_validator_1.IsOptional)(),
83
+ __metadata("design:type", safety_check_dto_1.SafetyCheckLocationDto)
84
+ ], CreateSafetyAlertIncidentDto.prototype, "location", void 0);
85
+ __decorate([
86
+ (0, swagger_1.ApiProperty)({ description: 'What the user asked for. Entitlement at raise time decides what happens.' }),
87
+ (0, class_validator_1.IsBoolean)(),
88
+ __metadata("design:type", Boolean)
89
+ ], CreateSafetyAlertIncidentDto.prototype, "notifyServiceProvider", void 0);
90
+ __decorate([
91
+ (0, swagger_1.ApiProperty)({ type: guardian_audience_dto_1.GuardianAudienceDto, description: 'Exactly the guardians the user selected' }),
92
+ (0, class_validator_1.IsNotEmptyObject)(),
93
+ (0, class_validator_1.ValidateNested)(),
94
+ (0, class_transformer_1.Type)(() => guardian_audience_dto_1.GuardianAudienceDto),
95
+ __metadata("design:type", guardian_audience_dto_1.GuardianAudienceDto)
96
+ ], CreateSafetyAlertIncidentDto.prototype, "guardianAudience", void 0);
97
+ __decorate([
98
+ (0, swagger_1.ApiPropertyOptional)({ description: 'The private trip recorded during the check; it becomes the incident trip', format: 'uuid' }),
99
+ (0, class_validator_1.IsUUID)(),
100
+ (0, class_validator_1.IsOptional)(),
101
+ __metadata("design:type", String)
102
+ ], CreateSafetyAlertIncidentDto.prototype, "tripId", void 0);
103
+ __decorate([
104
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: 500 }),
105
+ (0, class_transformer_1.Transform)(trim),
106
+ (0, class_validator_1.IsString)(),
107
+ (0, class_validator_1.MaxLength)(500),
108
+ (0, class_validator_1.IsOptional)(),
109
+ __metadata("design:type", String)
110
+ ], CreateSafetyAlertIncidentDto.prototype, "description", void 0);
111
+ /** clarion-safety -> clarion-workflow-manager: start the durable timer. Idempotent per check. */
112
+ class StartSafetyCheckWorkflowDto {
113
+ }
114
+ exports.StartSafetyCheckWorkflowDto = StartSafetyCheckWorkflowDto;
115
+ __decorate([
116
+ (0, swagger_1.ApiProperty)({ format: 'uuid' }),
117
+ (0, class_validator_1.IsUUID)(),
118
+ __metadata("design:type", String)
119
+ ], StartSafetyCheckWorkflowDto.prototype, "safetyCheckId", void 0);
120
+ __decorate([
121
+ (0, swagger_1.ApiProperty)({ description: 'When the workflow should first call advance (ISO 8601)' }),
122
+ (0, class_validator_1.IsDateString)(),
123
+ __metadata("design:type", String)
124
+ ], StartSafetyCheckWorkflowDto.prototype, "firstWakeAt", void 0);
125
+ /**
126
+ * clarion-safety -> clarion-workflow-manager: something changed. Purely an
127
+ * optimisation - a lost signal only means the workflow wakes at its previous
128
+ * time and asks clarion-safety, which answers with the truth.
129
+ */
130
+ class SignalSafetyCheckWorkflowDto {
131
+ }
132
+ exports.SignalSafetyCheckWorkflowDto = SignalSafetyCheckWorkflowDto;
133
+ __decorate([
134
+ (0, swagger_1.ApiPropertyOptional)({ description: 'The check is over; the workflow may finish.' }),
135
+ (0, class_validator_1.IsBoolean)(),
136
+ (0, class_validator_1.IsOptional)(),
137
+ __metadata("design:type", Boolean)
138
+ ], SignalSafetyCheckWorkflowDto.prototype, "done", void 0);
139
+ __decorate([
140
+ (0, swagger_1.ApiPropertyOptional)({ description: 'New wake time (after an extension)' }),
141
+ (0, class_validator_1.IsDateString)(),
142
+ (0, class_validator_1.IsOptional)(),
143
+ __metadata("design:type", String)
144
+ ], SignalSafetyCheckWorkflowDto.prototype, "nextWakeAt", void 0);
145
+ /**
146
+ * clarion-billing -> clarion-incident: which of these incident type ids are
147
+ * platform-managed system types (the Safety SOS types). Billing refuses to put
148
+ * those in a package, whatever the admin UI shows.
149
+ */
150
+ class ClassifyIncidentTypesDto {
151
+ }
152
+ exports.ClassifyIncidentTypesDto = ClassifyIncidentTypesDto;
153
+ __decorate([
154
+ (0, swagger_1.ApiProperty)({ type: [Number] }),
155
+ (0, class_validator_1.IsArray)(),
156
+ (0, class_validator_1.ArrayMaxSize)(500),
157
+ (0, class_transformer_1.Type)(() => Number),
158
+ (0, class_validator_1.IsInt)({ each: true }),
159
+ (0, class_validator_1.IsPositive)({ each: true }),
160
+ __metadata("design:type", Array)
161
+ ], ClassifyIncidentTypesDto.prototype, "ids", void 0);
162
+ //# sourceMappingURL=safety-internal.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-internal.dto.js","sourceRoot":"","sources":["../../../../../src/modules/safety/dtos/safety-internal.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SafetyCheckStatus = void 0;
4
+ /**
5
+ * Lifecycle of one Safety Check. clarion-safety is the only writer; every
6
+ * transition is validated against SAFETY_CHECK_TRANSITIONS
7
+ * (utils/safety-check-state-machine.ts) and applied as a conditional update, so
8
+ * two racing writers can never both win.
9
+ *
10
+ * CREATED accepted and persisted; tracking and the durable timer are
11
+ * still being set up. The user already counts as being in a
12
+ * check (the clock started when it was accepted).
13
+ * ACTIVE running; the user is expected to check in at
14
+ * scheduledCheckInAt.
15
+ * PROMPTING the check-in time has passed and the user is being asked to
16
+ * confirm they are safe. SOS is raised at promptDeadlineAt.
17
+ * CHECKED_IN the user confirmed they are safe. Terminal, successful.
18
+ * SOS_TRIGGERED an SOS was raised - the user missed the check-in or asked for
19
+ * one. Terminal for the check; the incident lives on in
20
+ * clarion-incident. `incidentId` is null until the incident
21
+ * has been created (clarion-safety keeps retrying).
22
+ * STOPPED the user ended the check before it completed. Terminal.
23
+ * EXPIRED the check-in window closed so long ago (a platform outage
24
+ * longer than SAFETY_CHECK_LIMITS.staleSosWindowMinutes) that
25
+ * raising an SOS now would be noise rather than help. Terminal;
26
+ * always an operational alarm.
27
+ * CANCELLED ended by the platform rather than the user (e.g. the account
28
+ * was signed out and the user chose to end it). Terminal.
29
+ * FAILED the SOS could not be raised because clarion-incident refused
30
+ * it outright (a non-retryable error). Terminal; the user is
31
+ * told to call for help and operators are alerted.
32
+ */
33
+ var SafetyCheckStatus;
34
+ (function (SafetyCheckStatus) {
35
+ SafetyCheckStatus["CREATED"] = "CREATED";
36
+ SafetyCheckStatus["ACTIVE"] = "ACTIVE";
37
+ SafetyCheckStatus["PROMPTING"] = "PROMPTING";
38
+ SafetyCheckStatus["CHECKED_IN"] = "CHECKED_IN";
39
+ SafetyCheckStatus["SOS_TRIGGERED"] = "SOS_TRIGGERED";
40
+ SafetyCheckStatus["STOPPED"] = "STOPPED";
41
+ SafetyCheckStatus["EXPIRED"] = "EXPIRED";
42
+ SafetyCheckStatus["CANCELLED"] = "CANCELLED";
43
+ SafetyCheckStatus["FAILED"] = "FAILED";
44
+ })(SafetyCheckStatus || (exports.SafetyCheckStatus = SafetyCheckStatus = {}));
45
+ //# sourceMappingURL=safety-check-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safety-check-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/safety/enums/safety-check-status.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,IAAY,iBAUX;AAVD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;IACvB,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;AACrB,CAAC,EAVW,iBAAiB,iCAAjB,iBAAiB,QAU5B"}