tabletcommand-backend-models 5.39.6 → 7.0.0

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 (391) hide show
  1. package/build/constants.js +24 -0
  2. package/build/constants.js.map +1 -1
  3. package/build/helpers.js +9 -10
  4. package/build/helpers.js.map +1 -1
  5. package/build/index.js +9 -3
  6. package/build/index.js.map +1 -1
  7. package/build/models/action-log.js +5 -8
  8. package/build/models/action-log.js.map +1 -1
  9. package/build/models/agency.js +9 -11
  10. package/build/models/agency.js.map +1 -1
  11. package/build/models/arcgis-group.js +8 -12
  12. package/build/models/arcgis-group.js.map +1 -1
  13. package/build/models/assignment.js +8 -10
  14. package/build/models/assignment.js.map +1 -1
  15. package/build/models/battalion.js +25 -25
  16. package/build/models/battalion.js.map +1 -1
  17. package/build/models/beacon-log.js +5 -8
  18. package/build/models/beacon-log.js.map +1 -1
  19. package/build/models/cad-incident-block.js +4 -8
  20. package/build/models/cad-incident-block.js.map +1 -1
  21. package/build/models/cad-incident-stream.js +4 -7
  22. package/build/models/cad-incident-stream.js.map +1 -1
  23. package/build/models/cad-incident.js +1 -5
  24. package/build/models/cad-incident.js.map +1 -1
  25. package/build/models/cad-simulation.js +11 -15
  26. package/build/models/cad-simulation.js.map +1 -1
  27. package/build/models/cad-status-map.js +4 -8
  28. package/build/models/cad-status-map.js.map +1 -1
  29. package/build/models/cad-status.js +5 -9
  30. package/build/models/cad-status.js.map +1 -1
  31. package/build/models/cad-vehicle-status-history.js +3 -8
  32. package/build/models/cad-vehicle-status-history.js.map +1 -1
  33. package/build/models/cad-vehicle-status.js +4 -9
  34. package/build/models/cad-vehicle-status.js.map +1 -1
  35. package/build/models/cad-vehicle.js +4 -8
  36. package/build/models/cad-vehicle.js.map +1 -1
  37. package/build/models/chart-device-stats.js +6 -11
  38. package/build/models/chart-device-stats.js.map +1 -1
  39. package/build/models/chart-incident.js +6 -11
  40. package/build/models/chart-incident.js.map +1 -1
  41. package/build/models/chart-managed-incident.js +6 -11
  42. package/build/models/chart-managed-incident.js.map +1 -1
  43. package/build/models/chart-user.js +5 -10
  44. package/build/models/chart-user.js.map +1 -1
  45. package/build/models/checklist-item.js +10 -16
  46. package/build/models/checklist-item.js.map +1 -1
  47. package/build/models/checklist.js +11 -17
  48. package/build/models/checklist.js.map +1 -1
  49. package/build/models/csv-import.js +5 -9
  50. package/build/models/csv-import.js.map +1 -1
  51. package/build/models/department.js +200 -207
  52. package/build/models/department.js.map +1 -1
  53. package/build/models/device-mapping.js +5 -9
  54. package/build/models/device-mapping.js.map +1 -1
  55. package/build/models/esri.js +12 -21
  56. package/build/models/esri.js.map +1 -1
  57. package/build/models/gst-mapping.js +5 -9
  58. package/build/models/gst-mapping.js.map +1 -1
  59. package/build/models/incident-event.js +10 -13
  60. package/build/models/incident-event.js.map +1 -1
  61. package/build/models/incident-notified.js +7 -11
  62. package/build/models/incident-notified.js.map +1 -1
  63. package/build/models/incident-takeover.js +5 -10
  64. package/build/models/incident-takeover.js.map +1 -1
  65. package/build/models/job-log.js +5 -9
  66. package/build/models/job-log.js.map +1 -1
  67. package/build/models/location.js +4 -8
  68. package/build/models/location.js.map +1 -1
  69. package/build/models/mail-log.js +5 -9
  70. package/build/models/mail-log.js.map +1 -1
  71. package/build/models/managed-incident.js +15 -23
  72. package/build/models/managed-incident.js.map +1 -1
  73. package/build/models/mark43-incident-retry.js +5 -9
  74. package/build/models/mark43-incident-retry.js.map +1 -1
  75. package/build/models/message.js +6 -10
  76. package/build/models/message.js.map +1 -1
  77. package/build/models/monitor.js +5 -9
  78. package/build/models/monitor.js.map +1 -1
  79. package/build/models/personnel-import.js +10 -13
  80. package/build/models/personnel-import.js.map +1 -1
  81. package/build/models/personnel-known.js +7 -9
  82. package/build/models/personnel-known.js.map +1 -1
  83. package/build/models/personnel-roster.js +5 -7
  84. package/build/models/personnel-roster.js.map +1 -1
  85. package/build/models/rate-limit.js +5 -9
  86. package/build/models/rate-limit.js.map +1 -1
  87. package/build/models/release-note.js +5 -10
  88. package/build/models/release-note.js.map +1 -1
  89. package/build/models/remote-log-stream.js +46 -20
  90. package/build/models/remote-log-stream.js.map +1 -1
  91. package/build/models/remote-log.js +46 -20
  92. package/build/models/remote-log.js.map +1 -1
  93. package/build/models/schema/agency-cron-config.js +6 -7
  94. package/build/models/schema/agency-cron-config.js.map +1 -1
  95. package/build/models/schema/agency-saml.js +1 -2
  96. package/build/models/schema/agency-saml.js.map +1 -1
  97. package/build/models/schema/cad-incident.js +72 -30
  98. package/build/models/schema/cad-incident.js.map +1 -1
  99. package/build/models/schema/cad-status-option-selected.js +1 -2
  100. package/build/models/schema/cad-status-option-selected.js.map +1 -1
  101. package/build/models/schema/color.js +1 -2
  102. package/build/models/schema/color.js.map +1 -1
  103. package/build/models/schema/esri-auth.js +2 -3
  104. package/build/models/schema/esri-auth.js.map +1 -1
  105. package/build/models/schema/esri-error.js +1 -2
  106. package/build/models/schema/esri-error.js.map +1 -1
  107. package/build/models/schema/esri-map.js +4 -5
  108. package/build/models/schema/esri-map.js.map +1 -1
  109. package/build/models/schema/firemapper-auth.js +2 -3
  110. package/build/models/schema/firemapper-auth.js.map +1 -1
  111. package/build/models/schema/geojson-point.js +1 -2
  112. package/build/models/schema/geojson-point.js.map +1 -1
  113. package/build/models/schema/oauth.js +1 -2
  114. package/build/models/schema/oauth.js.map +1 -1
  115. package/build/models/schema/pubnub-token.js +2 -2
  116. package/build/models/schema/pubnub-token.js.map +1 -1
  117. package/build/models/schema/shared-incident.js +7 -9
  118. package/build/models/schema/shared-incident.js.map +1 -1
  119. package/build/models/schema/validation-error-item.js +1 -1
  120. package/build/models/schema/validation-error-item.js.map +1 -1
  121. package/build/models/session.js +7 -15
  122. package/build/models/session.js.map +1 -1
  123. package/build/models/smtp-unhandled.js +5 -10
  124. package/build/models/smtp-unhandled.js.map +1 -1
  125. package/build/models/template.js +12 -16
  126. package/build/models/template.js.map +1 -1
  127. package/build/models/user-device.js +10 -14
  128. package/build/models/user-device.js.map +1 -1
  129. package/build/models/user-registration.js +3 -6
  130. package/build/models/user-registration.js.map +1 -1
  131. package/build/models/user.js +13 -16
  132. package/build/models/user.js.map +1 -1
  133. package/build/models/validation-report.js +7 -10
  134. package/build/models/validation-report.js.map +1 -1
  135. package/build/test/arcgis-group.js +7 -3
  136. package/build/test/arcgis-group.js.map +1 -1
  137. package/build/test/mock.js +7 -1
  138. package/build/test/mock.js.map +1 -1
  139. package/cspell.json +9 -13
  140. package/definitions/constants.d.ts +21 -2
  141. package/definitions/constants.d.ts.map +1 -1
  142. package/definitions/helpers.d.ts +1 -6
  143. package/definitions/helpers.d.ts.map +1 -1
  144. package/definitions/index.d.ts +179 -52
  145. package/definitions/index.d.ts.map +1 -1
  146. package/definitions/models/action-log.d.ts +37 -16
  147. package/definitions/models/action-log.d.ts.map +1 -1
  148. package/definitions/models/agency.d.ts +61 -622
  149. package/definitions/models/agency.d.ts.map +1 -1
  150. package/definitions/models/arcgis-group.d.ts +62 -118
  151. package/definitions/models/arcgis-group.d.ts.map +1 -1
  152. package/definitions/models/assignment.d.ts +34 -12
  153. package/definitions/models/assignment.d.ts.map +1 -1
  154. package/definitions/models/battalion.d.ts +60 -192
  155. package/definitions/models/battalion.d.ts.map +1 -1
  156. package/definitions/models/beacon-log.d.ts +34 -13
  157. package/definitions/models/beacon-log.d.ts.map +1 -1
  158. package/definitions/models/cad-incident-block.d.ts +35 -21
  159. package/definitions/models/cad-incident-block.d.ts.map +1 -1
  160. package/definitions/models/cad-incident-stream.d.ts +35 -13
  161. package/definitions/models/cad-incident-stream.d.ts.map +1 -1
  162. package/definitions/models/cad-incident.d.ts +31 -440
  163. package/definitions/models/cad-incident.d.ts.map +1 -1
  164. package/definitions/models/cad-simulation.d.ts +69 -113
  165. package/definitions/models/cad-simulation.d.ts.map +1 -1
  166. package/definitions/models/cad-status-map.d.ts +40 -27
  167. package/definitions/models/cad-status-map.d.ts.map +1 -1
  168. package/definitions/models/cad-status.d.ts +49 -85
  169. package/definitions/models/cad-status.d.ts.map +1 -1
  170. package/definitions/models/cad-vehicle-status-history.d.ts +34 -29
  171. package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
  172. package/definitions/models/cad-vehicle-status.d.ts +42 -41
  173. package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
  174. package/definitions/models/cad-vehicle.d.ts +39 -22
  175. package/definitions/models/cad-vehicle.d.ts.map +1 -1
  176. package/definitions/models/chart-device-stats.d.ts +44 -38
  177. package/definitions/models/chart-device-stats.d.ts.map +1 -1
  178. package/definitions/models/chart-incident.d.ts +40 -22
  179. package/definitions/models/chart-incident.d.ts.map +1 -1
  180. package/definitions/models/chart-managed-incident.d.ts +40 -22
  181. package/definitions/models/chart-managed-incident.d.ts.map +1 -1
  182. package/definitions/models/chart-user.d.ts +34 -12
  183. package/definitions/models/chart-user.d.ts.map +1 -1
  184. package/definitions/models/checklist-item.d.ts +38 -64
  185. package/definitions/models/checklist-item.d.ts.map +1 -1
  186. package/definitions/models/checklist.d.ts +42 -172
  187. package/definitions/models/checklist.d.ts.map +1 -1
  188. package/definitions/models/csv-import.d.ts +37 -16
  189. package/definitions/models/csv-import.d.ts.map +1 -1
  190. package/definitions/models/department.d.ts +199 -755
  191. package/definitions/models/department.d.ts.map +1 -1
  192. package/definitions/models/device-mapping.d.ts +33 -12
  193. package/definitions/models/device-mapping.d.ts.map +1 -1
  194. package/definitions/models/esri.d.ts +58 -684
  195. package/definitions/models/esri.d.ts.map +1 -1
  196. package/definitions/models/gst-mapping.d.ts +33 -12
  197. package/definitions/models/gst-mapping.d.ts.map +1 -1
  198. package/definitions/models/incident-event.d.ts +48 -129
  199. package/definitions/models/incident-event.d.ts.map +1 -1
  200. package/definitions/models/incident-notified.d.ts +45 -36
  201. package/definitions/models/incident-notified.d.ts.map +1 -1
  202. package/definitions/models/incident-takeover.d.ts +32 -11
  203. package/definitions/models/incident-takeover.d.ts.map +1 -1
  204. package/definitions/models/job-log.d.ts +36 -14
  205. package/definitions/models/job-log.d.ts.map +1 -1
  206. package/definitions/models/location.d.ts +45 -42
  207. package/definitions/models/location.d.ts.map +1 -1
  208. package/definitions/models/mail-log.d.ts +37 -16
  209. package/definitions/models/mail-log.d.ts.map +1 -1
  210. package/definitions/models/managed-incident.d.ts +138 -649
  211. package/definitions/models/managed-incident.d.ts.map +1 -1
  212. package/definitions/models/mark43-incident-retry.d.ts +44 -37
  213. package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
  214. package/definitions/models/message.d.ts +42 -33
  215. package/definitions/models/message.d.ts.map +1 -1
  216. package/definitions/models/monitor.d.ts +33 -12
  217. package/definitions/models/monitor.d.ts.map +1 -1
  218. package/definitions/models/personnel-import.d.ts +48 -128
  219. package/definitions/models/personnel-import.d.ts.map +1 -1
  220. package/definitions/models/personnel-known.d.ts +45 -91
  221. package/definitions/models/personnel-known.d.ts.map +1 -1
  222. package/definitions/models/personnel-roster.d.ts +40 -70
  223. package/definitions/models/personnel-roster.d.ts.map +1 -1
  224. package/definitions/models/rate-limit.d.ts +33 -12
  225. package/definitions/models/rate-limit.d.ts.map +1 -1
  226. package/definitions/models/release-note.d.ts +34 -13
  227. package/definitions/models/release-note.d.ts.map +1 -1
  228. package/definitions/models/remote-log-stream.d.ts +48 -54
  229. package/definitions/models/remote-log-stream.d.ts.map +1 -1
  230. package/definitions/models/remote-log.d.ts +52 -55
  231. package/definitions/models/remote-log.d.ts.map +1 -1
  232. package/definitions/models/schema/agency-cron-config.d.ts +80 -213
  233. package/definitions/models/schema/agency-cron-config.d.ts.map +1 -1
  234. package/definitions/models/schema/agency-saml.d.ts +37 -30
  235. package/definitions/models/schema/agency-saml.d.ts.map +1 -1
  236. package/definitions/models/schema/cad-incident.d.ts +157 -652
  237. package/definitions/models/schema/cad-incident.d.ts.map +1 -1
  238. package/definitions/models/schema/cad-status-option-selected.d.ts +35 -21
  239. package/definitions/models/schema/cad-status-option-selected.d.ts.map +1 -1
  240. package/definitions/models/schema/color.d.ts +33 -13
  241. package/definitions/models/schema/color.d.ts.map +1 -1
  242. package/definitions/models/schema/esri-auth.d.ts +38 -25
  243. package/definitions/models/schema/esri-auth.d.ts.map +1 -1
  244. package/definitions/models/schema/esri-error.d.ts +35 -21
  245. package/definitions/models/schema/esri-error.d.ts.map +1 -1
  246. package/definitions/models/schema/esri-map.d.ts +66 -190
  247. package/definitions/models/schema/esri-map.d.ts.map +1 -1
  248. package/definitions/models/schema/firemapper-auth.d.ts +39 -41
  249. package/definitions/models/schema/firemapper-auth.d.ts.map +1 -1
  250. package/definitions/models/schema/geojson-point.d.ts +33 -16
  251. package/definitions/models/schema/geojson-point.d.ts.map +1 -1
  252. package/definitions/models/schema/oauth.d.ts +34 -17
  253. package/definitions/models/schema/oauth.d.ts.map +1 -1
  254. package/definitions/models/schema/pubnub-token.d.ts +35 -18
  255. package/definitions/models/schema/pubnub-token.d.ts.map +1 -1
  256. package/definitions/models/schema/shared-incident.d.ts +100 -160
  257. package/definitions/models/schema/shared-incident.d.ts.map +1 -1
  258. package/definitions/models/schema/validation-error-item.d.ts +37 -26
  259. package/definitions/models/schema/validation-error-item.d.ts.map +1 -1
  260. package/definitions/models/session.d.ts +34 -24
  261. package/definitions/models/session.d.ts.map +1 -1
  262. package/definitions/models/smtp-unhandled.d.ts +33 -11
  263. package/definitions/models/smtp-unhandled.d.ts.map +1 -1
  264. package/definitions/models/template.d.ts +53 -130
  265. package/definitions/models/template.d.ts.map +1 -1
  266. package/definitions/models/user-device.d.ts +72 -133
  267. package/definitions/models/user-device.d.ts.map +1 -1
  268. package/definitions/models/user-registration.d.ts +32 -11
  269. package/definitions/models/user-registration.d.ts.map +1 -1
  270. package/definitions/models/user.d.ts +59 -430
  271. package/definitions/models/user.d.ts.map +1 -1
  272. package/definitions/models/validation-report.d.ts +47 -382
  273. package/definitions/models/validation-report.d.ts.map +1 -1
  274. package/definitions/test/mock.d.ts +1 -3
  275. package/definitions/test/mock.d.ts.map +1 -1
  276. package/package.json +2 -4
  277. package/src/constants.ts +23 -6
  278. package/src/helpers.ts +7 -8
  279. package/src/index.ts +10 -7
  280. package/src/models/action-log.ts +23 -15
  281. package/src/models/agency.ts +51 -21
  282. package/src/models/arcgis-group.ts +60 -18
  283. package/src/models/assignment.ts +30 -20
  284. package/src/models/battalion.ts +65 -37
  285. package/src/models/beacon-log.ts +17 -15
  286. package/src/models/cad-incident-block.ts +20 -16
  287. package/src/models/cad-incident-stream.ts +18 -15
  288. package/src/models/cad-incident.ts +6 -11
  289. package/src/models/cad-simulation.ts +93 -30
  290. package/src/models/cad-status-map.ts +21 -13
  291. package/src/models/cad-status.ts +46 -15
  292. package/src/models/cad-vehicle-status-history.ts +24 -17
  293. package/src/models/cad-vehicle-status.ts +38 -18
  294. package/src/models/cad-vehicle.ts +24 -13
  295. package/src/models/chart-device-stats.ts +25 -16
  296. package/src/models/chart-incident.ts +22 -16
  297. package/src/models/chart-managed-incident.ts +22 -16
  298. package/src/models/chart-user.ts +17 -15
  299. package/src/models/checklist-item.ts +29 -26
  300. package/src/models/checklist.ts +31 -25
  301. package/src/models/csv-import.ts +26 -14
  302. package/src/models/department.ts +552 -221
  303. package/src/models/device-mapping.ts +27 -14
  304. package/src/models/esri.ts +40 -30
  305. package/src/models/gst-mapping.ts +28 -16
  306. package/src/models/incident-event.ts +38 -18
  307. package/src/models/incident-notified.ts +31 -17
  308. package/src/models/incident-takeover.ts +23 -14
  309. package/src/models/job-log.ts +20 -15
  310. package/src/models/location.ts +45 -18
  311. package/src/models/mail-log.ts +26 -14
  312. package/src/models/managed-incident.ts +179 -32
  313. package/src/models/mark43-incident-retry.ts +31 -15
  314. package/src/models/message.ts +32 -16
  315. package/src/models/monitor.ts +19 -14
  316. package/src/models/personnel-import.ts +39 -18
  317. package/src/models/personnel-known.ts +30 -16
  318. package/src/models/personnel-roster.ts +23 -14
  319. package/src/models/rate-limit.ts +16 -14
  320. package/src/models/release-note.ts +18 -17
  321. package/src/models/remote-log-stream.ts +80 -27
  322. package/src/models/remote-log.ts +82 -27
  323. package/src/models/schema/agency-cron-config.ts +62 -7
  324. package/src/models/schema/agency-saml.ts +10 -2
  325. package/src/models/schema/cad-incident.ts +212 -40
  326. package/src/models/schema/cad-status-option-selected.ts +8 -2
  327. package/src/models/schema/color.ts +6 -2
  328. package/src/models/schema/esri-auth.ts +12 -3
  329. package/src/models/schema/esri-error.ts +8 -2
  330. package/src/models/schema/esri-map.ts +43 -5
  331. package/src/models/schema/firemapper-auth.ts +13 -3
  332. package/src/models/schema/geojson-point.ts +6 -2
  333. package/src/models/schema/oauth.ts +8 -3
  334. package/src/models/schema/pubnub-token.ts +9 -4
  335. package/src/models/schema/shared-incident.ts +54 -8
  336. package/src/models/schema/validation-error-item.ts +9 -2
  337. package/src/models/session.ts +33 -25
  338. package/src/models/smtp-unhandled.ts +15 -15
  339. package/src/models/template.ts +43 -25
  340. package/src/models/user-device.ts +66 -19
  341. package/src/models/user-registration.ts +26 -13
  342. package/src/models/user.ts +79 -27
  343. package/src/models/validation-report.ts +22 -16
  344. package/src/test/arcgis-group.ts +7 -7
  345. package/src/test/mock.ts +6 -4
  346. package/test/0index.js +9 -8
  347. package/test/action-log.js +18 -28
  348. package/test/agency.js +15 -27
  349. package/test/arcgis-group.js +6 -14
  350. package/test/assignment.js +14 -22
  351. package/test/battalion.js +14 -24
  352. package/test/cad-incident-block.js +13 -19
  353. package/test/cad-incident.js +70 -77
  354. package/test/cad-simulation.js +12 -20
  355. package/test/cad-status-map.js +13 -21
  356. package/test/cad-status.js +33 -42
  357. package/test/cad-vehicle-status-history.js +17 -26
  358. package/test/cad-vehicle-status.js +23 -32
  359. package/test/cad-vehicle.js +18 -27
  360. package/test/checklist-item.js +20 -29
  361. package/test/checklist.js +18 -25
  362. package/test/csv-import.js +22 -29
  363. package/test/department.js +62 -66
  364. package/test/device-mapping.js +18 -27
  365. package/test/esri.js +28 -34
  366. package/test/gst-mapping.js +17 -26
  367. package/test/incident-event.js +21 -28
  368. package/test/incident-notified.js +16 -25
  369. package/test/incident-takeover.js +18 -27
  370. package/test/job-log.js +16 -25
  371. package/test/location.js +30 -37
  372. package/test/mail-log.js +24 -33
  373. package/test/managed-incident.js +57 -66
  374. package/test/mark43-incident-retry.js +13 -22
  375. package/test/message.js +18 -27
  376. package/test/mock.js +20 -20
  377. package/test/monitor.js +14 -21
  378. package/test/personnel-import.js +29 -36
  379. package/test/rate-limit.js +12 -21
  380. package/test/release-note.js +5 -11
  381. package/test/session.js +23 -32
  382. package/test/template.js +19 -28
  383. package/test/user-device.js +30 -37
  384. package/test/user-registration.js +24 -33
  385. package/test/user.js +26 -35
  386. package/test/validation-report.js +10 -17
  387. package/build/models/schema/remote-file.js +0 -50
  388. package/build/models/schema/remote-file.js.map +0 -1
  389. package/definitions/models/schema/remote-file.d.ts +0 -44
  390. package/definitions/models/schema/remote-file.d.ts.map +0 -1
  391. package/src/models/schema/remote-file.ts +0 -53
@@ -1,52 +1,205 @@
1
1
  import {
2
- createSchema,
3
2
  currentDate,
4
- DocumentTypeFromSchema,
5
- FieldsOfDocument,
6
- ModelFromSchema,
7
- MongooseDocument,
8
3
  MongooseModule,
9
4
  } from "../../helpers";
10
5
 
11
6
  import * as uuid from "uuid";
12
7
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
13
- import { IncidentEventSchema } from "../incident-event";
8
+ import { IncidentEventSchema, IncidentEvent } from "../incident-event";
14
9
  import {
15
10
  CADPersonSchema,
11
+ CADPersonSchemaType,
16
12
  RadioChannelSchema,
13
+ RadioChannelSchemaType,
17
14
  RecordSchema,
15
+ RecordSchemaType,
18
16
  ReportNumberSchema,
17
+ ReportNumberSchemaType,
19
18
  SharedSourceSchema,
19
+ SharedSourceSchemaType,
20
20
  SharedToSchema,
21
+ SharedToSchemaType,
21
22
  } from "./shared-incident";
23
+ import { Types } from "mongoose";
22
24
 
23
- export function CADIncidentSchema(mongoose: MongooseModule) {
24
- const toJSONOpts = {
25
- versionKey: false,
26
- transform(doc: DocumentTypeFromSchema<typeof modelSchema>, ret: FieldsOfDocument<DocumentTypeFromSchema<typeof modelSchema>>) {
27
- strictSchema(doc.schema, ret);
28
- },
29
- };
25
+ interface CADCommentOptsTypes {
26
+ type: string,
27
+ item: string,
28
+ }
29
+
30
+ interface CADCommentType extends Record<string, unknown> {
31
+ Comment: string,
32
+ CommentSource: string,
33
+ CommentDateTime: string,
34
+ CommentConfidential: boolean,
35
+ CommentOpts: CADCommentOptsTypes
36
+ }
37
+
38
+ interface CADUnitType extends Record<string, unknown> {
39
+ UnitID: string,
40
+ UnitDispatchNumber: string,
41
+ AlarmAtDispatch: string,
42
+ TimeDispatched: string,
43
+ TimeEnroute: string,
44
+ TimeArrived: string,
45
+ TimeStaged: string,
46
+ TimeCleared: string,
47
+ TimeAtHospital: string,
48
+ TimePatient: string,
49
+ TimeTransport: string,
50
+ TimeTransporting: string,
51
+ PersonnelCount: number,
52
+ Personnel: CADPersonSchemaType[],
53
+ uuid: string,
54
+ }
30
55
 
31
- const { Schema, Types } = mongoose;
56
+ interface APNNotificationTypeType {
57
+ name: string,
58
+ value: string,
59
+ }
60
+
61
+ interface CADPriorIncidentType {
62
+ Address: string,
63
+ Comment: CADCommentType[],
64
+ IncidentDateTime: string,
65
+ IncidentNumber: string,
66
+ Jurisdiction: string,
67
+ Problem: string,
68
+ Suite: string,
69
+ }
70
+ export interface CADIncidentSchemaType extends Record<string, unknown> {
71
+ _id: Types.ObjectId,
72
+ id?: string,
73
+ uuid: string,
74
+ departmentId: string,
75
+ AgencyID: string,
76
+ IncidentNumber: string,
77
+ TransactionID: string,
78
+ AgencyIncidentCallTypeDescription: string,
79
+ AgencyIncidentCallType: string,
80
+ AgencyIncidentCallSubTypeDescription: string,
81
+ AgencyIncidentCallSubType: string,
82
+ AgencyIncidentPriorityDescription: string,
83
+ PulsePointIncidentCallType: string,
84
+ PulsePointDeterminantCode: string,
85
+ AlarmLevel: string,
86
+ CommandName: string,
87
+ FireMap: string,
88
+ TBMap: string,
89
+ MapPages: string,
90
+ TacticalChannel: string,
91
+ TacticalAltChannel: string,
92
+ CommandChannel: string,
93
+ EntryDateTime: string,
94
+ ClosedDateTime: string,
95
+ CallReceivedDateTime: string,
96
+ DispatchDateTime: string,
97
+ IncidentLastUpdate: string,
98
+ EnrouteDateTime: string,
99
+ OnSceneDateTime: string,
100
+ modified_date: string,
101
+ modified_unix_date: number
102
+ modified: Date,
103
+ start_unix_date: number,
104
+ closed_unix_date: number,
105
+ queued_at: number,
106
+ scheduled_at: number,
107
+ ignored: boolean,
108
+ expiration_date: Date,
109
+ StreetName: string,
110
+ StreetSuffix: string,
111
+ Predirectional: string,
112
+ Postdirectional: string,
113
+ CityOrLocality: string,
114
+ StateOrProvince: string,
115
+ StateOfProvince: string,
116
+ CommonPlaceName: string,
117
+ CrossStreet1: string,
118
+ CrossStreet2: string,
119
+ StreetNumber: string,
120
+ Building: string,
121
+ Floor: string,
122
+ Suite: string,
123
+ City: string,
124
+ County: string,
125
+ PostalCode: string,
126
+ CrossStreetName: string,
127
+ LocationComment: string,
128
+ full_address: string,
129
+ address: string,
130
+ cross_streets: string,
131
+ PriorIncidentChanged: boolean,
132
+ PriorIncident: CADPriorIncidentType[],
133
+ CallerNumber: string,
134
+ ReportNumber: ReportNumberSchemaType[]
135
+ radioChannels: RadioChannelSchemaType[],
136
+ Latitude: number,
137
+ Longitude: number,
138
+ Comment: CADCommentType[]
139
+ units: CADUnitType[]
140
+ events: IncidentEvent[],
141
+ preference_location: string,
142
+ simulation: boolean,
143
+ simulationId: string,
144
+ simulationSequences: number[],
145
+ notify: boolean,
146
+ rts: boolean,
147
+ notificationType: APNNotificationTypeType[],
148
+ sharedTo: SharedToSchemaType[],
149
+ sharedSource: SharedSourceSchemaType,
150
+ record: RecordSchemaType,
151
+ }
152
+
153
+ export function CADIncidentSchema(mongoose: MongooseModule) {
154
+ const { Schema } = mongoose;
32
155
  const IncidentEvent = IncidentEventSchema(mongoose);
33
156
 
34
157
  // Share incident properties - copy to managed incidents
35
158
  const CADPerson = CADPersonSchema(mongoose);
36
- CADPerson.set("toJSON", toJSONOpts);
159
+ CADPerson.set("toJSON", {
160
+ versionKey: false,
161
+ transform(doc, ret) {
162
+ strictSchema(doc.schema as typeof modelSchema, ret);
163
+ }
164
+ });
37
165
  const RadioChannel = RadioChannelSchema(mongoose);
38
- RadioChannel.set("toJSON", toJSONOpts);
166
+ RadioChannel.set("toJSON", {
167
+ versionKey: false,
168
+ transform(doc, ret) {
169
+ strictSchema(doc.schema as typeof modelSchema, ret);
170
+ }
171
+ });
39
172
  const RecordValue = RecordSchema(mongoose);
40
- RecordValue.set("toJSON", toJSONOpts);
173
+ RecordValue.set("toJSON", {
174
+ versionKey: false,
175
+ transform(doc, ret) {
176
+ strictSchema(doc.schema as typeof modelSchema, ret);
177
+ }
178
+ });
41
179
  const ReportNumber = ReportNumberSchema(mongoose);
42
- ReportNumber.set("toJSON", toJSONOpts);
180
+ ReportNumber.set("toJSON", {
181
+ versionKey: false,
182
+ transform(doc, ret) {
183
+ strictSchema(doc.schema as typeof modelSchema, ret);
184
+ }
185
+ });
43
186
  const SharedSource = SharedSourceSchema(mongoose);
44
- SharedSource.set("toJSON", toJSONOpts);
187
+ SharedSource.set("toJSON", {
188
+ versionKey: false,
189
+ transform(doc, ret) {
190
+ strictSchema(doc.schema as typeof modelSchema, ret);
191
+ }
192
+ });
45
193
  const SharedTo = SharedToSchema(mongoose);
46
- SharedTo.set("toJSON", toJSONOpts);
194
+ SharedTo.set("toJSON", {
195
+ versionKey: false,
196
+ transform(doc, ret) {
197
+ strictSchema(doc.schema as typeof modelSchema, ret);
198
+ }
199
+ });
47
200
 
48
201
  // Currently, supporting type: "ack", item: "knife"
49
- const CADCommentOpts = createSchema(Schema, {
202
+ const CADCommentOpts = new Schema<CADCommentOptsTypes>({
50
203
  type: {
51
204
  type: String,
52
205
  },
@@ -57,9 +210,11 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
57
210
  _id: false,
58
211
  id: false,
59
212
  });
60
- CADCommentOpts.set("toJSON", toJSONOpts);
213
+ CADCommentOpts.set("toJSON", {
61
214
 
62
- const CADComment = createSchema(Schema, {
215
+ });
216
+
217
+ const CADComment = new Schema<CADCommentType>({
63
218
  Comment: {
64
219
  type: String,
65
220
  },
@@ -80,9 +235,14 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
80
235
  _id: false,
81
236
  id: false,
82
237
  });
83
- CADComment.set("toJSON", toJSONOpts);
238
+ CADComment.set("toJSON", {
239
+ versionKey: false,
240
+ transform(doc, ret) {
241
+ strictSchema(doc.schema as typeof modelSchema, ret);
242
+ }
243
+ });
84
244
 
85
- const CADUnit = createSchema(Schema, {
245
+ const CADUnit = new Schema<CADUnitType>({
86
246
  UnitID: {
87
247
  type: String,
88
248
  required: true,
@@ -137,9 +297,14 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
137
297
  _id: false,
138
298
  id: false,
139
299
  });
140
- CADUnit.set("toJSON", toJSONOpts);
300
+ CADUnit.set("toJSON", {
301
+ versionKey: false,
302
+ transform(doc, ret) {
303
+ strictSchema(doc.schema as typeof modelSchema, ret);
304
+ }
305
+ });
141
306
 
142
- const APNNotificationType = createSchema(Schema, {
307
+ const APNNotificationType = new Schema<APNNotificationTypeType>({
143
308
  name: {
144
309
  type: String,
145
310
  },
@@ -150,9 +315,14 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
150
315
  _id: false,
151
316
  id: false,
152
317
  });
153
- APNNotificationType.set("toJSON", toJSONOpts);
318
+ APNNotificationType.set("toJSON", {
319
+ versionKey: false,
320
+ transform(doc, ret) {
321
+ strictSchema(doc.schema as typeof modelSchema, ret);
322
+ }
323
+ });
154
324
 
155
- const CADPriorIncident = createSchema(Schema, {
325
+ const CADPriorIncident = new Schema<CADPriorIncidentType>({
156
326
  Address: {
157
327
  type: String,
158
328
  },
@@ -178,12 +348,17 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
178
348
  _id: false,
179
349
  id: false,
180
350
  });
181
- CADPriorIncident.set("toJSON", toJSONOpts);
351
+ CADPriorIncident.set("toJSON", {
352
+ versionKey: false,
353
+ transform(doc, ret) {
354
+ strictSchema(doc.schema as typeof modelSchema, ret);
355
+ }
356
+ });
182
357
 
183
358
  // Main schema
184
- const modelSchema = createSchema(Schema, {
359
+ const modelSchema = new Schema<CADIncidentSchemaType>({
185
360
  _id: {
186
- type: Types.ObjectId,
361
+ type: Schema.Types.ObjectId,
187
362
  auto: true,
188
363
  },
189
364
  uuid: {
@@ -481,29 +656,26 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
481
656
  // collection: "massive_incident_cad",
482
657
  // strict: false, // Because we accept all kind of data in
483
658
  });
659
+ modelSchema.virtual("id").get(function (this: CADIncidentSchemaType) {
660
+ return this._id.toString();
661
+ });
484
662
 
485
663
  modelSchema.set("toJSON", {
486
664
  virtuals: true,
487
665
  versionKey: false,
488
- transform(doc: ModelFromSchema<typeof modelSchema>, ret: DocumentTypeFromSchema<typeof modelSchema>) {
666
+ transform(doc, ret: Record<string, unknown>) {
489
667
  // Remove fields that should not be here
490
668
  delete (ret as unknown as { apikey: unknown }).apikey;
491
669
 
492
670
  strictSchema(doc.schema as typeof modelSchema, ret);
493
-
494
- ret.id = ret._id;
495
671
  },
496
672
  });
497
673
 
498
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
499
- // tslint:disable-next-line: no-unsafe-any
500
- return this._id.toString();
501
- });
502
674
 
503
675
  const ignoreFields: ReadonlyArray<string> = ["station", "callerNumber"];
504
676
 
505
677
  function strictSchema(schema: typeof modelSchema, ret: Record<string, unknown>) {
506
- Object.keys(ret).forEach(function(element) {
678
+ Object.keys(ret).forEach(function (element) {
507
679
  // Don't complain about the virtuals
508
680
  if (element === "id") {
509
681
  return;
@@ -1,12 +1,18 @@
1
1
  import {
2
2
  MongooseModule,
3
- createSchema,
4
3
  } from "../../helpers";
5
4
 
5
+ export interface CADStatusOptionSelectedSchemaType {
6
+ name: string,
7
+ type: string,
8
+ value: string,
9
+ key: string,
10
+ }
11
+
6
12
  export default function CADStatusOptionSelectedSchema(mongoose: MongooseModule) {
7
13
  const { Schema } = mongoose;
8
14
 
9
- const Item = createSchema(Schema, {
15
+ const Item = new Schema<CADStatusOptionSelectedSchemaType>({
10
16
  name: {
11
17
  type: String,
12
18
  default: "",
@@ -1,12 +1,16 @@
1
1
  import {
2
2
  MongooseModule,
3
- createSchema,
4
3
  } from "../../helpers";
5
4
 
5
+ export interface ColorSchemaType extends Record<string, unknown> {
6
+ background: string,
7
+ text: string,
8
+ }
9
+
6
10
  export default function ColorSchema(mongoose: MongooseModule) {
7
11
  const { Schema } = mongoose;
8
12
 
9
- const Color = createSchema(Schema, {
13
+ const Color = new Schema<ColorSchemaType>({
10
14
  background: {
11
15
  type: String,
12
16
  default: "#851414", // Red-like
@@ -1,12 +1,21 @@
1
1
  import {
2
- createSchema,
3
2
  MongooseModule,
4
3
  } from "../../helpers";
5
4
 
5
+ interface EsriAuthPasswordType {
6
+ iv: string,
7
+ encryptedData: string,
8
+ }
9
+
10
+ export interface EsriAuthSchemaType {
11
+ username: string,
12
+ encrypted: EsriAuthPasswordType
13
+ }
14
+
6
15
  export default function EsriAuthSchema(mongoose: MongooseModule) {
7
16
  const { Schema } = mongoose;
8
17
 
9
- const EsriAuthPassword = createSchema(Schema, {
18
+ const EsriAuthPassword = new Schema<EsriAuthPasswordType>({
10
19
  iv: {
11
20
  type: String,
12
21
  default: "",
@@ -20,7 +29,7 @@ export default function EsriAuthSchema(mongoose: MongooseModule) {
20
29
  id: false,
21
30
  });
22
31
 
23
- const EsriAuth = createSchema(Schema, {
32
+ const EsriAuth = new Schema<EsriAuthSchemaType>({
24
33
  username: {
25
34
  type: String,
26
35
  default: "",
@@ -1,12 +1,18 @@
1
1
  import {
2
- createSchema,
3
2
  MongooseModule,
4
3
  } from "../../helpers";
5
4
 
5
+ export interface EsriErrorSchemaType {
6
+ code: number,
7
+ error: string,
8
+ error_description: string,
9
+ message: string,
10
+ }
11
+
6
12
  export default function EsriErrorSchema(mongoose: MongooseModule) {
7
13
  const { Schema } = mongoose;
8
14
 
9
- const EsriError = createSchema(Schema, {
15
+ const EsriError = new Schema<EsriErrorSchemaType>({
10
16
  code: {
11
17
  type: Number,
12
18
  default: 1,
@@ -1,12 +1,50 @@
1
1
  import {
2
- createSchema,
3
2
  MongooseModule,
4
3
  } from "../../helpers";
5
4
 
5
+ interface MapLayerType {
6
+ layerId: string,
7
+ itemId: string,
8
+ title: string,
9
+ layerType: string,
10
+ url: string,
11
+ visibility: boolean,
12
+ opacity: number,
13
+ access: string,
14
+ owner: string,
15
+ }
16
+
17
+ interface BaseMapType {
18
+ baseMapLayers: MapLayerType[],
19
+ title: string,
20
+ }
21
+
22
+ interface SimpleMapSchemaType {
23
+ itemId: string,
24
+ title: string,
25
+ url: string,
26
+ access: string,
27
+ owner: string,
28
+ type: string,
29
+ modified: number,
30
+ modifiedAt: Date,
31
+ }
32
+
33
+ interface OfflineMapType extends SimpleMapSchemaType { status: string }
34
+
35
+ export interface EsriMapType extends SimpleMapSchemaType {
36
+ mapLayers: MapLayerType[]
37
+ baseMap: BaseMapType
38
+ offline: OfflineMapType[]
39
+ tags: string[],
40
+ development: boolean,
41
+ size: number,
42
+ }
43
+
6
44
  export default function EsriMapSchema(mongoose: MongooseModule) {
7
45
  const { Schema } = mongoose;
8
46
 
9
- const MapLayer = createSchema(Schema, {
47
+ const MapLayer = new Schema<MapLayerType>({
10
48
  layerId: {
11
49
  type: String,
12
50
  default: "",
@@ -48,7 +86,7 @@ export default function EsriMapSchema(mongoose: MongooseModule) {
48
86
  id: false,
49
87
  });
50
88
 
51
- const BaseMap = createSchema(Schema, {
89
+ const BaseMap = new Schema<BaseMapType>({
52
90
  baseMapLayers: {
53
91
  type: [MapLayer],
54
92
  default: [],
@@ -97,7 +135,7 @@ export default function EsriMapSchema(mongoose: MongooseModule) {
97
135
  },
98
136
  };
99
137
 
100
- const OfflineMap = createSchema(Schema, {
138
+ const OfflineMap = new Schema<OfflineMapType>({
101
139
  ...SimpleMapSchema,
102
140
  status: {
103
141
  type: String,
@@ -108,7 +146,7 @@ export default function EsriMapSchema(mongoose: MongooseModule) {
108
146
  id: false,
109
147
  });
110
148
 
111
- const Map = createSchema(Schema, {
149
+ const Map = new Schema<EsriMapType>({
112
150
  ...SimpleMapSchema,
113
151
  mapLayers: {
114
152
  type: [MapLayer],
@@ -1,12 +1,22 @@
1
1
  import {
2
- createSchema,
3
2
  MongooseModule,
4
3
  } from "../../helpers";
5
4
 
5
+ interface FireMapperEncryptedType {
6
+ iv: string,
7
+ encryptedData: string,
8
+ }
9
+
10
+ export interface FireMapperAuthType {
11
+ username: string,
12
+ encrypted: FireMapperEncryptedType
13
+ encryptedAccessCode: FireMapperEncryptedType
14
+ }
15
+
6
16
  export default function FireMapperAuthSchema(mongoose: MongooseModule) {
7
17
  const { Schema } = mongoose;
8
18
 
9
- const FireMapperEncrypted = createSchema(Schema, {
19
+ const FireMapperEncrypted = new Schema<FireMapperEncryptedType>({
10
20
  iv: {
11
21
  type: String,
12
22
  default: "",
@@ -20,7 +30,7 @@ export default function FireMapperAuthSchema(mongoose: MongooseModule) {
20
30
  id: false,
21
31
  });
22
32
 
23
- const FireMapperAuth = createSchema(Schema, {
33
+ const FireMapperAuth = new Schema<FireMapperAuthType>({
24
34
  username: {
25
35
  type: String,
26
36
  default: "",
@@ -1,12 +1,16 @@
1
1
  import {
2
- createSchema,
3
2
  MongooseModule,
4
3
  } from "../../helpers";
5
4
 
5
+ export interface GeoJSONPointType {
6
+ type: string
7
+ coordinates: number[]
8
+ }
9
+
6
10
  export default function GeoJSONPointSchema(mongoose: MongooseModule) {
7
11
  const { Schema } = mongoose;
8
12
 
9
- const GeoJSONPoint = createSchema(Schema, {
13
+ const GeoJSONPoint = new Schema<GeoJSONPointType>({
10
14
  type: {
11
15
  type: String,
12
16
  required: true,
@@ -1,12 +1,17 @@
1
1
  import {
2
2
  MongooseModule,
3
- createSchema,
4
3
  } from "../../helpers";
5
4
 
5
+ export interface OAuthSchemaType {
6
+ accessToken: string,
7
+ refreshToken: string,
8
+ expireAt: Date,
9
+ }
10
+
6
11
  export default function OAuthSchema(mongoose: MongooseModule) {
7
12
  const { Schema } = mongoose;
8
13
 
9
- const Item = createSchema(Schema, {
14
+ const Item = new Schema<OAuthSchemaType>({
10
15
  accessToken: {
11
16
  type: String,
12
17
  default: "",
@@ -22,7 +27,7 @@ export default function OAuthSchema(mongoose: MongooseModule) {
22
27
  }, {
23
28
  _id: false,
24
29
  id: false,
25
- });
30
+ });
26
31
 
27
32
  return Item;
28
33
  }
@@ -1,13 +1,18 @@
1
1
  import {
2
2
  MongooseModule,
3
- createSchema,
4
3
  currentDate,
5
4
  } from "../../helpers";
6
5
 
6
+ export interface PubNubTokenSchemaType {
7
+ token: string,
8
+ expireAt: Date,
9
+ runAt: Date | string,
10
+ }
11
+
7
12
  export default function PubNubTokenSchema(mongoose: MongooseModule) {
8
13
  const { Schema } = mongoose;
9
14
 
10
- const Item = createSchema(Schema, {
15
+ const Item = new Schema<PubNubTokenSchemaType>({
11
16
  token: {
12
17
  type: String,
13
18
  default: "",
@@ -17,13 +22,13 @@ export default function PubNubTokenSchema(mongoose: MongooseModule) {
17
22
  default: currentDate,
18
23
  },
19
24
  runAt: {
20
- type: Date,
25
+ type: Date || String,
21
26
  default: "",
22
27
  },
23
28
  }, {
24
29
  _id: false,
25
30
  id: false,
26
- });
31
+ });
27
32
 
28
33
  return Item;
29
34
  }