grm-shared-library 1.1.220 → 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 (198) hide show
  1. package/README.md +17 -0
  2. package/dist/cjs/index.js +1 -0
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/kafka/topics.js +10 -1
  5. package/dist/cjs/kafka/topics.js.map +1 -1
  6. package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js +41 -0
  7. package/dist/cjs/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
  8. package/dist/cjs/modules/alert-dispatch/index.js +4 -0
  9. package/dist/cjs/modules/alert-dispatch/index.js.map +1 -1
  10. package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js +3 -0
  11. package/dist/cjs/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
  12. package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js +63 -0
  13. package/dist/cjs/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
  14. package/dist/cjs/modules/common/constants/service.const.js +1 -0
  15. package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
  16. package/dist/cjs/modules/gis/dtos/private-trip.dto.js +180 -0
  17. package/dist/cjs/modules/gis/dtos/private-trip.dto.js.map +1 -0
  18. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js +28 -0
  19. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  20. package/dist/cjs/modules/gis/index.js +3 -0
  21. package/dist/cjs/modules/gis/index.js.map +1 -1
  22. package/dist/cjs/modules/gis/interfaces/trip-summary.js +3 -0
  23. package/dist/cjs/modules/gis/interfaces/trip-summary.js.map +1 -0
  24. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js +22 -0
  25. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  26. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js +17 -0
  27. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  28. package/dist/cjs/modules/incident/index.js +1 -0
  29. package/dist/cjs/modules/incident/index.js.map +1 -1
  30. package/dist/cjs/modules/organization/index.js +1 -0
  31. package/dist/cjs/modules/organization/index.js.map +1 -1
  32. package/dist/cjs/modules/organization/interfaces/organization-created-event.js +3 -0
  33. package/dist/cjs/modules/organization/interfaces/organization-created-event.js.map +1 -0
  34. package/dist/cjs/modules/permission/data/permissions.data.js +12 -1
  35. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  36. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +28 -1
  37. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  38. package/dist/cjs/modules/permission/enums/permissions-module.enum.js +1 -0
  39. package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
  40. package/dist/cjs/modules/role/constants/newsfeed-roles.js +28 -0
  41. package/dist/cjs/modules/role/constants/newsfeed-roles.js.map +1 -0
  42. package/dist/cjs/modules/role/constants/safety-roles.js +25 -0
  43. package/dist/cjs/modules/role/constants/safety-roles.js.map +1 -0
  44. package/dist/cjs/modules/role/data/roles.data.js +99 -7
  45. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  46. package/dist/cjs/modules/role/index.js +2 -0
  47. package/dist/cjs/modules/role/index.js.map +1 -1
  48. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js +51 -0
  49. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  50. package/dist/cjs/modules/safety/constants/safety-integration.const.js +71 -0
  51. package/dist/cjs/modules/safety/constants/safety-integration.const.js.map +1 -0
  52. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js +50 -0
  53. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  54. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js +232 -0
  55. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  56. package/dist/cjs/modules/safety/dtos/safety-check.dto.js +170 -0
  57. package/dist/cjs/modules/safety/dtos/safety-check.dto.js.map +1 -0
  58. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js +162 -0
  59. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  60. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js +45 -0
  61. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  62. package/dist/cjs/modules/safety/enums/safety-enums.js +93 -0
  63. package/dist/cjs/modules/safety/enums/safety-enums.js.map +1 -0
  64. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js +27 -0
  65. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  66. package/dist/cjs/modules/safety/index.js +35 -0
  67. package/dist/cjs/modules/safety/index.js.map +1 -0
  68. package/dist/cjs/modules/safety/interfaces/safety-check-event.js +3 -0
  69. package/dist/cjs/modules/safety/interfaces/safety-check-event.js.map +1 -0
  70. package/dist/cjs/modules/safety/interfaces/safety-check.js +3 -0
  71. package/dist/cjs/modules/safety/interfaces/safety-check.js.map +1 -0
  72. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js +75 -0
  73. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  74. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js +68 -0
  75. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  76. package/dist/cjs/modules/sms/constants/sms-templates.config.js +12 -0
  77. package/dist/cjs/modules/sms/constants/sms-templates.config.js.map +1 -1
  78. package/dist/cjs/modules/sms/enums/sms-template.enum.js +2 -0
  79. package/dist/cjs/modules/sms/enums/sms-template.enum.js.map +1 -1
  80. package/dist/esm/index.js +1 -0
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/esm/kafka/topics.js +10 -1
  83. package/dist/esm/kafka/topics.js.map +1 -1
  84. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js +37 -0
  85. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
  86. package/dist/esm/modules/alert-dispatch/index.js +4 -0
  87. package/dist/esm/modules/alert-dispatch/index.js.map +1 -1
  88. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js +2 -0
  89. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
  90. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js +56 -0
  91. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
  92. package/dist/esm/modules/common/constants/service.const.js +1 -0
  93. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  94. package/dist/esm/modules/gis/dtos/private-trip.dto.js +171 -0
  95. package/dist/esm/modules/gis/dtos/private-trip.dto.js.map +1 -0
  96. package/dist/esm/modules/gis/enums/trip-privacy.enum.js +25 -0
  97. package/dist/esm/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  98. package/dist/esm/modules/gis/index.js +3 -0
  99. package/dist/esm/modules/gis/index.js.map +1 -1
  100. package/dist/esm/modules/gis/interfaces/trip-summary.js +2 -0
  101. package/dist/esm/modules/gis/interfaces/trip-summary.js.map +1 -0
  102. package/dist/esm/modules/incident/dtos/incident/incident.dto.js +23 -1
  103. package/dist/esm/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  104. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js +14 -0
  105. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  106. package/dist/esm/modules/incident/index.js +1 -0
  107. package/dist/esm/modules/incident/index.js.map +1 -1
  108. package/dist/esm/modules/organization/index.js +1 -0
  109. package/dist/esm/modules/organization/index.js.map +1 -1
  110. package/dist/esm/modules/organization/interfaces/organization-created-event.js +2 -0
  111. package/dist/esm/modules/organization/interfaces/organization-created-event.js.map +1 -0
  112. package/dist/esm/modules/permission/data/permissions.data.js +12 -1
  113. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  114. package/dist/esm/modules/permission/enums/permission-actions.enum.js +28 -1
  115. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  116. package/dist/esm/modules/permission/enums/permissions-module.enum.js +1 -0
  117. package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
  118. package/dist/esm/modules/role/constants/newsfeed-roles.js +25 -0
  119. package/dist/esm/modules/role/constants/newsfeed-roles.js.map +1 -0
  120. package/dist/esm/modules/role/constants/safety-roles.js +22 -0
  121. package/dist/esm/modules/role/constants/safety-roles.js.map +1 -0
  122. package/dist/esm/modules/role/data/roles.data.js +99 -7
  123. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  124. package/dist/esm/modules/role/index.js +2 -0
  125. package/dist/esm/modules/role/index.js.map +1 -1
  126. package/dist/esm/modules/safety/constants/safety-check-limits.const.js +48 -0
  127. package/dist/esm/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  128. package/dist/esm/modules/safety/constants/safety-integration.const.js +67 -0
  129. package/dist/esm/modules/safety/constants/safety-integration.const.js.map +1 -0
  130. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js +45 -0
  131. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  132. package/dist/esm/modules/safety/dtos/safety-admin.dto.js +225 -0
  133. package/dist/esm/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  134. package/dist/esm/modules/safety/dtos/safety-check.dto.js +161 -0
  135. package/dist/esm/modules/safety/dtos/safety-check.dto.js.map +1 -0
  136. package/dist/esm/modules/safety/dtos/safety-internal.dto.js +155 -0
  137. package/dist/esm/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  138. package/dist/esm/modules/safety/enums/safety-check-status.enum.js +42 -0
  139. package/dist/esm/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  140. package/dist/esm/modules/safety/enums/safety-enums.js +90 -0
  141. package/dist/esm/modules/safety/enums/safety-enums.js.map +1 -0
  142. package/dist/esm/modules/safety/enums/safety-error-code.enum.js +24 -0
  143. package/dist/esm/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  144. package/dist/esm/modules/safety/index.js +19 -0
  145. package/dist/esm/modules/safety/index.js.map +1 -0
  146. package/dist/esm/modules/safety/interfaces/safety-check-event.js +2 -0
  147. package/dist/esm/modules/safety/interfaces/safety-check-event.js.map +1 -0
  148. package/dist/esm/modules/safety/interfaces/safety-check.js +2 -0
  149. package/dist/esm/modules/safety/interfaces/safety-check.js.map +1 -0
  150. package/dist/esm/modules/safety/utils/safety-check-state-machine.js +67 -0
  151. package/dist/esm/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  152. package/dist/esm/modules/safety/utils/safety-check-timing.util.js +59 -0
  153. package/dist/esm/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  154. package/dist/esm/modules/sms/constants/sms-templates.config.js +12 -0
  155. package/dist/esm/modules/sms/constants/sms-templates.config.js.map +1 -1
  156. package/dist/esm/modules/sms/enums/sms-template.enum.js +2 -0
  157. package/dist/esm/modules/sms/enums/sms-template.enum.js.map +1 -1
  158. package/dist/types/index.d.ts +1 -0
  159. package/dist/types/kafka/topics.d.ts +4 -0
  160. package/dist/types/modules/alert-dispatch/dtos/guardian-audience.dto.d.ts +6 -0
  161. package/dist/types/modules/alert-dispatch/index.d.ts +3 -0
  162. package/dist/types/modules/alert-dispatch/interfaces/guardian-audience.d.ts +23 -0
  163. package/dist/types/modules/alert-dispatch/utils/guardian-audience.util.d.ts +18 -0
  164. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  165. package/dist/types/modules/gis/dtos/private-trip.dto.d.ts +42 -0
  166. package/dist/types/modules/gis/enums/trip-privacy.enum.d.ts +22 -0
  167. package/dist/types/modules/gis/index.d.ts +3 -0
  168. package/dist/types/modules/gis/interfaces/client-safe-trip.d.ts +8 -0
  169. package/dist/types/modules/gis/interfaces/trip-summary.d.ts +26 -0
  170. package/dist/types/modules/incident/dtos/incident/incident.dto.d.ts +14 -0
  171. package/dist/types/modules/incident/enums/incident-origin-type.enum.d.ts +12 -0
  172. package/dist/types/modules/incident/index.d.ts +1 -0
  173. package/dist/types/modules/incident/intefaces/incident-category.d.ts +10 -0
  174. package/dist/types/modules/incident/intefaces/incident-type.d.ts +10 -0
  175. package/dist/types/modules/incident/intefaces/incident.d.ts +14 -0
  176. package/dist/types/modules/organization/index.d.ts +1 -0
  177. package/dist/types/modules/organization/interfaces/organization-created-event.d.ts +18 -0
  178. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +6 -0
  179. package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +2 -1
  180. package/dist/types/modules/role/constants/newsfeed-roles.d.ts +16 -0
  181. package/dist/types/modules/role/constants/safety-roles.d.ts +14 -0
  182. package/dist/types/modules/role/index.d.ts +2 -0
  183. package/dist/types/modules/safety/constants/safety-check-limits.const.d.ts +47 -0
  184. package/dist/types/modules/safety/constants/safety-integration.const.d.ts +64 -0
  185. package/dist/types/modules/safety/constants/safety-taxonomy.const.d.ts +31 -0
  186. package/dist/types/modules/safety/dtos/safety-admin.dto.d.ts +39 -0
  187. package/dist/types/modules/safety/dtos/safety-check.dto.d.ts +38 -0
  188. package/dist/types/modules/safety/dtos/safety-internal.dto.d.ts +51 -0
  189. package/dist/types/modules/safety/enums/safety-check-status.enum.d.ts +40 -0
  190. package/dist/types/modules/safety/enums/safety-enums.d.ts +81 -0
  191. package/dist/types/modules/safety/enums/safety-error-code.enum.d.ts +22 -0
  192. package/dist/types/modules/safety/index.d.ts +13 -0
  193. package/dist/types/modules/safety/interfaces/safety-check-event.d.ts +36 -0
  194. package/dist/types/modules/safety/interfaces/safety-check.d.ts +180 -0
  195. package/dist/types/modules/safety/utils/safety-check-state-machine.d.ts +30 -0
  196. package/dist/types/modules/safety/utils/safety-check-timing.util.d.ts +37 -0
  197. package/dist/types/modules/sms/enums/sms-template.enum.d.ts +2 -0
  198. package/package.json +1 -1
@@ -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"}
@@ -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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"}