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,23 +1,57 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createModel,
4
- createSchema,
5
3
  currentDate,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
4
  MongooseModule,
9
- ReplaceModelReturnType,
10
5
  retrieveCurrentUnixTime,
11
6
  } from "../helpers";
12
- import AgencyCronConfigModule from "./schema/agency-cron-config";
13
- import AgencySAMLModule from "./schema/agency-saml";
7
+ import AgencyCronConfigModule, { AgencyCronConfigType } from "./schema/agency-cron-config";
8
+ import AgencySAMLModule, { AgencySAMLSchemaType } from "./schema/agency-saml";
9
+ import { Model, Types } from "mongoose";
10
+
11
+ interface AgencyLicensing extends Record<string, unknown> {
12
+ tcPro: number,
13
+ tcManager: number,
14
+ tcStatus: number,
15
+ tcMobile: number,
16
+ tcWeb: number,
17
+ fireMapperPro: number,
18
+ locationToCAD: number,
19
+ }
20
+
21
+ interface CrossStaffedUnitType {
22
+ radioName: string,
23
+ crossStaffedUnits: string[],
24
+ alwaysCrossStaff: boolean,
25
+ }
26
+
27
+ export interface Agency extends Record<string, unknown> {
28
+ _id: Types.ObjectId,
29
+ code: string,
30
+ name: string,
31
+ domain: string
32
+ personnelApiKey: string,
33
+ agencyApiKey: string,
34
+ uuid: string,
35
+ modified_unix_date: number,
36
+ modified: Date,
37
+ active: boolean,
38
+ departmentId: Types.ObjectId,
39
+ administrators: Types.ObjectId[],
40
+ personnelIntegration: boolean,
41
+ personnelMonitorHours: number,
42
+ crossStaffing: CrossStaffedUnitType[],
43
+ licensing: AgencyLicensing,
44
+ cronConfig: AgencyCronConfigType,
45
+ saml: AgencySAMLSchemaType[],
46
+ activeUserCount: number,
47
+ }
14
48
 
15
49
  export function AgencySchema(mongoose: MongooseModule) {
16
- const { Schema, Types } = mongoose;
50
+ const { Schema } = mongoose;
17
51
  const AgencyCronConfig = AgencyCronConfigModule(mongoose);
18
52
  const AgencySAML = AgencySAMLModule(mongoose);
19
53
 
20
- const CrossStaffedUnit = createSchema(Schema, {
54
+ const CrossStaffedUnit = new Schema<CrossStaffedUnitType>({
21
55
  radioName: {
22
56
  type: String,
23
57
  default: "",
@@ -45,9 +79,9 @@ export function AgencySchema(mongoose: MongooseModule) {
45
79
  locationToCAD: 0
46
80
  };
47
81
 
48
- const modelSchema = createSchema(Schema, {
82
+ const modelSchema = new Schema<Agency>({
49
83
  _id: {
50
- type: Types.ObjectId,
84
+ type: Schema.Types.ObjectId,
51
85
  auto: true,
52
86
  },
53
87
  code: {
@@ -89,12 +123,12 @@ export function AgencySchema(mongoose: MongooseModule) {
89
123
  default: false,
90
124
  },
91
125
  departmentId: {
92
- type: Types.ObjectId,
126
+ type: Schema.Types.ObjectId,
93
127
  ref: "Department",
94
128
  required: true
95
129
  },
96
130
  administrators: {
97
- type: [Types.ObjectId],
131
+ type: [Schema.Types.ObjectId],
98
132
  ref: "User",
99
133
  default: []
100
134
  },
@@ -128,18 +162,14 @@ export function AgencySchema(mongoose: MongooseModule) {
128
162
  default: 0,
129
163
  },
130
164
  }, {
131
- collection: "massive_agency",
165
+ autoIndex: false,
132
166
  });
133
- modelSchema.set("autoIndex", false);
134
-
135
167
  return modelSchema;
136
168
  }
137
169
 
138
- export async function AgencyModule(mongoose: MongooseModule) {
170
+ export default async function AgencyModule(mongoose: MongooseModule) {
139
171
  const modelSchema = AgencySchema(mongoose);
140
- return createModel(mongoose, "Agency", modelSchema);
172
+ return mongoose.model<Agency>("Agency", modelSchema, "massive_agency", { overwriteModels: true });
141
173
  }
142
174
 
143
- export interface Agency extends ItemTypeFromTypeSchemaFunction<typeof AgencyModule> { }
144
- export interface AgencyModel extends ModelTypeFromTypeSchemaFunction<Agency> { }
145
- export default AgencyModule as ReplaceModelReturnType<typeof AgencyModule, AgencyModel>;
175
+ export interface AgencyModel extends Model<Agency> { }
@@ -1,18 +1,63 @@
1
1
  // import * as uuid from "uuid";
2
+ import { Model } from "mongoose";
2
3
  import {
3
- createModel,
4
- createSchema,
5
4
  currentDate,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
5
  MongooseModule,
9
- ReplaceModelReturnType,
10
6
  } from "../helpers";
7
+ interface ArcGISGroupUserType {
8
+ username: string,
9
+ fullName: string,
10
+ memberType: string,
11
+ orgId: string,
12
+ }
13
+
14
+ interface ArcGISUserInvitationType {
15
+ username: string,
16
+ atDate: Date,
17
+ invitedBy: string,
18
+ }
19
+
20
+ interface ArcGISDepartmentUserType {
21
+ username: string,
22
+ // TC user account email
23
+ email: string,
24
+ // TC user id
25
+ userId: string,
26
+ }
27
+
28
+ interface ArcGISDepartmentType {
29
+
30
+ department: string,
31
+ departmentId: string,
32
+ authUsername: string,
33
+ authError: string,
34
+ users: ArcGISDepartmentUserType[]
11
35
 
12
- export async function ArcGISGroupModule(mongoose: MongooseModule) {
36
+ }
37
+
38
+ export interface ArcGISGroup {
39
+ groupId: string,
40
+ title: string,
41
+ protected: boolean
42
+ owner: string,
43
+ access: string,
44
+ membershipAccess: string,
45
+ users: ArcGISGroupUserType[]
46
+ outsiders: ArcGISGroupUserType[]
47
+ removableUsers: ArcGISGroupUserType[]
48
+ externalOrgIds: string[]
49
+ invited: ArcGISUserInvitationType[]
50
+ linkedDepartments: ArcGISDepartmentType[]
51
+ modified: Date,
52
+ createdBy: string,
53
+ runAt: Date | string,
54
+
55
+ }
56
+
57
+ export default async function ArcGISGroupModule(mongoose: MongooseModule) {
13
58
  const { Schema } = mongoose;
14
59
 
15
- const ArcGISGroupUser = createSchema(Schema, {
60
+ const ArcGISGroupUser = new Schema<ArcGISGroupUserType>({
16
61
  username: {
17
62
  type: String,
18
63
  default: "",
@@ -34,7 +79,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
34
79
  id: false,
35
80
  });
36
81
 
37
- const ArcGISUserInvitation = createSchema(Schema, {
82
+ const ArcGISUserInvitation = new Schema<ArcGISUserInvitationType>({
38
83
  username: {
39
84
  type: String,
40
85
  default: "",
@@ -52,7 +97,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
52
97
  id: false,
53
98
  });
54
99
 
55
- const ArcGISDepartmentUser = createSchema(Schema, {
100
+ const ArcGISDepartmentUser = new Schema<ArcGISDepartmentUserType>({
56
101
  // ArcGIS username
57
102
  username: {
58
103
  type: String,
@@ -73,7 +118,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
73
118
  id: false,
74
119
  });
75
120
 
76
- const ArcGISDepartment = createSchema(Schema, {
121
+ const ArcGISDepartment = new Schema<ArcGISDepartmentType>({
77
122
  department: {
78
123
  type: String,
79
124
  default: "",
@@ -99,7 +144,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
99
144
  id: false,
100
145
  });
101
146
 
102
- const modelSchema = createSchema(Schema, {
147
+ const modelSchema = new Schema<ArcGISGroup>({
103
148
  // Unique, to be able to use replaceInto
104
149
  groupId: {
105
150
  type: String,
@@ -166,17 +211,14 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
166
211
  // if date is in the past, we should refresh this
167
212
  // at run success, update this date to a date in the future
168
213
  runAt: {
169
- type: Date,
214
+ type: Date || String,
170
215
  default: "",
171
216
  },
172
217
  }, {
173
- collection: "massive_arcgis_group",
218
+ autoIndex: false,
174
219
  });
175
- modelSchema.set("autoIndex", false);
176
220
 
177
- return createModel(mongoose, "ArcGISGroup", modelSchema);
221
+ return mongoose.model<ArcGISGroup>("ArcGISGroup", modelSchema, "massive_arcgis_group", { overwriteModels: true });
178
222
  }
179
223
 
180
- export interface ArcGISGroup extends ItemTypeFromTypeSchemaFunction<typeof ArcGISGroupModule> { }
181
- export interface ArcGISGroupModel extends ModelTypeFromTypeSchemaFunction<ArcGISGroup> { }
182
- export default ArcGISGroupModule as ReplaceModelReturnType<typeof ArcGISGroupModule, ArcGISGroupModel>;
224
+ export interface ArcGISGroupModel extends Model<ArcGISGroup> { }
@@ -1,24 +1,37 @@
1
1
  import * as uuid from "uuid";
2
2
 
3
3
  import {
4
- createModel,
5
- createSchema,
6
4
  currentDate,
7
- DocumentTypeFromSchema,
8
- ItemTypeFromTypeSchemaFunction,
9
- ModelFromSchema,
10
- ModelTypeFromTypeSchemaFunction,
11
5
  MongooseModule,
12
- ReplaceModelReturnType,
13
6
  retrieveCurrentUnixTime,
14
7
  } from "../helpers";
8
+ import { Model, Types } from "mongoose";
15
9
 
16
- export async function AssignmentModule(mongoose: MongooseModule) {
17
- const { Schema, Types } = mongoose;
10
+ export interface Assignment extends Record<string, unknown> {
11
+ _id: Types.ObjectId,
12
+ id: string,
13
+ uuid: string,
14
+ active: boolean,
15
+ userId: string,
16
+ departmentId: string,
17
+ isMandatory: boolean,
18
+ modified: Date,
19
+ // Deprecated
20
+ modified_date: string,
21
+ // Deprecated
22
+ modified_unix_date: number,
23
+ position: number,
24
+ name: string,
25
+ description: string,
26
+ full_description: string,
27
+ }
28
+
29
+ export default async function AssignmentModule(mongoose: MongooseModule) {
30
+ const { Schema } = mongoose;
18
31
 
19
- const modelSchema = createSchema(Schema, {
32
+ const modelSchema = new Schema<Assignment>({
20
33
  _id: {
21
- type: Types.ObjectId,
34
+ type: Schema.Types.ObjectId,
22
35
  auto: true,
23
36
  },
24
37
  uuid: {
@@ -52,7 +65,6 @@ export async function AssignmentModule(mongoose: MongooseModule) {
52
65
  type: Number,
53
66
  default: retrieveCurrentUnixTime,
54
67
  },
55
-
56
68
  //
57
69
  position: {
58
70
  type: Number,
@@ -71,20 +83,18 @@ export async function AssignmentModule(mongoose: MongooseModule) {
71
83
  default: "",
72
84
  },
73
85
  }, {
74
- collection: "massive_assignment",
86
+ autoIndex: false,
75
87
  });
76
88
  modelSchema.set("autoIndex", false);
89
+ modelSchema.virtual("id").get(function (this: Assignment) {
90
+ return this._id.toString();
91
+ });
77
92
  modelSchema.set("toJSON", {
78
93
  virtuals: true,
79
94
  versionKey: false,
80
- transform(doc: ModelFromSchema<typeof modelSchema>, ret: DocumentTypeFromSchema<typeof modelSchema>) {
81
- ret.id = ret._id.toString();
82
- },
83
95
  });
84
96
 
85
- return createModel(mongoose, "Assignment", modelSchema);
97
+ return mongoose.model<Assignment>("Assignment", modelSchema, "massive_assignment", { overwriteModels: true });
86
98
  }
87
99
 
88
- export interface Assignment extends ItemTypeFromTypeSchemaFunction<typeof AssignmentModule> { }
89
- export interface AssignmentModel extends ModelTypeFromTypeSchemaFunction<Assignment> { }
90
- export default AssignmentModule as ReplaceModelReturnType<typeof AssignmentModule, AssignmentModel>;
100
+ export interface AssignmentModel extends Model<Assignment> { }
@@ -3,32 +3,52 @@ import * as uuid from "uuid";
3
3
  import {
4
4
  MongooseModule,
5
5
  MongooseDocument,
6
- createSchema,
7
6
  currentDate,
8
- DocumentTypeFromSchema,
9
- ModelFromSchema,
10
- createModel,
11
- FieldsOfDocument,
12
- ItemTypeFromTypeSchemaFunction,
13
- ModelTypeFromTypeSchemaFunction,
14
- ReplaceModelReturnType,
15
7
  retrieveCurrentUnixTime
16
8
  } from "../helpers";
17
9
 
18
- export function BattalionSchema(mongoose: MongooseModule) {
19
- const { Schema, Types } = mongoose;
20
- const toJSONOpts = {
21
- virtuals: true,
22
- versionKey: false,
23
- transform(doc: DocumentTypeFromSchema<typeof modelSchema>, ret: FieldsOfDocument<DocumentTypeFromSchema<typeof modelSchema>>) {
24
- strictSchema(doc.schema, ret);
25
- ret.id = ret._id;
26
- },
27
- };
10
+ import { Model, Types } from "mongoose";
11
+ interface BattalionUnitType extends Record<string, unknown> {
12
+ _id: Types.ObjectId,
13
+ id: string,
14
+ name: string,
15
+ friendly_id: string,
16
+ personnel: number,
17
+ position: number,
18
+ active: boolean,
19
+ isMandatory: boolean,
20
+ modified_date: string,
21
+ modified_unix_date: number,
22
+ modified: Date,
23
+ uuid: string,
24
+ api_battalion_id: string,
25
+ battalion_uuid: string,
26
+ battalion_name: string,
27
+ agencyId: Types.ObjectId
28
+ }
29
+
30
+ export interface Battalion extends Record<string, unknown> {
31
+ _id: Types.ObjectId,
32
+ id?: string,
33
+ name: string,
34
+ active: boolean,
35
+ modified_date: string,
36
+ modified_unix_date?: number,
37
+ modified: Date,
38
+ isMandatory: boolean
39
+ userId: string,
40
+ uuid: string,
41
+ departmentId: string,
42
+ agencyId: Types.ObjectId,
43
+ position: number,
44
+ units: BattalionUnitType[],
45
+ }
28
46
 
29
- const BattalionUnit = createSchema(Schema, {
47
+ export function BattalionSchema(mongoose: MongooseModule) {
48
+ const { Schema } = mongoose;
49
+ const BattalionUnit = new Schema<BattalionUnitType>({
30
50
  _id: {
31
- type: Types.ObjectId,
51
+ type: Schema.Types.ObjectId,
32
52
  auto: true,
33
53
  },
34
54
  name: {
@@ -81,17 +101,28 @@ export function BattalionSchema(mongoose: MongooseModule) {
81
101
  type: String,
82
102
  },
83
103
  agencyId: {
84
- type: Types.ObjectId,
104
+ type: Schema.Types.ObjectId,
85
105
  ref: "Agency",
86
106
  default: null,
87
107
  },
88
108
  }, {});
89
109
 
90
- BattalionUnit.set("toJSON", toJSONOpts);
110
+ BattalionUnit.virtual("id").get(function (this: MongooseDocument) {
111
+ // tslint:disable-next-line: no-unsafe-any
112
+ return this._id.toString();
113
+ });
114
+ BattalionUnit.set("toJSON", {
115
+ virtuals: true,
116
+ versionKey: false,
117
+ transform(doc, ret) {
118
+ strictSchema(doc.schema as typeof modelSchema, ret);
119
+ },
120
+ });
91
121
 
92
- const modelSchema = createSchema(Schema, {
122
+
123
+ const modelSchema = new Schema<Battalion>({
93
124
  _id: {
94
- type: Types.ObjectId,
125
+ type: Schema.Types.ObjectId,
95
126
  auto: true,
96
127
  },
97
128
  name: {
@@ -131,7 +162,7 @@ export function BattalionSchema(mongoose: MongooseModule) {
131
162
  index: true,
132
163
  },
133
164
  agencyId: {
134
- type: Types.ObjectId,
165
+ type: Schema.Types.ObjectId,
135
166
  ref: "Agency",
136
167
  default: null,
137
168
  },
@@ -144,22 +175,21 @@ export function BattalionSchema(mongoose: MongooseModule) {
144
175
  default: []
145
176
  },
146
177
  }, {
147
- collection: "massive_battalion",
178
+ autoIndex: false,
148
179
  });
149
180
  modelSchema.set("autoIndex", false);
181
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
182
+ // tslint:disable-next-line: no-unsafe-any
183
+ return this._id.toString();
184
+ });
150
185
  modelSchema.set("toJSON", {
151
186
  virtuals: true,
152
187
  versionKey: false,
153
- transform(doc: ModelFromSchema<typeof modelSchema>, ret: DocumentTypeFromSchema<typeof modelSchema>) {
188
+ transform(doc, ret) {
154
189
  strictSchema(doc.schema as typeof modelSchema, ret);
155
- ret.id = ret._id;
156
190
  },
157
191
  });
158
192
 
159
- modelSchema.virtual("id").get(function (this: MongooseDocument) {
160
- // tslint:disable-next-line: no-unsafe-any
161
- return this._id.toString();
162
- });
163
193
 
164
194
  function strictSchema(schema: typeof modelSchema, ret: Record<string, unknown>) {
165
195
  Object.keys(ret).forEach(function (element) {
@@ -178,11 +208,9 @@ export function BattalionSchema(mongoose: MongooseModule) {
178
208
  return modelSchema;
179
209
  }
180
210
 
181
- export async function BattalionModule(mongoose: MongooseModule) {
211
+ export default async function BattalionModule(mongoose: MongooseModule) {
182
212
  const modelSchema = BattalionSchema(mongoose);
183
- return createModel(mongoose, "Battalion", modelSchema);
213
+ return mongoose.model<Battalion>("Battalion", modelSchema, "massive_battalion", { overwriteModels: true });
184
214
  }
185
215
 
186
- export interface Battalion extends ItemTypeFromTypeSchemaFunction<typeof BattalionModule> { }
187
- export interface BattalionModel extends ModelTypeFromTypeSchemaFunction<Battalion> { }
188
- export default BattalionModule as ReplaceModelReturnType<typeof BattalionModule, BattalionModel>;
216
+ export interface BattalionModel extends Model<Battalion> { }
@@ -1,20 +1,25 @@
1
1
  import {
2
2
  MongooseModule,
3
- createSchema,
4
- createModel,
5
3
  currentDate,
6
4
  retrieveCurrentUnixTime,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
- ReplaceModelReturnType,
10
5
  } from "../helpers";
6
+ import { Types, Model } from "mongoose";
11
7
 
12
- export async function BeaconLogModule(mongoose: MongooseModule) {
13
- const { Schema, Types } = mongoose;
8
+ export interface BeaconLog {
9
+ _id: Types.ObjectId,
10
+ departmentId: string,
11
+ userId: string,
12
+ object: object,
13
+ createdAt: Date,
14
+ modified_unix_date: number,
15
+ }
16
+
17
+ export default async function BeaconLogModule(mongoose: MongooseModule) {
18
+ const { Schema } = mongoose;
14
19
 
15
- const modelSchema = createSchema(Schema, {
20
+ const modelSchema = new Schema<BeaconLog>({
16
21
  _id: {
17
- type: Types.ObjectId,
22
+ type: Schema.Types.ObjectId,
18
23
  auto: true,
19
24
  },
20
25
  departmentId: {
@@ -38,13 +43,10 @@ export async function BeaconLogModule(mongoose: MongooseModule) {
38
43
  default: retrieveCurrentUnixTime,
39
44
  },
40
45
  }, {
41
- collection: "massive_beacon_log",
46
+ autoIndex: false,
42
47
  });
43
- modelSchema.set("autoIndex", false);
44
48
 
45
- return createModel(mongoose, "BeaconLog", modelSchema);
49
+ return mongoose.model<BeaconLog>("BeaconLog", modelSchema, "massive_beacon_log", { overwriteModels: true });
46
50
  }
47
51
 
48
- export interface BeaconLog extends ItemTypeFromTypeSchemaFunction<typeof BeaconLogModule> { }
49
- export interface BeaconLogModel extends ModelTypeFromTypeSchemaFunction<BeaconLog> { }
50
- export default BeaconLogModule as ReplaceModelReturnType<typeof BeaconLogModule, BeaconLogModel>;
52
+ export interface BeaconLogModel extends Model<BeaconLog> { }
@@ -1,27 +1,34 @@
1
1
  import {
2
2
  MongooseModule,
3
3
  MongooseDocument,
4
- createSchema,
5
- createModel,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
4
  } from "../helpers";
10
5
 
11
6
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
12
7
 
13
- import { ReportNumberSchema } from "./schema/shared-incident";
8
+ import { ReportNumberSchema, ReportNumberSchemaType } from "./schema/shared-incident";
9
+ import { Model, Types } from "mongoose";
10
+ export interface CADIncidentBlock {
11
+ _id: Types.ObjectId,
12
+ id?: string,
13
+ departmentId: string,
14
+ source: string,
15
+ IncidentNumber: string,
16
+ AgencyIncidentCallTypeDescription: string,
17
+ EntryDateTime: string,
18
+ ClosedDateTime: string,
19
+ ReportNumber: ReportNumberSchemaType[]
20
+ }
14
21
 
15
- export async function CADIncidentBlockModule(mongoose: MongooseModule) {
16
- const { Schema, Types } = mongoose;
22
+ export default async function CADIncidentBlockModule(mongoose: MongooseModule) {
23
+ const { Schema } = mongoose;
17
24
  const ReportNumber = ReportNumberSchema(mongoose);
18
25
 
19
26
  // Simplified schema.
20
27
  // Payload should confirm to cad-incident (more or less)
21
28
 
22
- const modelSchema = createSchema(Schema, {
29
+ const modelSchema = new Schema<CADIncidentBlock>({
23
30
  _id: {
24
- type: Types.ObjectId,
31
+ type: Schema.Types.ObjectId,
25
32
  auto: true,
26
33
  },
27
34
  departmentId: {
@@ -55,7 +62,6 @@ export async function CADIncidentBlockModule(mongoose: MongooseModule) {
55
62
  default: [],
56
63
  }
57
64
  }, {
58
- collection: "massive_cad_incident_block",
59
65
  timestamps: true,
60
66
  autoIndex: false,
61
67
  toJSON: {
@@ -64,16 +70,14 @@ export async function CADIncidentBlockModule(mongoose: MongooseModule) {
64
70
  }
65
71
  });
66
72
 
67
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
73
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
68
74
  // tslint:disable-next-line: no-unsafe-any
69
75
  return this._id.toString();
70
76
  });
71
77
 
72
78
  modelSchema.plugin(mongooseLeanVirtuals);
73
79
 
74
- return createModel(mongoose, "CADIncidentBlock", modelSchema);
80
+ return mongoose.model<CADIncidentBlock>("CADIncidentBlock", modelSchema, "massive_cad_incident_block", { overwriteModels: true });
75
81
  }
76
82
 
77
- export interface CADIncidentBlock extends ItemTypeFromTypeSchemaFunction<typeof CADIncidentBlockModule> { }
78
- export interface CADIncidentBlockModel extends ModelTypeFromTypeSchemaFunction<CADIncidentBlock> { }
79
- export default CADIncidentBlockModule as ReplaceModelReturnType<typeof CADIncidentBlockModule, CADIncidentBlockModel>;
83
+ export interface CADIncidentBlockModel extends Model<CADIncidentBlock> { }
@@ -1,26 +1,32 @@
1
1
  import {
2
2
  MongooseModule,
3
3
  MongooseDocument,
4
- createSchema,
5
- createModel,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
4
  currentDate,
10
5
  } from "../helpers";
11
6
 
12
7
  import * as uuid from "uuid";
13
8
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
9
+ import { Types, Model } from "mongoose";
10
+ export interface CADIncidentStream {
11
+ _id: Types.ObjectId,
12
+ id?: string,
13
+ uuid: string,
14
+ tag: string,
15
+ departmentId: string,
16
+ incidentNumber: string,
17
+ createdAt: Date,
18
+ payload: object,
19
+ }
14
20
 
15
- export async function CADIncidentStreamModule(mongoose: MongooseModule) {
16
- const { Schema, Types } = mongoose;
21
+ export default async function CADIncidentStreamModule(mongoose: MongooseModule) {
22
+ const { Schema } = mongoose;
17
23
 
18
24
  // Simplified schema.
19
25
  // Payload should confirm to cad-incident (more or less)
20
26
 
21
- const modelSchema = createSchema(Schema, {
27
+ const modelSchema = new Schema<CADIncidentStream>({
22
28
  _id: {
23
- type: Types.ObjectId,
29
+ type: Schema.Types.ObjectId,
24
30
  auto: true,
25
31
  },
26
32
  uuid: {
@@ -52,23 +58,20 @@ export async function CADIncidentStreamModule(mongoose: MongooseModule) {
52
58
  },
53
59
  }, {
54
60
  autoIndex: false,
55
- collection: "massive_cad_incident_stream",
56
61
  toJSON: {
57
62
  virtuals: true,
58
63
  versionKey: false,
59
64
  }
60
65
  });
61
66
 
62
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
67
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
63
68
  // tslint:disable-next-line: no-unsafe-any
64
69
  return this._id.toString();
65
70
  });
66
71
 
67
72
  modelSchema.plugin(mongooseLeanVirtuals);
68
73
 
69
- return createModel(mongoose, "CADIncidentStream", modelSchema);
74
+ return mongoose.model<CADIncidentStream>("CADIncidentStream", modelSchema, "massive_cad_incident_stream", { overwriteModels: true });
70
75
  }
71
76
 
72
- export interface CADIncidentStream extends ItemTypeFromTypeSchemaFunction<typeof CADIncidentStreamModule> { }
73
- export interface CADIncidentStreamModel extends ModelTypeFromTypeSchemaFunction<CADIncidentStream> { }
74
- export default CADIncidentStreamModule as ReplaceModelReturnType<typeof CADIncidentStreamModule, CADIncidentStreamModel>;
77
+ export interface CADIncidentStreamModel extends Model<CADIncidentStream> { }