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,19 +1,36 @@
1
1
  import * as uuid from "uuid";
2
2
 
3
3
  import {
4
- createSchema,
5
- createModel,
6
4
  MongooseModule,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
- ReplaceModelReturnType,
10
5
  currentDate,
11
6
  } from "../helpers";
7
+ import { Model, Types } from "mongoose";
8
+
9
+ interface RadioType {
10
+ radioName: string,
11
+ active: boolean,
12
+ }
13
+
14
+ export interface PersonnelKnown extends Record<string, unknown> {
15
+ _id: Types.ObjectId,
16
+ PersonnelID: string,
17
+ PersonnelName: string,
18
+ PersonnelRank: string,
19
+ PersonnelWorkCode: string,
20
+ modified: Date,
21
+ departmentId: string,
22
+ uuid: string,
23
+ radios: RadioType[],
24
+ active: boolean,
25
+ jurisdiction: string,
26
+ agencyId: Types.ObjectId,
27
+ source: string,
28
+ }
12
29
 
13
30
  export function PersonnelKnownSchema(mongoose: MongooseModule) {
14
- const { Schema, Types } = mongoose;
31
+ const { Schema } = mongoose;
15
32
 
16
- const Radio = createSchema(Schema, {
33
+ const Radio = new Schema<RadioType>({
17
34
  radioName: {
18
35
  type: String,
19
36
  },
@@ -26,9 +43,9 @@ export function PersonnelKnownSchema(mongoose: MongooseModule) {
26
43
  id: false,
27
44
  });
28
45
 
29
- const modelSchema = createSchema(Schema, {
46
+ const modelSchema = new Schema<PersonnelKnown>({
30
47
  _id: {
31
- type: Types.ObjectId,
48
+ type: Schema.Types.ObjectId,
32
49
  auto: true,
33
50
  },
34
51
  PersonnelID: {
@@ -74,7 +91,7 @@ export function PersonnelKnownSchema(mongoose: MongooseModule) {
74
91
  default: ""
75
92
  },
76
93
  agencyId: {
77
- type: Types.ObjectId,
94
+ type: Schema.Types.ObjectId,
78
95
  ref: "Agency",
79
96
  default: null,
80
97
  },
@@ -83,7 +100,6 @@ export function PersonnelKnownSchema(mongoose: MongooseModule) {
83
100
  default: ""
84
101
  },
85
102
  }, {
86
- collection: "massive_personnel_known",
87
103
  timestamps: true,
88
104
  autoIndex: false,
89
105
  });
@@ -91,11 +107,9 @@ export function PersonnelKnownSchema(mongoose: MongooseModule) {
91
107
  return modelSchema;
92
108
  }
93
109
 
94
- export async function PersonnelKnownModule(mongoose: MongooseModule) {
110
+ export default async function PersonnelKnownModule(mongoose: MongooseModule) {
95
111
  const modelSchema = PersonnelKnownSchema(mongoose);
96
- return createModel(mongoose, "PersonnelKnown", modelSchema);
112
+ return mongoose.model<PersonnelKnown>("PersonnelKnown", modelSchema, "massive_personnel_known", { overwriteModels: true });
97
113
  }
98
114
 
99
- export interface PersonnelKnown extends ItemTypeFromTypeSchemaFunction<typeof PersonnelKnownModule> { }
100
- export interface PersonnelKnownModel extends ModelTypeFromTypeSchemaFunction<PersonnelKnown> { }
101
- export default PersonnelKnownModule as ReplaceModelReturnType<typeof PersonnelKnownModule, PersonnelKnownModel>;
115
+ export interface PersonnelKnownModel extends Model<PersonnelKnown> { }
@@ -1,19 +1,31 @@
1
+ import { Model, Types } from "mongoose";
1
2
  import {
2
- createSchema,
3
- createModel,
4
3
  MongooseModule,
5
- ItemTypeFromTypeSchemaFunction,
6
- ModelTypeFromTypeSchemaFunction,
7
- ReplaceModelReturnType,
8
4
  currentDate,
9
5
  } from "../helpers";
10
6
 
7
+ export interface PersonnelRoster {
8
+ _id: Types.ObjectId,
9
+ PersonnelID: string,
10
+ PersonnelName: string,
11
+ PersonnelRank: string,
12
+ PersonnelWorkCode: string,
13
+ PersonnelUUID: string,
14
+ departmentId: string,
15
+ modified: Date,
16
+ action: string,
17
+ radioName: string,
18
+ shiftStart: Date,
19
+ shiftEnd: Date,
20
+ active: boolean,
21
+ }
22
+
11
23
  export function PersonnelRosterSchema(mongoose: MongooseModule) {
12
- const { Schema, Types } = mongoose;
24
+ const { Schema } = mongoose;
13
25
 
14
- const modelSchema = createSchema(Schema, {
26
+ const modelSchema = new Schema<PersonnelRoster>({
15
27
  _id: {
16
- type: Types.ObjectId,
28
+ type: Schema.Types.ObjectId,
17
29
  auto: true,
18
30
  },
19
31
  PersonnelID: {
@@ -67,7 +79,6 @@ export function PersonnelRosterSchema(mongoose: MongooseModule) {
67
79
  default: false,
68
80
  },
69
81
  }, {
70
- collection: "massive_personnel_roster",
71
82
  autoIndex: false,
72
83
  timestamps: true,
73
84
  });
@@ -75,11 +86,9 @@ export function PersonnelRosterSchema(mongoose: MongooseModule) {
75
86
  return modelSchema;
76
87
  }
77
88
 
78
- export async function PersonnelRosterModule(mongoose: MongooseModule) {
89
+ export default async function PersonnelRosterModule(mongoose: MongooseModule) {
79
90
  const modelSchema = PersonnelRosterSchema(mongoose);
80
- return createModel(mongoose, "PersonnelRoster", modelSchema);
91
+ return mongoose.model<PersonnelRoster>("PersonnelRoster", modelSchema, "massive_personnel_roster", { overwriteModels: true });
81
92
  }
82
93
 
83
- export interface PersonnelRoster extends ItemTypeFromTypeSchemaFunction<typeof PersonnelRosterModule> { }
84
- export interface PersonnelRosterModel extends ModelTypeFromTypeSchemaFunction<PersonnelRoster> { }
85
- export default PersonnelRosterModule as ReplaceModelReturnType<typeof PersonnelRosterModule, PersonnelRosterModel>;
94
+ export interface PersonnelRosterModel extends Model<PersonnelRoster> { }
@@ -1,19 +1,24 @@
1
+ import { Model, Types } from "mongoose";
1
2
  import {
2
- createSchema,
3
- createModel,
4
3
  currentDate,
5
4
  MongooseModule,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
5
  } from "../helpers";
10
6
 
11
- export async function RateLimitModule(mongoose: MongooseModule) {
12
- const { Schema, Types } = mongoose;
7
+ export interface RateLimit {
8
+ _id: Types.ObjectId,
9
+ username: string,
10
+ modified_unix_date: number,
11
+ modified: Date,
12
+ count: number,
13
+ remoteAddress: string,
14
+ }
15
+
16
+ export default async function RateLimitModule(mongoose: MongooseModule) {
17
+ const { Schema } = mongoose;
13
18
 
14
- const modelSchema = createSchema(Schema, {
19
+ const modelSchema = new Schema<RateLimit>({
15
20
  _id: {
16
- type: Types.ObjectId,
21
+ type: Schema.Types.ObjectId,
17
22
  auto: true,
18
23
  },
19
24
  username: String,
@@ -34,13 +39,10 @@ export async function RateLimitModule(mongoose: MongooseModule) {
34
39
  default: "",
35
40
  },
36
41
  }, {
37
- collection: "massive_rate_limit",
38
42
  });
39
43
  modelSchema.set("autoIndex", false);
40
44
 
41
- return createModel(mongoose, "RateLimit", modelSchema);
45
+ return mongoose.model<RateLimit>("RateLimit", modelSchema, "massive_rate_limit", { overwriteModels: true });
42
46
  }
43
47
 
44
- export interface RateLimit extends ItemTypeFromTypeSchemaFunction<typeof RateLimitModule> { }
45
- export interface RateLimitModel extends ModelTypeFromTypeSchemaFunction<RateLimit> { }
46
- export default RateLimitModule as ReplaceModelReturnType<typeof RateLimitModule, RateLimitModel>;
48
+ export interface RateLimitModel extends Model<RateLimit> { }
@@ -1,19 +1,25 @@
1
+ import { Model, Types } from "mongoose";
1
2
  import {
2
3
  MongooseModule,
3
- createSchema,
4
- createModel,
5
4
  currentDate,
6
- ModelTypeFromTypeSchemaFunction,
7
- ItemTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
5
  } from "../helpers";
10
6
 
11
- export async function ReleaseNoteModule(mongoose: MongooseModule) {
12
- const { Schema, Types } = mongoose;
7
+ export interface ReleaseNote extends Record<string, unknown> {
8
+ _id: Types.ObjectId
9
+ title: string
10
+ notes: string
11
+ version: string
12
+ releaseDate: Date
13
+ status: string
14
+ modified: Date
15
+ }
16
+
17
+ export default async function ReleaseNoteModule(mongoose: MongooseModule) {
18
+ const { Schema } = mongoose;
13
19
 
14
- const modelSchema = createSchema(Schema, {
20
+ const modelSchema = new Schema<ReleaseNote>({
15
21
  _id: {
16
- type: Types.ObjectId,
22
+ type: Schema.Types.ObjectId,
17
23
  auto: true,
18
24
  },
19
25
  title: {
@@ -39,13 +45,8 @@ export async function ReleaseNoteModule(mongoose: MongooseModule) {
39
45
  type: Date,
40
46
  default: currentDate,
41
47
  },
42
- }, {
43
- collection: "massive_release_note",
44
- });
45
- modelSchema.set("autoIndex", false);
46
- return createModel(mongoose, "ReleaseNote", modelSchema);
48
+ }, { autoIndex: false });
49
+ return mongoose.model<ReleaseNote>("ReleaseNote", modelSchema, "massive_release_note", { overwriteModels: true });
47
50
  }
48
51
 
49
- export interface ReleaseNote extends ItemTypeFromTypeSchemaFunction<typeof ReleaseNoteModule> { }
50
- export interface ReleaseNoteModel extends ModelTypeFromTypeSchemaFunction<ReleaseNote> { }
51
- export default ReleaseNoteModule as ReplaceModelReturnType<typeof ReleaseNoteModule, ReleaseNoteModel>;
52
+ export interface ReleaseNoteModel extends Model<ReleaseNote> { }
@@ -1,25 +1,90 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
3
  MongooseModule,
4
- createSchema,
5
- createModel,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
4
  currentDate,
10
5
  } from "../helpers";
6
+ import { Model, Types } from "mongoose";
11
7
 
12
- import RemoteFileSchema from "./schema/remote-file";
8
+ interface FileSchemaType {
9
+ originalName: string
10
+ encoding: string
11
+ mimeType: string
12
+ fieldname: string
13
+ localPath: string
14
+ remotePath: string
15
+ hostname: string
16
+ size: number
17
+ received: Date
18
+ }
13
19
 
14
- export async function RemoteLogStreamModule(mongoose: MongooseModule) {
15
- const { Schema, Types } = mongoose;
20
+ export interface RemoteLogStream extends Record<string, unknown> {
21
+ _id: Types.ObjectId
22
+ departmentId: string
23
+ userId: string
24
+ isCADRequest: boolean
25
+ session: string
26
+ requestId: string
27
+ requested: Date
28
+ active: boolean
29
+ uuid: string
30
+ createdAt: Date
31
+ updatedAt: Date
32
+ status: string
33
+ message: string
34
+ manifest: string[]
35
+ userAgent: string
36
+ appVersion: string
37
+ file: FileSchemaType
38
+ }
16
39
 
17
- const RemoteFile = RemoteFileSchema(mongoose);
40
+ export default async function RemoteLogStreamModule(mongoose: MongooseModule) {
41
+ const { Schema } = mongoose;
18
42
 
19
- // This is almost identical to RemoteLog
20
- const modelSchema = createSchema(Schema, {
43
+ const FileSchema = new Schema<FileSchemaType>({
44
+ originalName: {
45
+ type: String,
46
+ default: "", // e.g database.sqlite
47
+ },
48
+ encoding: {
49
+ type: String,
50
+ default: "", // e.g utf8
51
+ },
52
+ mimeType: {
53
+ type: String,
54
+ default: "", // e.g application/text
55
+ },
56
+ fieldname: {
57
+ type: String,
58
+ default: "", // e.g "database" or "logs"
59
+ },
60
+ localPath: {
61
+ type: String,
62
+ default: "", // e.g /tmp/some/path
63
+ },
64
+ remotePath: {
65
+ type: String,
66
+ default: "", // e.g https://google.com?
67
+ },
68
+ hostname: {
69
+ type: String,
70
+ default: "", // e.g ip-10-6-56-205.ca-central-1.compute.internal
71
+ },
72
+ size: {
73
+ type: Number,
74
+ default: 0,
75
+ },
76
+ received: {
77
+ type: Date,
78
+ default: currentDate,
79
+ },
80
+ }, {
81
+ _id: false,
82
+ id: false,
83
+ });
84
+
85
+ const modelSchema = new Schema<RemoteLogStream>({
21
86
  _id: {
22
- type: Types.ObjectId,
87
+ type: Schema.Types.ObjectId,
23
88
  auto: true,
24
89
  },
25
90
  departmentId: {
@@ -88,26 +153,14 @@ export async function RemoteLogStreamModule(mongoose: MongooseModule) {
88
153
  default: "",
89
154
  },
90
155
  file: {
91
- type: RemoteFile,
92
- },
93
- // Google Drive
94
- remoteFolderPath: {
95
- type: String,
96
- default: "", // e.g https://drive.google.com/drive/folders/1efgEFG
97
- },
98
- remoteFolderId: {
99
- type: String,
100
- default: "", // e.g 1efgEFG
156
+ type: FileSchema,
101
157
  },
102
158
  }, {
103
159
  autoIndex: false,
104
- collection: "massive_remote_log_stream",
105
160
  timestamps: true,
106
161
  });
107
162
 
108
- return createModel(mongoose, "RemoteLogStream", modelSchema);
163
+ return mongoose.model<RemoteLogStream>("RemoteLogStream", modelSchema, "massive_remote_log_stream", { overwriteModels: true });
109
164
  }
110
165
 
111
- export interface RemoteLogStream extends ItemTypeFromTypeSchemaFunction<typeof RemoteLogStreamModule> { }
112
- export interface RemoteLogStreamModel extends ModelTypeFromTypeSchemaFunction<RemoteLogStream> { }
113
- export default RemoteLogStreamModule as ReplaceModelReturnType<typeof RemoteLogStreamModule, RemoteLogStreamModel>;
166
+ export interface RemoteLogStreamModel extends Model<RemoteLogStream> { }
@@ -1,25 +1,92 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
3
  MongooseModule,
4
- createSchema,
5
- createModel,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
4
  currentDate,
10
5
  } from "../helpers";
6
+ import { Model, Types } from "mongoose";
11
7
 
12
- import RemoteFileSchema from "./schema/remote-file";
8
+ interface FileSchemaType {
9
+ originalName: string,
10
+ encoding: string,
11
+ mimeType: string,
12
+ localPath: string,
13
+ remotePath: string,
14
+ size: number,
15
+ received: Date,
16
+ fieldname: string,
17
+ hostname: string,
18
+ }
13
19
 
14
- export async function RemoteLogModule(mongoose: MongooseModule) {
15
- const { Schema, Types } = mongoose;
20
+ export interface RemoteLog {
21
+ _id: Types.ObjectId,
22
+ departmentId: string,
23
+ userId: string,
24
+ session: string,
25
+ active: boolean,
26
+ uuid: string,
27
+ requestId: string,
28
+ received: Date,
29
+ hostname: string,
30
+ status: string,
31
+ lastStatusChange: Date,
32
+ isCADRequest: boolean,
33
+ createdAt: Date,
34
+ updatedAt: Date
35
+ message: string,
36
+ manifest: string[],
37
+ userAgent: string,
38
+ appVersion: string,
39
+ files: FileSchemaType[],
40
+ }
16
41
 
17
- const RemoteFile = RemoteFileSchema(mongoose);
42
+ export default async function RemoteLogModule(mongoose: MongooseModule) {
43
+ const { Schema } = mongoose;
18
44
 
19
- // This is almost identical to RemoteLogStream
20
- const modelSchema = createSchema(Schema, {
45
+ const FileSchema = new Schema<FileSchemaType>({
46
+ originalName: {
47
+ type: String,
48
+ default: "", // e.g database.sqlite
49
+ },
50
+ encoding: {
51
+ type: String,
52
+ default: "", // e.g utf8
53
+ },
54
+ mimeType: {
55
+ type: String,
56
+ default: "", // e.g application/text
57
+ },
58
+ fieldname: {
59
+ type: String,
60
+ default: "", // e.g "database" or "logs"
61
+ },
62
+ localPath: {
63
+ type: String,
64
+ default: "", // e.g /tmp/some/path
65
+ },
66
+ remotePath: {
67
+ type: String,
68
+ default: "", // e.g https://google.com?
69
+ },
70
+ hostname: {
71
+ type: String,
72
+ default: "", // e.g ip-10-6-56-205.ca-central-1.compute.internal
73
+ },
74
+ size: {
75
+ type: Number,
76
+ default: 0,
77
+ },
78
+ received: {
79
+ type: Date,
80
+ default: currentDate,
81
+ },
82
+ }, {
83
+ _id: false,
84
+ id: false,
85
+ });
86
+
87
+ const modelSchema = new Schema<RemoteLog>({
21
88
  _id: {
22
- type: Types.ObjectId,
89
+ type: Schema.Types.ObjectId,
23
90
  auto: true,
24
91
  },
25
92
  departmentId: {
@@ -85,27 +152,15 @@ export async function RemoteLogModule(mongoose: MongooseModule) {
85
152
  default: "",
86
153
  },
87
154
  files: {
88
- type: [RemoteFile],
155
+ type: [FileSchema],
89
156
  default: [],
90
157
  },
91
- // Google Drive
92
- remoteFolderPath: {
93
- type: String,
94
- default: "", // e.g https://drive.google.com/drive/folders/1efgEFG
95
- },
96
- remoteFolderId: {
97
- type: String,
98
- default: "", // e.g 1efgEFG
99
- },
100
158
  }, {
101
159
  autoIndex: false,
102
- collection: "massive_remote_log_stream",
103
160
  timestamps: true,
104
161
  });
105
162
 
106
- return createModel(mongoose, "RemoteLog", modelSchema);
163
+ return mongoose.model<RemoteLog>("RemoteLog", modelSchema, "massive_remote_log_stream", { overwriteModels: true });
107
164
  }
108
165
 
109
- export interface RemoteLog extends ItemTypeFromTypeSchemaFunction<typeof RemoteLogModule> { }
110
- export interface RemoteLogModel extends ModelTypeFromTypeSchemaFunction<RemoteLog> { }
111
- export default RemoteLogModule as ReplaceModelReturnType<typeof RemoteLogModule, RemoteLogModel>;
166
+ export interface RemoteLogModel extends Model<RemoteLog> { }
@@ -1,12 +1,67 @@
1
1
  import {
2
- createSchema,
3
2
  MongooseModule,
4
3
  } from "../../helpers";
5
4
 
5
+ interface EncryptedDataType {
6
+ iv: string,
7
+ encryptedData: string,
8
+ }
9
+
10
+ export interface CronConfigSourceType extends Record<string, unknown> {
11
+ protocol: string,
12
+ username: string,
13
+ hostname: string,
14
+ filePath: string,
15
+ }
16
+
17
+ interface CronConfigAuthType {
18
+ password: EncryptedDataType | null,
19
+ sshPrivateKey: EncryptedDataType | null,
20
+ sshPublicKey: EncryptedDataType | null,
21
+ useSSHKey: boolean,
22
+ }
23
+
24
+ interface CronConfigCSVFieldMapType {
25
+ PersonnelID: string,
26
+ PersonnelName: string,
27
+ PersonnelRank: string,
28
+ PersonnelWorkCode: string,
29
+ PersonnelNote: string,
30
+ StartTime: string,
31
+ EndTime: string,
32
+ UnitName: string,
33
+ TimeFormat: string,
34
+ }
35
+
36
+ interface ReconcileTimeOptionsType {
37
+ enabled: boolean,
38
+ startTime: string,
39
+ endTime: string,
40
+ }
41
+
42
+ export interface AgencyCronConfigType extends Record<string, unknown> {
43
+ enabled: boolean
44
+ source: CronConfigSourceType,
45
+ auth: CronConfigAuthType
46
+ processPath: string,
47
+ completedPath: string,
48
+ importType: string,
49
+ timezone: string,
50
+ customApiPath: string,
51
+ alterChunkSize: boolean,
52
+ reconcileEnabled: boolean,
53
+ reconcileTimeOptions: ReconcileTimeOptionsType,
54
+ hasLabelCustomization: boolean
55
+ assignmentOverride: boolean,
56
+ csvFieldMap: CronConfigCSVFieldMapType
57
+ useAlternateId: boolean
58
+ strictAgencyCodeMatch: boolean
59
+ }
60
+
6
61
  export default function AgencyCronSchema(mongoose: MongooseModule) {
7
62
  const { Schema } = mongoose;
8
63
 
9
- const EncryptedData = createSchema(Schema, {
64
+ const EncryptedData = new Schema<EncryptedDataType>({
10
65
  iv: {
11
66
  type: String,
12
67
  default: "",
@@ -20,7 +75,7 @@ export default function AgencyCronSchema(mongoose: MongooseModule) {
20
75
  id: false,
21
76
  });
22
77
 
23
- const CronConfigSource = createSchema(Schema, {
78
+ const CronConfigSource = new Schema<CronConfigSourceType>({
24
79
  protocol: {
25
80
  type: String,
26
81
  default: "",
@@ -49,7 +104,7 @@ export default function AgencyCronSchema(mongoose: MongooseModule) {
49
104
  filePath: "",
50
105
  };
51
106
 
52
- const CronConfigAuth = createSchema(Schema, {
107
+ const CronConfigAuth = new Schema<CronConfigAuthType>({
53
108
  password: {
54
109
  type: EncryptedData,
55
110
  default: null,
@@ -79,7 +134,7 @@ export default function AgencyCronSchema(mongoose: MongooseModule) {
79
134
  useSSHKey: false,
80
135
  };
81
136
 
82
- const CronConfigCSVFieldMap = createSchema(Schema, {
137
+ const CronConfigCSVFieldMap = new Schema<CronConfigCSVFieldMapType>({
83
138
  PersonnelID: {
84
139
  type: String,
85
140
  },
@@ -126,7 +181,7 @@ export default function AgencyCronSchema(mongoose: MongooseModule) {
126
181
  TimeFormat: "YYYY-MM-DD HH:mm",
127
182
  };
128
183
 
129
- const ReconcileTimeOptions = createSchema(Schema, {
184
+ const ReconcileTimeOptions = new Schema<ReconcileTimeOptionsType>({
130
185
  enabled: {
131
186
  type: Boolean,
132
187
  },
@@ -147,7 +202,7 @@ export default function AgencyCronSchema(mongoose: MongooseModule) {
147
202
  endTime: "08:00",
148
203
  };
149
204
 
150
- const AgencyCronConfig = createSchema(Schema, {
205
+ const AgencyCronConfig = new Schema<AgencyCronConfigType>({
151
206
  enabled: {
152
207
  type: Boolean,
153
208
  default: false,
@@ -1,12 +1,20 @@
1
1
  import {
2
- createSchema,
3
2
  MongooseModule,
4
3
  } from "../../helpers";
5
4
 
5
+ export interface AgencySAMLSchemaType extends Record<string, unknown> {
6
+ selector: string,
7
+ idp: string,
8
+ sp: string,
9
+ env: string,
10
+ name: string,
11
+ jumpPoint: string,
12
+ }
13
+
6
14
  export default function AgencySAMLSchema(mongoose: MongooseModule) {
7
15
  const { Schema } = mongoose;
8
16
 
9
- const AgencySAML = createSchema(Schema, {
17
+ const AgencySAML = new Schema<AgencySAMLSchemaType>({
10
18
  selector: {
11
19
  type: String,
12
20
  required: true,