tabletcommand-backend-models 5.39.5 → 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 (387) 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 +5 -8
  90. package/build/models/remote-log-stream.js.map +1 -1
  91. package/build/models/remote-log.js +5 -8
  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 -52
  229. package/definitions/models/remote-log-stream.d.ts.map +1 -1
  230. package/definitions/models/remote-log.d.ts +52 -53
  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 +40 -15
  322. package/src/models/remote-log.ts +42 -15
  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/src/tsconfig.json +1 -0
  347. package/test/0index.js +9 -8
  348. package/test/action-log.js +18 -28
  349. package/test/agency.js +15 -27
  350. package/test/arcgis-group.js +6 -14
  351. package/test/assignment.js +14 -22
  352. package/test/battalion.js +14 -24
  353. package/test/cad-incident-block.js +13 -19
  354. package/test/cad-incident.js +70 -77
  355. package/test/cad-simulation.js +12 -20
  356. package/test/cad-status-map.js +13 -21
  357. package/test/cad-status.js +33 -42
  358. package/test/cad-vehicle-status-history.js +17 -26
  359. package/test/cad-vehicle-status.js +23 -32
  360. package/test/cad-vehicle.js +18 -27
  361. package/test/checklist-item.js +20 -29
  362. package/test/checklist.js +18 -25
  363. package/test/csv-import.js +22 -29
  364. package/test/department.js +62 -66
  365. package/test/device-mapping.js +18 -27
  366. package/test/esri.js +28 -34
  367. package/test/gst-mapping.js +17 -26
  368. package/test/incident-event.js +21 -28
  369. package/test/incident-notified.js +16 -25
  370. package/test/incident-takeover.js +18 -27
  371. package/test/job-log.js +16 -25
  372. package/test/location.js +30 -37
  373. package/test/mail-log.js +24 -33
  374. package/test/managed-incident.js +57 -66
  375. package/test/mark43-incident-retry.js +13 -22
  376. package/test/message.js +18 -27
  377. package/test/mock.js +20 -20
  378. package/test/monitor.js +14 -21
  379. package/test/personnel-import.js +29 -36
  380. package/test/rate-limit.js +12 -21
  381. package/test/release-note.js +5 -11
  382. package/test/session.js +23 -32
  383. package/test/template.js +19 -28
  384. package/test/user-device.js +30 -37
  385. package/test/user-registration.js +24 -33
  386. package/test/user.js +26 -35
  387. package/test/validation-report.js +10 -17
@@ -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,18 +1,46 @@
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
- export async function RemoteLogStreamModule(mongoose: MongooseModule) {
13
- const { Schema, Types } = mongoose;
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
+ }
19
+
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
+ }
39
+
40
+ export default async function RemoteLogStreamModule(mongoose: MongooseModule) {
41
+ const { Schema } = mongoose;
14
42
 
15
- const FileSchema = createSchema(Schema, {
43
+ const FileSchema = new Schema<FileSchemaType>({
16
44
  originalName: {
17
45
  type: String,
18
46
  default: "", // e.g database.sqlite
@@ -54,9 +82,9 @@ export async function RemoteLogStreamModule(mongoose: MongooseModule) {
54
82
  id: false,
55
83
  });
56
84
 
57
- const modelSchema = createSchema(Schema, {
85
+ const modelSchema = new Schema<RemoteLogStream>({
58
86
  _id: {
59
- type: Types.ObjectId,
87
+ type: Schema.Types.ObjectId,
60
88
  auto: true,
61
89
  },
62
90
  departmentId: {
@@ -129,13 +157,10 @@ export async function RemoteLogStreamModule(mongoose: MongooseModule) {
129
157
  },
130
158
  }, {
131
159
  autoIndex: false,
132
- collection: "massive_remote_log_stream",
133
160
  timestamps: true,
134
161
  });
135
162
 
136
- return createModel(mongoose, "RemoteLogStream", modelSchema);
163
+ return mongoose.model<RemoteLogStream>("RemoteLogStream", modelSchema, "massive_remote_log_stream", { overwriteModels: true });
137
164
  }
138
165
 
139
- export interface RemoteLogStream extends ItemTypeFromTypeSchemaFunction<typeof RemoteLogStreamModule> { }
140
- export interface RemoteLogStreamModel extends ModelTypeFromTypeSchemaFunction<RemoteLogStream> { }
141
- export default RemoteLogStreamModule as ReplaceModelReturnType<typeof RemoteLogStreamModule, RemoteLogStreamModel>;
166
+ export interface RemoteLogStreamModel extends Model<RemoteLogStream> { }
@@ -1,18 +1,48 @@
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
- export async function RemoteLogModule(mongoose: MongooseModule) {
13
- const { Schema, Types } = mongoose;
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
+ }
19
+
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
+ }
41
+
42
+ export default async function RemoteLogModule(mongoose: MongooseModule) {
43
+ const { Schema } = mongoose;
14
44
 
15
- const FileSchema = createSchema(Schema, {
45
+ const FileSchema = new Schema<FileSchemaType>({
16
46
  originalName: {
17
47
  type: String,
18
48
  default: "", // e.g database.sqlite
@@ -54,9 +84,9 @@ export async function RemoteLogModule(mongoose: MongooseModule) {
54
84
  id: false,
55
85
  });
56
86
 
57
- const modelSchema = createSchema(Schema, {
87
+ const modelSchema = new Schema<RemoteLog>({
58
88
  _id: {
59
- type: Types.ObjectId,
89
+ type: Schema.Types.ObjectId,
60
90
  auto: true,
61
91
  },
62
92
  departmentId: {
@@ -127,13 +157,10 @@ export async function RemoteLogModule(mongoose: MongooseModule) {
127
157
  },
128
158
  }, {
129
159
  autoIndex: false,
130
- collection: "massive_remote_log_stream",
131
160
  timestamps: true,
132
161
  });
133
162
 
134
- return createModel(mongoose, "RemoteLog", modelSchema);
163
+ return mongoose.model<RemoteLog>("RemoteLog", modelSchema, "massive_remote_log_stream", { overwriteModels: true });
135
164
  }
136
165
 
137
- export interface RemoteLog extends ItemTypeFromTypeSchemaFunction<typeof RemoteLogModule> { }
138
- export interface RemoteLogModel extends ModelTypeFromTypeSchemaFunction<RemoteLog> { }
139
- 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,