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,27 +1,83 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createSchema,
4
- createModel,
5
- DocumentTypeFromSchema,
6
- FieldsOfDocument,
7
3
  MongooseModule,
8
4
  MongooseDocument,
9
- ItemTypeFromTypeSchemaFunction,
10
- ModelTypeFromTypeSchemaFunction,
11
- ReplaceModelReturnType,
12
5
  currentDate,
13
6
  } from "../helpers";
14
- import EsriAuthSchema from "./schema/esri-auth";
15
- import EsriErrorSchema from "./schema/esri-error";
16
- import PubNubTokenSchema from "./schema/pubnub-token";
7
+ import EsriAuthSchema, { EsriAuthSchemaType } from "./schema/esri-auth";
8
+ import EsriErrorSchema, { EsriErrorSchemaType } from "./schema/esri-error";
9
+ import PubNubTokenSchema, { PubNubTokenSchemaType } from "./schema/pubnub-token";
10
+ import { Model, Types } from "mongoose";
11
+
12
+ interface VehicleSchemaType {
13
+ radioName: string,
14
+ vehicleId: string,
15
+ }
16
+
17
+ export interface User extends Record<string, unknown> {
18
+ _id: Types.ObjectId,
19
+ id?: string, // Coming from virtuals
20
+ nick: string,
21
+ email: string,
22
+ name: string,
23
+ uuid: string,
24
+ departmentId: string,
25
+ modified_date: Date,
26
+ when: Date,
27
+ agencyId: Types.ObjectId,
28
+ managedAgencies: Types.ObjectId[],
29
+ active: boolean,
30
+ admin: boolean,
31
+ superuser: boolean,
32
+ isPro: boolean,
33
+ isIncidentManager: boolean,
34
+ mobileAccess: boolean,
35
+ webAccess: boolean,
36
+ cadSimulatorAccess: boolean,
37
+ canAddRemoveVehicle: boolean,
38
+ beaconEnabled: boolean,
39
+ userContributionEnabled: boolean,
40
+ syncLoggingExpireDate: Date,
41
+ beacons: string[],
42
+ salt: string,
43
+ pass: string,
44
+ auth: string[],
45
+ mapHidden: boolean,
46
+ mapId: string,
47
+ vehicle: VehicleSchemaType,
48
+ sessionCountiPhone: number,
49
+ sessionCountiPad: number,
50
+ rtsAuthKey: string,
51
+ pubNubV2: PubNubTokenSchemaType
52
+ pubNubV3: PubNubTokenSchemaType
53
+ socketIO: PubNubTokenSchemaType,
54
+ token: string,
55
+ tokenExpireAt: Date,
56
+ shareLocationPhone: boolean,
57
+ shareLocationTablet: boolean,
58
+ offlineMapsEnabled: boolean,
59
+ fireMapperProEnabled: boolean,
60
+ arcGISAuth: EsriAuthSchemaType,
61
+ arcGISAuthError: EsriErrorSchemaType,
62
+ offDutyEnabled: boolean,
63
+ webMapSettings: {
64
+ defaultZoomLevel: number,
65
+ defaultCenter: number[],
66
+ defaultMap: string,
67
+ },
68
+ locationToCAD: boolean,
69
+ logOffEnabled: boolean,
70
+ restrictedCommentsEnabled: boolean,
71
+ superUserReadOnly: boolean
72
+ }
17
73
 
18
74
  export function UserSchema(mongoose: MongooseModule) {
19
- const { Schema, Types } = mongoose;
75
+ const { Schema } = mongoose;
20
76
  const EsriAuth = EsriAuthSchema(mongoose);
21
77
  const EsriError = EsriErrorSchema(mongoose);
22
78
  const PubNubToken = PubNubTokenSchema(mongoose);
23
79
 
24
- const VehicleSchema = createSchema(Schema, {
80
+ const VehicleSchema = new Schema<VehicleSchemaType>({
25
81
  radioName: {
26
82
  type: String,
27
83
  default: "",
@@ -35,7 +91,7 @@ export function UserSchema(mongoose: MongooseModule) {
35
91
  id: false,
36
92
  });
37
93
 
38
- const modelSchema = createSchema(Schema, {
94
+ const modelSchema = new Schema<User>({
39
95
  nick: {
40
96
  type: String,
41
97
  default: "",
@@ -68,7 +124,7 @@ export function UserSchema(mongoose: MongooseModule) {
68
124
  type: Date,
69
125
  },
70
126
  agencyId: {
71
- type: Types.ObjectId,
127
+ type: Schema.Types.ObjectId,
72
128
  ref: "Agency",
73
129
  default: null,
74
130
  },
@@ -267,30 +323,26 @@ export function UserSchema(mongoose: MongooseModule) {
267
323
  default: false,
268
324
  }
269
325
  }, {
270
- collection: "sys_user",
326
+ autoIndex: false,
327
+ });
328
+
329
+ // NO _id on User schema?
330
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
331
+ return this._id.toHexString();
271
332
  });
272
- modelSchema.set("autoIndex", false);
273
333
 
274
334
  modelSchema.set("toJSON", {
275
335
  virtuals: true,
276
336
  versionKey: false,
277
- transform(doc: DocumentTypeFromSchema<typeof modelSchema>, ret: FieldsOfDocument<DocumentTypeFromSchema<typeof modelSchema>>) {
278
- ret.id = ret._id;
279
- },
280
337
  });
281
338
 
282
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
283
- return this._id.toHexString();
284
- });
285
339
 
286
340
  return modelSchema;
287
341
  }
288
342
 
289
- export async function UserModule(mongoose: MongooseModule) {
343
+ export default async function UserModule(mongoose: MongooseModule) {
290
344
  const modelSchema = UserSchema(mongoose);
291
- return createModel(mongoose, "User", modelSchema);
345
+ return mongoose.model<User>("User", modelSchema, "sys_user", { overwriteModels: true });
292
346
  }
293
347
 
294
- export interface User extends ItemTypeFromTypeSchemaFunction<typeof UserModule> { }
295
- export interface UserModel extends ModelTypeFromTypeSchemaFunction<User> { }
296
- export default UserModule as ReplaceModelReturnType<typeof UserModule, UserModel>;
348
+ export interface UserModel extends Model<User> { }
@@ -1,25 +1,34 @@
1
+ import { Model, Types } from "mongoose";
1
2
  import {
2
- createModel,
3
- createSchema,
4
3
  currentDate,
5
- ItemTypeFromTypeSchemaFunction,
6
- ModelTypeFromTypeSchemaFunction,
7
4
  MongooseModule,
8
- ReplaceModelReturnType,
9
5
  } from "../helpers";
10
- import ValidationErrorItemModule from "./schema/validation-error-item";
6
+ import ValidationErrorItemModule, { ValidationErrorItemSchemaType } from "./schema/validation-error-item";
7
+
8
+ export interface ValidationReport {
9
+ _id: Types.ObjectId,
10
+ departmentId: Types.ObjectId,
11
+ location: ValidationErrorItemSchemaType[],
12
+ statusMap: ValidationErrorItemSchemaType[],
13
+ status: ValidationErrorItemSchemaType[],
14
+ vehicleStatus: ValidationErrorItemSchemaType[],
15
+ vehicle: ValidationErrorItemSchemaType[],
16
+ incident: ValidationErrorItemSchemaType[],
17
+ personnel: ValidationErrorItemSchemaType[],
18
+ modified: Date,
19
+ }
11
20
 
12
21
  export function ValidationReportSchema(mongoose: MongooseModule) {
13
- const { Schema, Types } = mongoose;
22
+ const { Schema } = mongoose;
14
23
  const ValidationErrorItem = ValidationErrorItemModule(mongoose);
15
24
 
16
- const modelSchema = createSchema(Schema, {
25
+ const modelSchema = new Schema<ValidationReport>({
17
26
  _id: {
18
- type: Types.ObjectId,
27
+ type: Schema.Types.ObjectId,
19
28
  auto: true,
20
29
  },
21
30
  departmentId: {
22
- type: Types.ObjectId,
31
+ type: Schema.Types.ObjectId,
23
32
  ref: "Department",
24
33
  required: true,
25
34
  unique: true,
@@ -57,18 +66,15 @@ export function ValidationReportSchema(mongoose: MongooseModule) {
57
66
  default: currentDate,
58
67
  },
59
68
  }, {
60
- collection: "massive_validation_report",
61
69
  });
62
70
  modelSchema.set("autoIndex", false);
63
71
 
64
72
  return modelSchema;
65
73
  }
66
74
 
67
- export async function ValidationReportModule(mongoose: MongooseModule) {
75
+ export default async function ValidationReportModule(mongoose: MongooseModule) {
68
76
  const modelSchema = ValidationReportSchema(mongoose);
69
- return createModel(mongoose, "ValidationReport", modelSchema);
77
+ return mongoose.model<ValidationReport>("ValidationReport", modelSchema, "massive_validation_report", { overwriteModels: true });
70
78
  }
71
79
 
72
- export interface ValidationReport extends ItemTypeFromTypeSchemaFunction<typeof ValidationReportModule> { }
73
- export interface ValidationReportModel extends ModelTypeFromTypeSchemaFunction<ValidationReport> { }
74
- export default ValidationReportModule as ReplaceModelReturnType<typeof ValidationReportModule, ValidationReportModel>;
80
+ export interface ValidationReportModel extends Model<ValidationReport> { }
@@ -1,17 +1,17 @@
1
1
 
2
2
  import { assert } from "chai";
3
3
  import "mocha";
4
- import * as _ from "lodash";
4
+ // import * as _ from "lodash";
5
5
 
6
6
  import { url as mongoURL } from "./config";
7
7
 
8
8
  import { connect } from "..";
9
- import MockModule from "./mock";
9
+ // import MockModule from "./mock";
10
10
 
11
11
  describe("ArcGISGroup", function () {
12
- let models,
13
- mongoose: typeof import("mongoose"),
14
- mock;
12
+ // let models,
13
+ // mongoose: typeof import("mongoose"),
14
+ // mock;
15
15
 
16
16
  beforeEach(async function () {
17
17
  const result = await connect(mongoURL);
@@ -56,8 +56,8 @@ describe("ArcGISGroup", function() {
56
56
  await mock.cleanup();
57
57
  });
58
58
 
59
- afterEach(function() {
60
- mongoose.disconnect();
59
+ afterEach(async function() {
60
+ await mongoose.disconnect();
61
61
  });
62
62
 
63
63
  it("is saved", async function() {
package/src/test/mock.ts CHANGED
@@ -1,13 +1,15 @@
1
1
 
2
2
  // import * as uuid from "uuid";
3
- import { Types } from "mongoose";
3
+ // import { Types } from "mongoose";
4
4
 
5
5
  import { checkIfTestDatabase } from "./config";
6
6
  checkIfTestDatabase();
7
7
 
8
- export default function MockModule(dependecies: {
9
- models: unknown,
10
- }) {
8
+ export default function MockModule(
9
+ // dependecies: {
10
+ // models: unknown,
11
+ // }
12
+ ) {
11
13
 
12
14
  async function cleanup() {
13
15
  return "";
package/test/0index.js CHANGED
@@ -2,21 +2,22 @@
2
2
 
3
3
  const assert = require("chai").assert;
4
4
 
5
+ const mongoose = require("mongoose");
5
6
  const m = require("../");
6
7
  const config = require("./config");
7
8
 
8
- describe(" Models", function() {
9
- let models, mongoose;
10
- beforeEach(async function() {
9
+ after(async function () {
10
+ await mongoose.disconnect();
11
+ })
12
+
13
+ describe("Models", function () {
14
+ let models;
15
+ before(async function () {
11
16
  const c = await m.connect(config.url);
12
17
  models = c.models;
13
- mongoose = c.mongoose;
14
- });
15
- afterEach(function() {
16
- mongoose.disconnect();
17
18
  });
18
19
 
19
- it("are wired", function() {
20
+ it("are wired", function () {
20
21
  // These should match index.js
21
22
  assert.isFunction(models.ActionLog, "Missing ActionLog");
22
23
  assert.isFunction(models.Agency, "Missing Agency");
@@ -2,44 +2,34 @@
2
2
 
3
3
  const assert = require("chai").assert;
4
4
 
5
- const m = require("..");
6
- const config = require("./config");
7
5
 
8
- describe("ActionLog", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
6
+ const mongoose = require('mongoose');
15
7
 
8
+ describe("ActionLog", function () {
9
+ let models = mongoose.models;
10
+ let testItem;
11
+ before(async function () {
16
12
  const mock = require("./mock")({
17
13
  mongoose
18
14
  });
19
15
  testItem = mock.actionLog;
20
16
  });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", function(done) {
26
- var item = new models.ActionLog(testItem);
27
- item.save(function(err, sut) {
28
- assert.isNull(err, "Should not err");
29
17
 
18
+ it("is saved", async function () {
19
+ const item = new models.ActionLog(testItem);
20
+ await item.save().then((ress) => {
30
21
  assert.isNotNull(testItem._id);
31
- assert.equal(testItem.departmentId, sut.departmentId);
32
- assert.equal(testItem.action, sut.action);
33
- assert.equal(testItem.email, sut.email);
34
- assert.equal(testItem.userId, sut.userId);
35
- assert.equal(testItem.object, sut.object);
36
- assert.equal(testItem.before, sut.before);
37
- assert.equal(testItem.after, sut.after);
38
- assert.equal(testItem.delta, sut.delta);
22
+ assert.equal(testItem.departmentId, ress.departmentId);
23
+ assert.equal(testItem.action, ress.action);
24
+ assert.equal(testItem.email, ress.email);
25
+ assert.equal(testItem.userId, ress.userId);
26
+ assert.equal(testItem.object, ress.object);
27
+ assert.equal(testItem.before, ress.before);
28
+ assert.equal(testItem.after, ress.after);
29
+ assert.equal(testItem.delta, ress.delta);
39
30
  const expectedDate = new Date().valueOf() / 1000.0;
40
- const timeDelta = expectedDate - sut.modified_unix_date;
31
+ const timeDelta = expectedDate - ress.modified_unix_date;
41
32
  assert.isTrue(timeDelta < 1);
42
- return done();
43
- });
33
+ }).catch((err) => { assert.isNull(err, "Should not err"); });
44
34
  });
45
35
  });
package/test/agency.js CHANGED
@@ -1,45 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  const assert = require("chai").assert;
4
+ const mongoose = require('mongoose');
4
5
 
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("Agency", function() {
9
- let models, mongoose;
6
+ describe("Agency", function () {
7
+ let models = mongoose.models;;
10
8
  let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
9
+ beforeEach(async function () {
16
10
  const mock = require("./mock")({
17
11
  mongoose
18
12
  });
19
13
  testItem = mock.agency;
20
14
  });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", function(done) {
26
- var item = new models.Agency(testItem);
27
- item.save(function(err, sut) {
28
- assert.isNull(err, "Should not err");
29
15
 
16
+ it("is saved", async function () {
17
+ const item = new models.Agency(testItem);
18
+ item.save().then((ress) => {
30
19
  assert.isNotNull(testItem._id);
31
- assert.equal(testItem.departmentId, sut.departmentId);
32
- assert.equal(testItem.active, sut.active);
33
- assert.equal(testItem.code, sut.code);
34
- assert.equal(testItem.name, sut.name);
20
+ assert.equal(testItem.departmentId, ress.departmentId);
21
+ assert.equal(testItem.active, ress.active);
22
+ assert.equal(testItem.code, ress.code);
23
+ assert.equal(testItem.name, ress.name);
35
24
  assert.equal(testItem.administrators.length, 1);
36
- assert.equal(testItem.personnelIntegration, sut.personnelIntegration);
37
- assert.equal(testItem.personnelMonitorHours, sut.personnelMonitorHours);
25
+ assert.equal(testItem.personnelIntegration, ress.personnelIntegration);
26
+ assert.equal(testItem.personnelMonitorHours, ress.personnelMonitorHours);
38
27
  assert.equal(testItem.crossStaffing.length, 1);
39
28
  const expectedDate = new Date().valueOf() / 1000.0;
40
- const timeDelta = expectedDate - sut.modified_unix_date;
29
+ const timeDelta = expectedDate - ress.modified_unix_date;
41
30
  assert.isTrue(timeDelta < 1);
42
- return done();
43
- });
31
+ }).catch((err) => { assert.isNull(err, "Should not err"); });
44
32
  });
45
33
  });
@@ -3,16 +3,12 @@
3
3
  const assert = require("chai").assert;
4
4
  const _ = require("lodash");
5
5
 
6
- const m = require("..");
7
- const config = require("./config");
6
+ const mongoose = require('mongoose');
8
7
 
9
- describe("ArcGISGroup", function() {
10
- let models, mongoose, mock;
11
-
12
- beforeEach(async function() {
13
- const c = await m.connect(config.url);
14
- models = c.models;
15
- mongoose = c.mongoose;
8
+ describe("ArcGISGroup", function () {
9
+ const models = mongoose.models;
10
+ let mock;
11
+ beforeEach(async function () {
16
12
  mock = require("./mock")({
17
13
  models,
18
14
  mongoose,
@@ -20,11 +16,7 @@ describe("ArcGISGroup", function() {
20
16
  await mock.cleanup();
21
17
  });
22
18
 
23
- afterEach(function() {
24
- mongoose.disconnect();
25
- });
26
-
27
- it("is saved", async function() {
19
+ it("is saved", async function () {
28
20
  const testItem = mock.arcGISGroup;
29
21
  assert.isObject(testItem);
30
22
  const item = new models.ArcGISGroup(testItem);
@@ -2,41 +2,33 @@
2
2
 
3
3
  const assert = require("chai").assert;
4
4
 
5
- const m = require("..");
6
- const config = require("./config");
5
+ const mongoose = require('mongoose');
7
6
 
8
- describe("Assignment", function() {
9
- let models, mongoose;
7
+ describe("Assignment", function () {
8
+ let models = mongoose.models;
10
9
  let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
10
+ beforeEach(async function () {
16
11
  const mock = require("./mock")({
17
12
  mongoose
18
13
  });
19
14
  testItem = mock.assignment;
20
15
  });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
16
 
25
- it("is saved", async function() {
17
+ it("is saved", async function () {
26
18
  const item = new models.Assignment(testItem);
27
- const sut = await item.save();
19
+ const ress = await item.save();
28
20
 
29
21
  assert.isNotNull(testItem._id);
30
- assert.equal(sut._id.toString(), sut.id.toString());
22
+ assert.equal(ress._id.toString(), ress.id.toString());
31
23
 
32
- assert.equal(testItem.position, sut.position);
33
- assert.equal(testItem.active, sut.active);
34
- assert.equal(testItem.name, sut.name);
35
- assert.equal(testItem.userId, sut.userId);
36
- assert.equal(testItem.departmentId, sut.departmentId);
37
- assert.equal(testItem.isMandatory, sut.isMandatory);
24
+ assert.equal(testItem.position, ress.position);
25
+ assert.equal(testItem.active, ress.active);
26
+ assert.equal(testItem.name, ress.name);
27
+ assert.equal(testItem.userId, ress.userId);
28
+ assert.equal(testItem.departmentId, ress.departmentId);
29
+ assert.equal(testItem.isMandatory, ress.isMandatory);
38
30
  const expectedDate = new Date().valueOf() / 1000.0;
39
- const timeDelta = expectedDate - sut.modified_unix_date;
31
+ const timeDelta = expectedDate - ress.modified_unix_date;
40
32
  assert.isTrue(timeDelta < 1);
41
33
  });
42
34
  });
package/test/battalion.js CHANGED
@@ -2,45 +2,35 @@
2
2
 
3
3
  const assert = require("chai").assert;
4
4
 
5
- const m = require("..");
6
- const config = require("./config");
5
+ const mongoose = require('mongoose');
7
6
 
8
7
  describe("Battalion", function() {
9
- let models, mongoose;
8
+ let models = mongoose.models;
10
9
  let testItem;
11
10
  beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
11
  const mock = require("./mock")({
17
12
  mongoose
18
13
  });
19
14
  testItem = mock.battalion;
20
15
  });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
16
 
25
- it("is saved", function(done) {
17
+ it("is saved", function() {
26
18
  var item = new models.Battalion(testItem);
27
- item.save(function(err, sut) {
28
- assert.isNull(err, "Should not err");
19
+ item.save().then((ress) => {
29
20
 
30
21
  assert.isNotNull(testItem._id);
31
- assert.equal(testItem.departmentId, sut.departmentId);
32
- assert.equal(testItem.active, sut.active);
33
- assert.equal(testItem.isMandatory, sut.isMandatory);
34
- assert.equal(testItem.name, sut.name);
35
- assert.equal(testItem.userId, sut.userId);
36
- assert.equal(testItem.position, sut.position);
37
- assert.equal(testItem.agencyId, sut.agencyId);
38
- assert.equal(testItem.local_id, sut.local_id);
22
+ assert.equal(testItem.departmentId, ress.departmentId);
23
+ assert.equal(testItem.active, ress.active);
24
+ assert.equal(testItem.isMandatory, ress.isMandatory);
25
+ assert.equal(testItem.name, ress.name);
26
+ assert.equal(testItem.userId, ress.userId);
27
+ assert.equal(testItem.position, ress.position);
28
+ assert.equal(testItem.agencyId, ress.agencyId);
29
+ assert.equal(testItem.local_id, ress.local_id);
39
30
  assert.equal(testItem.units.length, 1);
40
31
  const expectedDate = new Date().valueOf() / 1000.0;
41
- const timeDelta = expectedDate - sut.modified_unix_date;
32
+ const timeDelta = expectedDate - ress.modified_unix_date;
42
33
  assert.isTrue(timeDelta < 1);
43
- return done();
44
- });
34
+ }).catch((err) => { assert.isNull(err, "Should not err"); });
45
35
  });
46
36
  });
@@ -3,16 +3,12 @@
3
3
  const _ = require("lodash");
4
4
  const assert = require("chai").assert;
5
5
 
6
- const m = require("..");
7
- const config = require("./config");
6
+ const mongoose = require('mongoose');
8
7
 
9
8
  describe("CADIncidentBlock", function() {
10
- let models, mongoose;
9
+ let models = mongoose.models;
11
10
  let testItem;
12
11
  beforeEach(async function() {
13
- const c = await m.connect(config.url);
14
- models = c.models;
15
- mongoose = c.mongoose;
16
12
 
17
13
  const mock = require("./mock")({
18
14
  mongoose
@@ -20,24 +16,22 @@ describe("CADIncidentBlock", function() {
20
16
  testItem = mock.cadIncidentBlock;
21
17
  await mock.beforeEach();
22
18
  });
23
- afterEach(function() {
24
- mongoose.disconnect();
25
- });
19
+
26
20
 
27
21
  it("is saved", async function() {
28
22
  const item = new models.CADIncidentBlock(testItem);
29
- const sut = await item.save();
23
+ const ress = await item.save();
30
24
 
31
25
  assert.isNotNull(testItem._id);
32
- assert.equal(sut.EntryDateTime, testItem.EntryDateTime);
33
- assert.equal(sut.ClosedDateTime, testItem.ClosedDateTime);
34
- assert.equal(sut.source, testItem.source);
35
- assert.equal(sut.IncidentNumber, testItem.IncidentNumber);
36
- assert.equal(sut.departmentId, testItem.departmentId);
37
- assert.equal(sut.AgencyIncidentCallTypeDescription, testItem.AgencyIncidentCallTypeDescription);
38
- assert.equal(sut.createdAt.toISOString(), new Date(testItem.createdAt).toISOString());
39
- assert.equal(sut.ReportNumber.length, 1);
40
- const rn = _.first(sut.ReportNumber);
26
+ assert.equal(ress.EntryDateTime, testItem.EntryDateTime);
27
+ assert.equal(ress.ClosedDateTime, testItem.ClosedDateTime);
28
+ assert.equal(ress.source, testItem.source);
29
+ assert.equal(ress.IncidentNumber, testItem.IncidentNumber);
30
+ assert.equal(ress.departmentId, testItem.departmentId);
31
+ assert.equal(ress.AgencyIncidentCallTypeDescription, testItem.AgencyIncidentCallTypeDescription);
32
+ assert.equal(ress.createdAt.toISOString(), new Date(testItem.createdAt).toISOString());
33
+ assert.equal(ress.ReportNumber.length, 1);
34
+ const rn = _.first(ress.ReportNumber);
41
35
  assert.equal(rn.name, "Incident");
42
36
  assert.equal(rn.number, "CA68");
43
37
  });