grm-shared-library 1.1.221 → 1.1.223

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) 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 +17 -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 +214 -0
  16. package/dist/cjs/modules/gis/dtos/private-trip.dto.js.map +1 -0
  17. package/dist/cjs/modules/gis/dtos/routing.dto.js +251 -0
  18. package/dist/cjs/modules/gis/dtos/routing.dto.js.map +1 -0
  19. package/dist/cjs/modules/gis/dtos/trip-points.dto.js +35 -0
  20. package/dist/cjs/modules/gis/dtos/trip-points.dto.js.map +1 -0
  21. package/dist/cjs/modules/gis/enums/routing.enum.js +29 -0
  22. package/dist/cjs/modules/gis/enums/routing.enum.js.map +1 -0
  23. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js +34 -0
  24. package/dist/cjs/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  25. package/dist/cjs/modules/gis/index.js +8 -0
  26. package/dist/cjs/modules/gis/index.js.map +1 -1
  27. package/dist/cjs/modules/gis/interfaces/routing.js +3 -0
  28. package/dist/cjs/modules/gis/interfaces/routing.js.map +1 -0
  29. package/dist/cjs/modules/gis/interfaces/trip-point.js +3 -0
  30. package/dist/cjs/modules/gis/interfaces/trip-point.js.map +1 -0
  31. package/dist/cjs/modules/gis/interfaces/trip-summary.js +3 -0
  32. package/dist/cjs/modules/gis/interfaces/trip-summary.js.map +1 -0
  33. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js +30 -0
  34. package/dist/cjs/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  35. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js +19 -0
  36. package/dist/cjs/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  37. package/dist/cjs/modules/incident/index.js +1 -0
  38. package/dist/cjs/modules/incident/index.js.map +1 -1
  39. package/dist/cjs/modules/organization/index.js +1 -0
  40. package/dist/cjs/modules/organization/index.js.map +1 -1
  41. package/dist/cjs/modules/organization/interfaces/organization-created-event.js +3 -0
  42. package/dist/cjs/modules/organization/interfaces/organization-created-event.js.map +1 -0
  43. package/dist/cjs/modules/permission/data/permissions.data.js +17 -0
  44. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  45. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +24 -0
  46. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  47. package/dist/cjs/modules/permission/enums/permissions-module.enum.js +2 -0
  48. package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
  49. package/dist/cjs/modules/role/constants/safety-roles.js +46 -0
  50. package/dist/cjs/modules/role/constants/safety-roles.js.map +1 -0
  51. package/dist/cjs/modules/role/data/roles.data.js +55 -6
  52. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  53. package/dist/cjs/modules/role/index.js +1 -0
  54. package/dist/cjs/modules/role/index.js.map +1 -1
  55. package/dist/cjs/modules/safety/constants/follow-me.const.js +137 -0
  56. package/dist/cjs/modules/safety/constants/follow-me.const.js.map +1 -0
  57. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js +51 -0
  58. package/dist/cjs/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  59. package/dist/cjs/modules/safety/constants/safety-integration.const.js +151 -0
  60. package/dist/cjs/modules/safety/constants/safety-integration.const.js.map +1 -0
  61. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js +50 -0
  62. package/dist/cjs/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  63. package/dist/cjs/modules/safety/dtos/follow-me.dto.js +501 -0
  64. package/dist/cjs/modules/safety/dtos/follow-me.dto.js.map +1 -0
  65. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js +245 -0
  66. package/dist/cjs/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  67. package/dist/cjs/modules/safety/dtos/safety-alert-context.dto.js +60 -0
  68. package/dist/cjs/modules/safety/dtos/safety-alert-context.dto.js.map +1 -0
  69. package/dist/cjs/modules/safety/dtos/safety-check.dto.js +170 -0
  70. package/dist/cjs/modules/safety/dtos/safety-check.dto.js.map +1 -0
  71. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js +179 -0
  72. package/dist/cjs/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  73. package/dist/cjs/modules/safety/enums/follow-me.enums.js +237 -0
  74. package/dist/cjs/modules/safety/enums/follow-me.enums.js.map +1 -0
  75. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js +45 -0
  76. package/dist/cjs/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  77. package/dist/cjs/modules/safety/enums/safety-enums.js +98 -0
  78. package/dist/cjs/modules/safety/enums/safety-enums.js.map +1 -0
  79. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js +27 -0
  80. package/dist/cjs/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  81. package/dist/cjs/modules/safety/index.js +42 -0
  82. package/dist/cjs/modules/safety/index.js.map +1 -0
  83. package/dist/cjs/modules/safety/interfaces/follow-me.js +3 -0
  84. package/dist/cjs/modules/safety/interfaces/follow-me.js.map +1 -0
  85. package/dist/cjs/modules/safety/interfaces/safety-alert-context.js +3 -0
  86. package/dist/cjs/modules/safety/interfaces/safety-alert-context.js.map +1 -0
  87. package/dist/cjs/modules/safety/interfaces/safety-check-event.js +3 -0
  88. package/dist/cjs/modules/safety/interfaces/safety-check-event.js.map +1 -0
  89. package/dist/cjs/modules/safety/interfaces/safety-check.js +3 -0
  90. package/dist/cjs/modules/safety/interfaces/safety-check.js.map +1 -0
  91. package/dist/cjs/modules/safety/utils/follow-me-state-machine.js +131 -0
  92. package/dist/cjs/modules/safety/utils/follow-me-state-machine.js.map +1 -0
  93. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js +75 -0
  94. package/dist/cjs/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  95. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js +68 -0
  96. package/dist/cjs/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  97. package/dist/cjs/modules/sms/constants/sms-templates.config.js +24 -0
  98. package/dist/cjs/modules/sms/constants/sms-templates.config.js.map +1 -1
  99. package/dist/cjs/modules/sms/enums/sms-template.enum.js +4 -0
  100. package/dist/cjs/modules/sms/enums/sms-template.enum.js.map +1 -1
  101. package/dist/esm/index.js +1 -0
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/kafka/topics.js +17 -1
  104. package/dist/esm/kafka/topics.js.map +1 -1
  105. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js +37 -0
  106. package/dist/esm/modules/alert-dispatch/dtos/guardian-audience.dto.js.map +1 -0
  107. package/dist/esm/modules/alert-dispatch/index.js +4 -0
  108. package/dist/esm/modules/alert-dispatch/index.js.map +1 -1
  109. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js +2 -0
  110. package/dist/esm/modules/alert-dispatch/interfaces/guardian-audience.js.map +1 -0
  111. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js +56 -0
  112. package/dist/esm/modules/alert-dispatch/utils/guardian-audience.util.js.map +1 -0
  113. package/dist/esm/modules/common/constants/service.const.js +1 -0
  114. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  115. package/dist/esm/modules/gis/dtos/private-trip.dto.js +205 -0
  116. package/dist/esm/modules/gis/dtos/private-trip.dto.js.map +1 -0
  117. package/dist/esm/modules/gis/dtos/routing.dto.js +241 -0
  118. package/dist/esm/modules/gis/dtos/routing.dto.js.map +1 -0
  119. package/dist/esm/modules/gis/dtos/trip-points.dto.js +31 -0
  120. package/dist/esm/modules/gis/dtos/trip-points.dto.js.map +1 -0
  121. package/dist/esm/modules/gis/enums/routing.enum.js +26 -0
  122. package/dist/esm/modules/gis/enums/routing.enum.js.map +1 -0
  123. package/dist/esm/modules/gis/enums/trip-privacy.enum.js +31 -0
  124. package/dist/esm/modules/gis/enums/trip-privacy.enum.js.map +1 -0
  125. package/dist/esm/modules/gis/index.js +8 -0
  126. package/dist/esm/modules/gis/index.js.map +1 -1
  127. package/dist/esm/modules/gis/interfaces/routing.js +2 -0
  128. package/dist/esm/modules/gis/interfaces/routing.js.map +1 -0
  129. package/dist/esm/modules/gis/interfaces/trip-point.js +2 -0
  130. package/dist/esm/modules/gis/interfaces/trip-point.js.map +1 -0
  131. package/dist/esm/modules/gis/interfaces/trip-summary.js +2 -0
  132. package/dist/esm/modules/gis/interfaces/trip-summary.js.map +1 -0
  133. package/dist/esm/modules/incident/dtos/incident/incident.dto.js +31 -1
  134. package/dist/esm/modules/incident/dtos/incident/incident.dto.js.map +1 -1
  135. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js +16 -0
  136. package/dist/esm/modules/incident/enums/incident-origin-type.enum.js.map +1 -0
  137. package/dist/esm/modules/incident/index.js +1 -0
  138. package/dist/esm/modules/incident/index.js.map +1 -1
  139. package/dist/esm/modules/organization/index.js +1 -0
  140. package/dist/esm/modules/organization/index.js.map +1 -1
  141. package/dist/esm/modules/organization/interfaces/organization-created-event.js +2 -0
  142. package/dist/esm/modules/organization/interfaces/organization-created-event.js.map +1 -0
  143. package/dist/esm/modules/permission/data/permissions.data.js +17 -0
  144. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  145. package/dist/esm/modules/permission/enums/permission-actions.enum.js +24 -0
  146. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  147. package/dist/esm/modules/permission/enums/permissions-module.enum.js +2 -0
  148. package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
  149. package/dist/esm/modules/role/constants/safety-roles.js +43 -0
  150. package/dist/esm/modules/role/constants/safety-roles.js.map +1 -0
  151. package/dist/esm/modules/role/data/roles.data.js +55 -6
  152. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  153. package/dist/esm/modules/role/index.js +1 -0
  154. package/dist/esm/modules/role/index.js.map +1 -1
  155. package/dist/esm/modules/safety/constants/follow-me.const.js +134 -0
  156. package/dist/esm/modules/safety/constants/follow-me.const.js.map +1 -0
  157. package/dist/esm/modules/safety/constants/safety-check-limits.const.js +48 -0
  158. package/dist/esm/modules/safety/constants/safety-check-limits.const.js.map +1 -0
  159. package/dist/esm/modules/safety/constants/safety-integration.const.js +146 -0
  160. package/dist/esm/modules/safety/constants/safety-integration.const.js.map +1 -0
  161. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js +45 -0
  162. package/dist/esm/modules/safety/constants/safety-taxonomy.const.js.map +1 -0
  163. package/dist/esm/modules/safety/dtos/follow-me.dto.js +488 -0
  164. package/dist/esm/modules/safety/dtos/follow-me.dto.js.map +1 -0
  165. package/dist/esm/modules/safety/dtos/safety-admin.dto.js +238 -0
  166. package/dist/esm/modules/safety/dtos/safety-admin.dto.js.map +1 -0
  167. package/dist/esm/modules/safety/dtos/safety-alert-context.dto.js +55 -0
  168. package/dist/esm/modules/safety/dtos/safety-alert-context.dto.js.map +1 -0
  169. package/dist/esm/modules/safety/dtos/safety-check.dto.js +161 -0
  170. package/dist/esm/modules/safety/dtos/safety-check.dto.js.map +1 -0
  171. package/dist/esm/modules/safety/dtos/safety-internal.dto.js +172 -0
  172. package/dist/esm/modules/safety/dtos/safety-internal.dto.js.map +1 -0
  173. package/dist/esm/modules/safety/enums/follow-me.enums.js +234 -0
  174. package/dist/esm/modules/safety/enums/follow-me.enums.js.map +1 -0
  175. package/dist/esm/modules/safety/enums/safety-check-status.enum.js +42 -0
  176. package/dist/esm/modules/safety/enums/safety-check-status.enum.js.map +1 -0
  177. package/dist/esm/modules/safety/enums/safety-enums.js +95 -0
  178. package/dist/esm/modules/safety/enums/safety-enums.js.map +1 -0
  179. package/dist/esm/modules/safety/enums/safety-error-code.enum.js +24 -0
  180. package/dist/esm/modules/safety/enums/safety-error-code.enum.js.map +1 -0
  181. package/dist/esm/modules/safety/index.js +26 -0
  182. package/dist/esm/modules/safety/index.js.map +1 -0
  183. package/dist/esm/modules/safety/interfaces/follow-me.js +2 -0
  184. package/dist/esm/modules/safety/interfaces/follow-me.js.map +1 -0
  185. package/dist/esm/modules/safety/interfaces/safety-alert-context.js +2 -0
  186. package/dist/esm/modules/safety/interfaces/safety-alert-context.js.map +1 -0
  187. package/dist/esm/modules/safety/interfaces/safety-check-event.js +2 -0
  188. package/dist/esm/modules/safety/interfaces/safety-check-event.js.map +1 -0
  189. package/dist/esm/modules/safety/interfaces/safety-check.js +2 -0
  190. package/dist/esm/modules/safety/interfaces/safety-check.js.map +1 -0
  191. package/dist/esm/modules/safety/utils/follow-me-state-machine.js +116 -0
  192. package/dist/esm/modules/safety/utils/follow-me-state-machine.js.map +1 -0
  193. package/dist/esm/modules/safety/utils/safety-check-state-machine.js +67 -0
  194. package/dist/esm/modules/safety/utils/safety-check-state-machine.js.map +1 -0
  195. package/dist/esm/modules/safety/utils/safety-check-timing.util.js +59 -0
  196. package/dist/esm/modules/safety/utils/safety-check-timing.util.js.map +1 -0
  197. package/dist/esm/modules/sms/constants/sms-templates.config.js +24 -0
  198. package/dist/esm/modules/sms/constants/sms-templates.config.js.map +1 -1
  199. package/dist/esm/modules/sms/enums/sms-template.enum.js +4 -0
  200. package/dist/esm/modules/sms/enums/sms-template.enum.js.map +1 -1
  201. package/dist/types/index.d.ts +1 -0
  202. package/dist/types/kafka/topics.d.ts +9 -0
  203. package/dist/types/modules/alert-dispatch/dtos/guardian-audience.dto.d.ts +6 -0
  204. package/dist/types/modules/alert-dispatch/index.d.ts +3 -0
  205. package/dist/types/modules/alert-dispatch/interfaces/guardian-audience.d.ts +23 -0
  206. package/dist/types/modules/alert-dispatch/utils/guardian-audience.util.d.ts +18 -0
  207. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  208. package/dist/types/modules/gis/dtos/private-trip.dto.d.ts +46 -0
  209. package/dist/types/modules/gis/dtos/routing.dto.d.ts +48 -0
  210. package/dist/types/modules/gis/dtos/trip-points.dto.d.ts +5 -0
  211. package/dist/types/modules/gis/enums/routing.enum.d.ts +22 -0
  212. package/dist/types/modules/gis/enums/trip-privacy.enum.d.ts +28 -0
  213. package/dist/types/modules/gis/index.d.ts +8 -0
  214. package/dist/types/modules/gis/interfaces/client-safe-trip.d.ts +8 -0
  215. package/dist/types/modules/gis/interfaces/routing.d.ts +43 -0
  216. package/dist/types/modules/gis/interfaces/trip-point.d.ts +16 -0
  217. package/dist/types/modules/gis/interfaces/trip-summary.d.ts +22 -0
  218. package/dist/types/modules/incident/dtos/incident/incident.dto.d.ts +16 -0
  219. package/dist/types/modules/incident/enums/incident-origin-type.enum.d.ts +14 -0
  220. package/dist/types/modules/incident/index.d.ts +1 -0
  221. package/dist/types/modules/incident/intefaces/incident-category.d.ts +10 -0
  222. package/dist/types/modules/incident/intefaces/incident-type.d.ts +10 -0
  223. package/dist/types/modules/incident/intefaces/incident.d.ts +17 -0
  224. package/dist/types/modules/organization/index.d.ts +1 -0
  225. package/dist/types/modules/organization/interfaces/organization-created-event.d.ts +18 -0
  226. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +7 -0
  227. package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +3 -1
  228. package/dist/types/modules/role/constants/safety-roles.d.ts +24 -0
  229. package/dist/types/modules/role/index.d.ts +1 -0
  230. package/dist/types/modules/safety/constants/follow-me.const.d.ts +120 -0
  231. package/dist/types/modules/safety/constants/safety-check-limits.const.d.ts +47 -0
  232. package/dist/types/modules/safety/constants/safety-integration.const.d.ts +136 -0
  233. package/dist/types/modules/safety/constants/safety-taxonomy.const.d.ts +31 -0
  234. package/dist/types/modules/safety/dtos/follow-me.dto.d.ts +106 -0
  235. package/dist/types/modules/safety/dtos/safety-admin.dto.d.ts +42 -0
  236. package/dist/types/modules/safety/dtos/safety-alert-context.dto.d.ts +14 -0
  237. package/dist/types/modules/safety/dtos/safety-check.dto.d.ts +38 -0
  238. package/dist/types/modules/safety/dtos/safety-internal.dto.d.ts +54 -0
  239. package/dist/types/modules/safety/enums/follow-me.enums.d.ts +218 -0
  240. package/dist/types/modules/safety/enums/safety-check-status.enum.d.ts +40 -0
  241. package/dist/types/modules/safety/enums/safety-enums.d.ts +86 -0
  242. package/dist/types/modules/safety/enums/safety-error-code.enum.d.ts +22 -0
  243. package/dist/types/modules/safety/index.d.ts +20 -0
  244. package/dist/types/modules/safety/interfaces/follow-me.d.ts +339 -0
  245. package/dist/types/modules/safety/interfaces/safety-alert-context.d.ts +8 -0
  246. package/dist/types/modules/safety/interfaces/safety-check-event.d.ts +36 -0
  247. package/dist/types/modules/safety/interfaces/safety-check.d.ts +182 -0
  248. package/dist/types/modules/safety/utils/follow-me-state-machine.d.ts +51 -0
  249. package/dist/types/modules/safety/utils/safety-check-state-machine.d.ts +30 -0
  250. package/dist/types/modules/safety/utils/safety-check-timing.util.d.ts +37 -0
  251. package/dist/types/modules/sms/enums/sms-template.enum.d.ts +4 -0
  252. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -42,6 +42,7 @@ __exportStar(require("./modules/system-user/index"), exports);
42
42
  __exportStar(require("./modules/partner/index"), exports);
43
43
  __exportStar(require("./modules/support/index"), exports);
44
44
  __exportStar(require("./modules/alert-intake/index"), exports);
45
+ __exportStar(require("./modules/safety/index"), exports);
45
46
  // Interfaces
46
47
  __exportStar(require("./interfaces/server-message"), exports);
47
48
  __exportStar(require("./interfaces/i-request-with-user"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,wDAAsC;AACtC,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AACxC,wDAAsC;AACtC,2DAAyC;AACzC,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,+DAA6C;AAE7C,aAAa;AACb,8DAA4C;AAC5C,mEAAiD;AACjD,8DAA4C;AAC5C,2DAAyC;AACzC,0DAAwC;AAExC,YAAY;AACZ,2DAAyC;AAEzC,QAAQ;AACR,gDAA8B;AAE9B,YAAY;AACZ,+DAA6C;AAC7C,wFAAsE;AAEtE,aAAa;AACb,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,wDAAsC;AACtC,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AACxC,wDAAsC;AACtC,2DAAyC;AACzC,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,+DAA6C;AAC7C,yDAAuC;AAEvC,aAAa;AACb,8DAA4C;AAC5C,mEAAiD;AACjD,8DAA4C;AAC5C,2DAAyC;AACzC,0DAAwC;AAExC,YAAY;AACZ,2DAAyC;AAEzC,QAAQ;AACR,gDAA8B;AAE9B,YAAY;AACZ,+DAA6C;AAC7C,wFAAsE;AAEtE,aAAa;AACb,qDAAmC"}
@@ -12,7 +12,9 @@ exports.KAFKA_TOPICS = {
12
12
  USER_CREATED: 'user.created',
13
13
  USER_UPDATED: 'user.updated',
14
14
  USER_DELETED: 'user.deleted',
15
- // Org
15
+ // Org. ORG_CREATED is published by clarion-organization after commit
16
+ // (payload OrganizationCreatedEvent); clarion-incident provisions the Safety
17
+ // Alerts category from it.
16
18
  ORG_CREATED: 'org.created',
17
19
  ORG_UPDATED: 'org.updated',
18
20
  ORG_DELETED: 'org.deleted',
@@ -98,5 +100,19 @@ exports.KAFKA_TOPICS = {
98
100
  SUPPORT_FEEDBACK_RATING_SUBMITTED: 'support.feedback.rating-submitted.v1',
99
101
  SUPPORT_PROVIDER_SYNC_FAILED: 'support.provider.sync-failed.v1',
100
102
  SUPPORT_PROVIDER_SYNC_RECOVERED: 'support.provider.sync-recovered.v1',
103
+ // Safety Check (producer: clarion-safety, via its transactional outbox;
104
+ // payload SafetyCheckEvent) - versioned. Keyed by the check id so one check's
105
+ // events stay in order. Carries NO location, ever.
106
+ SAFETY_CHECK_STARTED: 'safety.check.started.v1',
107
+ SAFETY_CHECK_PROMPTING: 'safety.check.prompting.v1',
108
+ SAFETY_CHECK_ENDED: 'safety.check.ended.v1',
109
+ SAFETY_CHECK_SOS_TRIGGERED: 'safety.check.sos-triggered.v1',
110
+ // Follow Me (producer: clarion-safety via its outbox; payload FollowMeEvent) -
111
+ // keyed by session id. NO location and NO access token, ever.
112
+ FOLLOW_ME_STARTED: 'safety.follow-me.started.v1',
113
+ FOLLOW_ME_GUARDIAN_RESPONDED: 'safety.follow-me.guardian-responded.v1',
114
+ FOLLOW_ME_PROMPTING: 'safety.follow-me.prompting.v1',
115
+ FOLLOW_ME_SOS_TRIGGERED: 'safety.follow-me.sos-triggered.v1',
116
+ FOLLOW_ME_ENDED: 'safety.follow-me.ended.v1',
101
117
  };
102
118
  //# sourceMappingURL=topics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
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.GuardianAudienceDto = 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
+ /** Validated GuardianAudience - see the interface for what absent vs present means. */
17
+ class GuardianAudienceDto {
18
+ }
19
+ exports.GuardianAudienceDto = GuardianAudienceDto;
20
+ __decorate([
21
+ (0, swagger_1.ApiProperty)({ type: [Number], description: 'User ids of the app-user guardians included', example: [812] }),
22
+ (0, class_validator_1.IsArray)(),
23
+ (0, class_validator_1.ArrayMaxSize)(50),
24
+ (0, class_transformer_1.Type)(() => Number),
25
+ (0, class_validator_1.IsInt)({ each: true }),
26
+ (0, class_validator_1.IsPositive)({ each: true }),
27
+ __metadata("design:type", Array)
28
+ ], GuardianAudienceDto.prototype, "systemGuardianUserIds", void 0);
29
+ __decorate([
30
+ (0, swagger_1.ApiProperty)({
31
+ type: [String],
32
+ description: 'E.164 phone numbers of the external (non-app) guardians included',
33
+ example: ['+254712345678'],
34
+ }),
35
+ (0, class_validator_1.IsArray)(),
36
+ (0, class_validator_1.ArrayMaxSize)(50),
37
+ (0, class_validator_1.IsString)({ each: true }),
38
+ (0, class_validator_1.MaxLength)(20, { each: true }),
39
+ __metadata("design:type", Array)
40
+ ], GuardianAudienceDto.prototype, "externalGuardianPhoneNumbers", void 0);
41
+ //# sourceMappingURL=guardian-audience.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardian-audience.dto.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/dtos/guardian-audience.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAyC;AACzC,qDAAgG;AAGhG,uFAAuF;AACvF,MAAa,mBAAmB;CAmB/B;AAnBD,kDAmBC;AAZG;IANC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3G,IAAA,yBAAO,GAAE;IACT,IAAA,8BAAY,EAAC,EAAE,CAAC;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrB,IAAA,4BAAU,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;kEACM;AAWjC;IATC,IAAA,qBAAW,EAAC;QACT,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,kEAAkE;QAC/E,OAAO,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC;IACD,IAAA,yBAAO,GAAE;IACT,IAAA,8BAAY,EAAC,EAAE,CAAC;IAChB,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,2BAAS,EAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;yEACU"}
@@ -18,6 +18,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  __exportStar(require("./enums/incident-dispatch-scope.enum"), exports);
19
19
  // Interfaces
20
20
  __exportStar(require("./interfaces/alert-dispatch"), exports);
21
+ __exportStar(require("./interfaces/guardian-audience"), exports);
22
+ // DTOs
23
+ __exportStar(require("./dtos/guardian-audience.dto"), exports);
21
24
  // Utilities
22
25
  __exportStar(require("./utils/alert-dispatch.util"), exports);
26
+ __exportStar(require("./utils/guardian-audience.util"), exports);
23
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/alert-dispatch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,uEAAqD;AAErD,aAAa;AACb,8DAA4C;AAE5C,YAAY;AACZ,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/alert-dispatch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,uEAAqD;AAErD,aAAa;AACb,8DAA4C;AAC5C,iEAA+C;AAE/C,OAAO;AACP,+DAA6C;AAE7C,YAAY;AACZ,8DAA4C;AAC5C,iEAA+C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=guardian-audience.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardian-audience.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/interfaces/guardian-audience.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canonicalGuardianPhone = canonicalGuardianPhone;
4
+ exports.normalizeGuardianAudience = normalizeGuardianAudience;
5
+ exports.isEmptyGuardianAudience = isEmptyGuardianAudience;
6
+ exports.isInGuardianAudience = isInGuardianAudience;
7
+ exports.filterByGuardianAudience = filterByGuardianAudience;
8
+ const phone_util_1 = require("../../phone/phone.util");
9
+ /** Canonical form used to compare guardian phone numbers. */
10
+ function canonicalGuardianPhone(value) {
11
+ if (!value)
12
+ return null;
13
+ const e164 = (0, phone_util_1.toSupportedE164)(value);
14
+ if (e164)
15
+ return e164;
16
+ const digits = String(value).replace(/[^\d+]/g, '');
17
+ return digits || null;
18
+ }
19
+ /** An audience with duplicates removed and phone numbers canonicalised. */
20
+ function normalizeGuardianAudience(audience) {
21
+ var _a, _b;
22
+ const userIds = Array.from(new Set(((_a = audience.systemGuardianUserIds) !== null && _a !== void 0 ? _a : []).filter((id) => Number.isInteger(id) && id > 0)));
23
+ const phones = Array.from(new Set(((_b = audience.externalGuardianPhoneNumbers) !== null && _b !== void 0 ? _b : [])
24
+ .map((phone) => canonicalGuardianPhone(phone))
25
+ .filter((phone) => !!phone)));
26
+ return { systemGuardianUserIds: userIds, externalGuardianPhoneNumbers: phones };
27
+ }
28
+ /** True when an audience names nobody at all. */
29
+ function isEmptyGuardianAudience(audience) {
30
+ var _a, _b, _c, _d;
31
+ if (!audience)
32
+ return false;
33
+ return (((_b = (_a = audience.systemGuardianUserIds) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) === 0 &&
34
+ ((_d = (_c = audience.externalGuardianPhoneNumbers) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) === 0);
35
+ }
36
+ /**
37
+ * Whether one guardian is in the audience. A missing audience includes everyone.
38
+ *
39
+ * An app-user guardian matches on user id first. A guardian that arrives without a
40
+ * user id (an external contact) matches on phone number - and so does an app user
41
+ * the audience listed by phone, because a contact who installed the app after
42
+ * being added keeps the number they were chosen by.
43
+ */
44
+ function isInGuardianAudience(candidate, audience) {
45
+ var _a, _b;
46
+ if (!audience)
47
+ return true;
48
+ if (candidate.userId && ((_a = audience.systemGuardianUserIds) === null || _a === void 0 ? void 0 : _a.includes(Number(candidate.userId))))
49
+ return true;
50
+ const phone = canonicalGuardianPhone(candidate.phoneNumber);
51
+ if (!phone)
52
+ return false;
53
+ return ((_b = audience.externalGuardianPhoneNumbers) !== null && _b !== void 0 ? _b : [])
54
+ .map((entry) => canonicalGuardianPhone(entry))
55
+ .includes(phone);
56
+ }
57
+ /** Keeps only the guardians in the audience. A missing audience keeps everyone. */
58
+ function filterByGuardianAudience(guardians, audience, identify) {
59
+ if (!audience)
60
+ return [...guardians];
61
+ return guardians.filter((guardian) => isInGuardianAudience(identify(guardian), audience));
62
+ }
63
+ //# sourceMappingURL=guardian-audience.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardian-audience.util.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/utils/guardian-audience.util.ts"],"names":[],"mappings":";;AAIA,wDAMC;AAGD,8DAYC;AAGD,0DAMC;AAUD,oDAWC;AAGD,4DAOC;AAjED,uDAAyD;AAGzD,6DAA6D;AAC7D,SAAgB,sBAAsB,CAAC,KAAgC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,MAAM,IAAI,IAAI,CAAC;AAC1B,CAAC;AAED,2EAA2E;AAC3E,SAAgB,yBAAyB,CAAC,QAA0B;;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACtB,IAAI,GAAG,CAAC,CAAC,MAAA,QAAQ,CAAC,qBAAqB,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CACjG,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACrB,IAAI,GAAG,CACH,CAAC,MAAA,QAAQ,CAAC,4BAA4B,mCAAI,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;SAC7C,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACnD,CACJ,CAAC;IACF,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,CAAC;AACpF,CAAC;AAED,iDAAiD;AACjD,SAAgB,uBAAuB,CAAC,QAA6C;;IACjF,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,CACH,CAAC,MAAA,MAAA,QAAQ,CAAC,qBAAqB,0CAAE,MAAM,mCAAI,CAAC,CAAC,KAAK,CAAC;QACnD,CAAC,MAAA,MAAA,QAAQ,CAAC,4BAA4B,0CAAE,MAAM,mCAAI,CAAC,CAAC,KAAK,CAAC,CAC7D,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAChC,SAAoC,EACpC,QAA6C;;IAE7C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,SAAS,CAAC,MAAM,KAAI,MAAA,QAAQ,CAAC,qBAAqB,0CAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QAAE,OAAO,IAAI,CAAC;IACxG,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,CAAC,MAAA,QAAQ,CAAC,4BAA4B,mCAAI,EAAE,CAAC;SAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;SAC7C,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,mFAAmF;AACnF,SAAgB,wBAAwB,CACpC,SAAuB,EACvB,QAA6C,EAC7C,QAAoD;IAEpD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IACrC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9F,CAAC"}
@@ -19,5 +19,6 @@ exports.SERVICE_CONSTS = {
19
19
  RESPONSE_TRACKING_SERVICE: { name: 'response-tracking-service', port: 3016 },
20
20
  PARTNER_SERVICE: { name: 'partner-service', port: 3017 },
21
21
  SUPPORT_SERVICE: { name: 'support-service', port: 3018 },
22
+ SAFETY_SERVICE: { name: 'safety-service', port: 3019 },
22
23
  };
23
24
  //# sourceMappingURL=service.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.const.js","sourceRoot":"","sources":["../../../../../src/modules/common/constants/service.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,wBAAwB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1E,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;IACtD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,yBAAyB,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE;IAC5E,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;CAC3D,CAAC"}
1
+ {"version":3,"file":"service.const.js","sourceRoot":"","sources":["../../../../../src/modules/common/constants/service.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,wBAAwB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1E,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;IACtD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,yBAAyB,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE;IAC5E,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;CACzD,CAAC"}
@@ -0,0 +1,214 @@
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.StopPrivateTripDto = exports.ShareTripDto = exports.AddTripTrackPointsDto = exports.CreatePrivateTripDto = exports.TripStartLocationDto = exports.TripTrackPointDto = 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 trip_privacy_enum_1 = require("../enums/trip-privacy.enum");
17
+ /** One recorded fix. Same shape as the SOS track points clarion-gis already stores. */
18
+ class TripTrackPointDto {
19
+ }
20
+ exports.TripTrackPointDto = TripTrackPointDto;
21
+ __decorate([
22
+ (0, swagger_1.ApiProperty)(),
23
+ (0, class_transformer_1.Type)(() => Number),
24
+ (0, class_validator_1.IsNumber)(),
25
+ (0, class_validator_1.Min)(-90),
26
+ (0, class_validator_1.Max)(90),
27
+ __metadata("design:type", Number)
28
+ ], TripTrackPointDto.prototype, "lat", void 0);
29
+ __decorate([
30
+ (0, swagger_1.ApiProperty)(),
31
+ (0, class_transformer_1.Type)(() => Number),
32
+ (0, class_validator_1.IsNumber)(),
33
+ (0, class_validator_1.Min)(-180),
34
+ (0, class_validator_1.Max)(180),
35
+ __metadata("design:type", Number)
36
+ ], TripTrackPointDto.prototype, "lng", void 0);
37
+ __decorate([
38
+ (0, swagger_1.ApiPropertyOptional)(),
39
+ (0, class_transformer_1.Type)(() => Number),
40
+ (0, class_validator_1.IsNumber)(),
41
+ (0, class_validator_1.Min)(0),
42
+ (0, class_validator_1.IsOptional)(),
43
+ __metadata("design:type", Number)
44
+ ], TripTrackPointDto.prototype, "accuracy", void 0);
45
+ __decorate([
46
+ (0, swagger_1.ApiProperty)({ description: 'ISO 8601' }),
47
+ (0, class_validator_1.IsDateString)(),
48
+ __metadata("design:type", String)
49
+ ], TripTrackPointDto.prototype, "timestamp", void 0);
50
+ __decorate([
51
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Metres above sea level' }),
52
+ (0, class_transformer_1.Type)(() => Number),
53
+ (0, class_validator_1.IsNumber)(),
54
+ (0, class_validator_1.Min)(-500),
55
+ (0, class_validator_1.Max)(10000),
56
+ (0, class_validator_1.IsOptional)(),
57
+ __metadata("design:type", Number)
58
+ ], TripTrackPointDto.prototype, "altitude", void 0);
59
+ __decorate([
60
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Metres per second, as the device reported it' }),
61
+ (0, class_transformer_1.Type)(() => Number),
62
+ (0, class_validator_1.IsNumber)(),
63
+ (0, class_validator_1.Min)(0),
64
+ (0, class_validator_1.Max)(150),
65
+ (0, class_validator_1.IsOptional)(),
66
+ __metadata("design:type", Number)
67
+ ], TripTrackPointDto.prototype, "speed", void 0);
68
+ __decorate([
69
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Degrees clockwise from north' }),
70
+ (0, class_transformer_1.Type)(() => Number),
71
+ (0, class_validator_1.IsNumber)(),
72
+ (0, class_validator_1.Min)(0),
73
+ (0, class_validator_1.Max)(360),
74
+ (0, class_validator_1.IsOptional)(),
75
+ __metadata("design:type", Number)
76
+ ], TripTrackPointDto.prototype, "heading", void 0);
77
+ __decorate([
78
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Where the fix came from (gps, network, fused)', maxLength: 20 }),
79
+ (0, class_validator_1.IsString)(),
80
+ (0, class_validator_1.MaxLength)(20),
81
+ (0, class_validator_1.IsOptional)(),
82
+ __metadata("design:type", String)
83
+ ], TripTrackPointDto.prototype, "source", void 0);
84
+ class TripStartLocationDto {
85
+ }
86
+ exports.TripStartLocationDto = TripStartLocationDto;
87
+ __decorate([
88
+ (0, swagger_1.ApiProperty)(),
89
+ (0, class_transformer_1.Type)(() => Number),
90
+ (0, class_validator_1.IsNumber)(),
91
+ (0, class_validator_1.Min)(-90),
92
+ (0, class_validator_1.Max)(90),
93
+ __metadata("design:type", Number)
94
+ ], TripStartLocationDto.prototype, "lat", void 0);
95
+ __decorate([
96
+ (0, swagger_1.ApiProperty)(),
97
+ (0, class_transformer_1.Type)(() => Number),
98
+ (0, class_validator_1.IsNumber)(),
99
+ (0, class_validator_1.Min)(-180),
100
+ (0, class_validator_1.Max)(180),
101
+ __metadata("design:type", Number)
102
+ ], TripStartLocationDto.prototype, "lng", void 0);
103
+ /**
104
+ * clarion-safety -> clarion-gis (internal): open a PRIVATE trip for a safety
105
+ * record. Idempotent on (purpose, sourceReferenceId).
106
+ */
107
+ class CreatePrivateTripDto {
108
+ }
109
+ exports.CreatePrivateTripDto = CreatePrivateTripDto;
110
+ __decorate([
111
+ (0, swagger_1.ApiProperty)({ enum: trip_privacy_enum_1.TripPurpose, example: trip_privacy_enum_1.TripPurpose.SAFETY_CHECK }),
112
+ (0, class_validator_1.IsEnum)(trip_privacy_enum_1.TripPurpose),
113
+ __metadata("design:type", String)
114
+ ], CreatePrivateTripDto.prototype, "purpose", void 0);
115
+ __decorate([
116
+ (0, swagger_1.ApiProperty)({ description: 'The safety record it belongs to (a Safety Check id)' }),
117
+ (0, class_validator_1.IsString)(),
118
+ (0, class_validator_1.MaxLength)(64),
119
+ __metadata("design:type", String)
120
+ ], CreatePrivateTripDto.prototype, "sourceReferenceId", void 0);
121
+ __decorate([
122
+ (0, swagger_1.ApiProperty)(),
123
+ (0, class_transformer_1.Type)(() => Number),
124
+ (0, class_validator_1.IsInt)(),
125
+ (0, class_validator_1.IsPositive)(),
126
+ __metadata("design:type", Number)
127
+ ], CreatePrivateTripDto.prototype, "userId", void 0);
128
+ __decorate([
129
+ (0, swagger_1.ApiProperty)(),
130
+ (0, class_transformer_1.Type)(() => Number),
131
+ (0, class_validator_1.IsInt)(),
132
+ (0, class_validator_1.IsPositive)(),
133
+ __metadata("design:type", Number)
134
+ ], CreatePrivateTripDto.prototype, "organizationId", void 0);
135
+ __decorate([
136
+ (0, swagger_1.ApiPropertyOptional)(),
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
+ ], CreatePrivateTripDto.prototype, "controlCentreId", void 0);
143
+ __decorate([
144
+ (0, swagger_1.ApiPropertyOptional)({ type: TripStartLocationDto }),
145
+ (0, class_validator_1.ValidateNested)(),
146
+ (0, class_transformer_1.Type)(() => TripStartLocationDto),
147
+ (0, class_validator_1.IsOptional)(),
148
+ __metadata("design:type", TripStartLocationDto)
149
+ ], CreatePrivateTripDto.prototype, "startLocation", void 0);
150
+ /** Append fixes to a trip by id. `userId` must be the trip's owner. */
151
+ class AddTripTrackPointsDto {
152
+ }
153
+ exports.AddTripTrackPointsDto = AddTripTrackPointsDto;
154
+ __decorate([
155
+ (0, swagger_1.ApiProperty)(),
156
+ (0, class_transformer_1.Type)(() => Number),
157
+ (0, class_validator_1.IsInt)(),
158
+ (0, class_validator_1.IsPositive)(),
159
+ __metadata("design:type", Number)
160
+ ], AddTripTrackPointsDto.prototype, "userId", void 0);
161
+ __decorate([
162
+ (0, swagger_1.ApiProperty)({ type: [TripTrackPointDto] }),
163
+ (0, class_validator_1.IsArray)(),
164
+ (0, class_validator_1.ArrayMinSize)(1),
165
+ (0, class_validator_1.ArrayMaxSize)(200),
166
+ (0, class_validator_1.ValidateNested)({ each: true }),
167
+ (0, class_transformer_1.Type)(() => TripTrackPointDto),
168
+ __metadata("design:type", Array)
169
+ ], AddTripTrackPointsDto.prototype, "points", void 0);
170
+ /**
171
+ * Turn a PRIVATE trip into the trip of an SOS incident. Idempotent for the same
172
+ * incident; refused (409) for a different one.
173
+ */
174
+ class ShareTripDto {
175
+ }
176
+ exports.ShareTripDto = ShareTripDto;
177
+ __decorate([
178
+ (0, swagger_1.ApiProperty)(),
179
+ (0, class_transformer_1.Type)(() => Number),
180
+ (0, class_validator_1.IsInt)(),
181
+ (0, class_validator_1.IsPositive)(),
182
+ __metadata("design:type", Number)
183
+ ], ShareTripDto.prototype, "incidentId", void 0);
184
+ __decorate([
185
+ (0, swagger_1.ApiPropertyOptional)({ type: [Number], description: 'Users who receive the live trip, as for an SOS trip' }),
186
+ (0, class_validator_1.IsArray)(),
187
+ (0, class_transformer_1.Type)(() => Number),
188
+ (0, class_validator_1.IsInt)({ each: true }),
189
+ (0, class_validator_1.IsOptional)(),
190
+ __metadata("design:type", Array)
191
+ ], ShareTripDto.prototype, "targetUserIds", void 0);
192
+ /** End a PRIVATE trip without telling anyone (no realtime, no Kafka). */
193
+ class StopPrivateTripDto {
194
+ }
195
+ exports.StopPrivateTripDto = StopPrivateTripDto;
196
+ __decorate([
197
+ (0, swagger_1.ApiPropertyOptional)(),
198
+ (0, class_transformer_1.Type)(() => Number),
199
+ (0, class_validator_1.IsNumber)(),
200
+ (0, class_validator_1.Min)(-90),
201
+ (0, class_validator_1.Max)(90),
202
+ (0, class_validator_1.IsOptional)(),
203
+ __metadata("design:type", Number)
204
+ ], StopPrivateTripDto.prototype, "endLat", void 0);
205
+ __decorate([
206
+ (0, swagger_1.ApiPropertyOptional)(),
207
+ (0, class_transformer_1.Type)(() => Number),
208
+ (0, class_validator_1.IsNumber)(),
209
+ (0, class_validator_1.Min)(-180),
210
+ (0, class_validator_1.Max)(180),
211
+ (0, class_validator_1.IsOptional)(),
212
+ __metadata("design:type", Number)
213
+ ], StopPrivateTripDto.prototype, "endLng", void 0);
214
+ //# sourceMappingURL=private-trip.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private-trip.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/private-trip.dto.ts"],"names":[],"mappings":"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"}