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,16 +1,12 @@
1
+ import { Model } from "mongoose";
1
2
  import {
2
- createModel,
3
- ItemTypeFromTypeSchemaFunction,
4
- ModelTypeFromTypeSchemaFunction,
5
3
  MongooseModule,
6
- ReplaceModelReturnType,
7
4
  } from "../helpers";
8
5
 
9
- import { CADIncidentSchema } from "./schema/cad-incident";
6
+ import { CADIncidentSchema, CADIncidentSchemaType } from "./schema/cad-incident";
10
7
 
11
- export async function CADIncidentModule(mongoose: MongooseModule) {
8
+ export default async function CADIncidentModule(mongoose: MongooseModule) {
12
9
  const modelSchema = CADIncidentSchema(mongoose);
13
- modelSchema.set("collection", "massive_incident_cad");
14
10
  modelSchema.set("strict", false); // Because we accept all kind of data in
15
11
 
16
12
  // Indexes
@@ -22,9 +18,8 @@ export async function CADIncidentModule(mongoose: MongooseModule) {
22
18
  unique: true,
23
19
  });
24
20
 
25
- return createModel(mongoose, "CADIncident", modelSchema);
21
+ return mongoose.model<CADIncidentSchemaType>("CADIncident", modelSchema, "massive_incident_cad", { overwriteModels: true });
26
22
  }
27
23
 
28
- export interface CADIncident extends ItemTypeFromTypeSchemaFunction<typeof CADIncidentModule> { }
29
- export interface CADIncidentModel extends ModelTypeFromTypeSchemaFunction<CADIncident> { }
30
- export default CADIncidentModule as ReplaceModelReturnType<typeof CADIncidentModule, CADIncidentModel>;
24
+ export interface CADIncident extends CADIncidentSchemaType { }
25
+ export interface CADIncidentModel extends Model<CADIncidentSchemaType> { }
@@ -1,21 +1,87 @@
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
6
  import * as uuid from "uuid";
11
7
 
12
- export async function CADSimulationModule(mongoose: MongooseModule) {
13
- const {
14
- Schema,
15
- Types,
16
- } = mongoose;
8
+ interface SimPriorCommentType {
9
+ Comment?: string,
10
+ CommentSource?: string,
11
+ CommentDateTime?: string,
12
+ }
13
+
14
+ interface SimPriorIncidentType {
15
+ IncidentNumber: string,
16
+ IncidentDateTime: string,
17
+ Problem: string,
18
+ Address: string,
19
+ Suite: string,
20
+ Comment: SimPriorCommentType[]
21
+ }
22
+ interface SimRadioChannelType {
23
+ name: string,
24
+ channel: string,
25
+ }
26
+ interface SimCommentType {
27
+ comment: string,
28
+ source: string,
29
+ }
30
+
31
+ interface SimUnitType {
32
+ alarmLevelAtDispatch: string,
33
+ units: string[]
34
+ }
35
+
36
+ interface SequenceType {
37
+ _id: Types.ObjectId,
38
+ title: string,
39
+ alarm: string,
40
+ sequenceId: number,
41
+ unitsConfig: SimUnitType
42
+ comments: SimCommentType[]
43
+ }
17
44
 
18
- const SimPriorComment = createSchema(Schema, {
45
+ export interface CADSimulation {
46
+ uuid: string,
47
+ departmentId: string,
48
+ modifiedDate: number,
49
+ modified: Date,
50
+ active: boolean,
51
+ friendlyId: string,
52
+ title: string,
53
+ notes: string,
54
+ simulation: boolean,
55
+ notify: boolean,
56
+ rts: boolean,
57
+ tags: string[],
58
+ incidentType: string,
59
+ streetName: string,
60
+ locationComment: string,
61
+ suite: string,
62
+ CrossStreet1: string,
63
+ city: string,
64
+ state: string,
65
+ lat: string,
66
+ lon: string,
67
+ firemap: string,
68
+ mapPages: string,
69
+ tacticalChannel: string,
70
+ commandChannel: string,
71
+ radioChannels: SimRadioChannelType[]
72
+ closeDelay: number,
73
+ priorIncidents: SimPriorIncidentType[]
74
+ randomPriorIncidents: boolean
75
+ randomStaffing: boolean,
76
+ sequences: SequenceType[]
77
+ sortId: number,
78
+ sendStatus: boolean,
79
+ }
80
+
81
+ export default async function CADSimulationModule(mongoose: MongooseModule) {
82
+ const { Schema } = mongoose;
83
+
84
+ const SimPriorComment = new Schema<SimPriorCommentType>({
19
85
  Comment: {
20
86
  type: String,
21
87
  default: "",
@@ -33,7 +99,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
33
99
  id: false,
34
100
  });
35
101
 
36
- const SimPriorIncident = createSchema(Schema, {
102
+ const SimPriorIncident = new Schema<SimPriorIncidentType>({
37
103
  IncidentNumber: {
38
104
  type: String,
39
105
  default: "",
@@ -63,7 +129,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
63
129
  id: false,
64
130
  });
65
131
 
66
- const SimRadioChannel = createSchema(Schema, {
132
+ const SimRadioChannel = new Schema<SimRadioChannelType>({
67
133
  name: {
68
134
  type: String,
69
135
  default: "",
@@ -77,7 +143,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
77
143
  id: false,
78
144
  });
79
145
 
80
- const SimComment = createSchema(Schema, {
146
+ const SimComment = new Schema<SimCommentType>({
81
147
  comment: {
82
148
  type: String,
83
149
  default: "",
@@ -91,7 +157,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
91
157
  id: false,
92
158
  });
93
159
 
94
- const SimUnit = createSchema(Schema, {
160
+ const SimUnit = new Schema<SimUnitType>({
95
161
  alarmLevelAtDispatch: {
96
162
  type: String,
97
163
  default: "",
@@ -105,9 +171,9 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
105
171
  id: false,
106
172
  });
107
173
 
108
- const Sequence = createSchema(Schema, {
109
- _id: {
110
- type: Types.ObjectId,
174
+ const Sequence = new Schema<SequenceType>({
175
+ _id: {
176
+ type: Schema.Types.ObjectId,
111
177
  auto: true,
112
178
  },
113
179
  title: {
@@ -132,7 +198,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
132
198
  }
133
199
  }, {});
134
200
 
135
- const modelSchema = createSchema(Schema, {
201
+ const modelSchema = new Schema<CADSimulation>({
136
202
  // Internal
137
203
  uuid: {
138
204
  type: String,
@@ -155,7 +221,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
155
221
  default: currentDate,
156
222
  },
157
223
  active: {
158
- type: Boolean,
224
+ type: Boolean,
159
225
  default: true
160
226
  },
161
227
  friendlyId: {
@@ -171,7 +237,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
171
237
  default: "",
172
238
  },
173
239
  simulation: {
174
- type: Boolean,
240
+ type: Boolean,
175
241
  default: true,
176
242
  },
177
243
  notify: {
@@ -179,11 +245,11 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
179
245
  default: false,
180
246
  },
181
247
  rts: {
182
- type: Boolean,
248
+ type: Boolean,
183
249
  default: false
184
250
  },
185
251
  tags: {
186
- type: [String],
252
+ type: [String],
187
253
  default: []
188
254
  },
189
255
  incidentType: {
@@ -251,11 +317,11 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
251
317
  default: [],
252
318
  },
253
319
  randomPriorIncidents: {
254
- type: Boolean,
320
+ type: Boolean,
255
321
  default: false
256
322
  },
257
323
  randomStaffing: {
258
- type: Boolean,
324
+ type: Boolean,
259
325
  default: false
260
326
  },
261
327
  sequences: {
@@ -271,13 +337,10 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
271
337
  default: false,
272
338
  },
273
339
  }, {
274
- collection: "massive_cad_simulation",
275
340
  });
276
341
  modelSchema.set("autoIndex", false);
277
342
 
278
- return createModel(mongoose, "CADSimulation", modelSchema);
343
+ return mongoose.model<CADSimulation>("CADSimulation", modelSchema, "massive_cad_simulation", { overwriteModels: true });
279
344
  }
280
345
 
281
- export interface CADSimulation extends ItemTypeFromTypeSchemaFunction<typeof CADSimulationModule> { }
282
- export interface CADSimulationModel extends ModelTypeFromTypeSchemaFunction<CADSimulation> { }
283
- export default CADSimulationModule as ReplaceModelReturnType<typeof CADSimulationModule, CADSimulationModel>;
346
+ export interface CADSimulationModel extends Model<CADSimulation> { }
@@ -1,17 +1,28 @@
1
+ import { Model } 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
6
 
11
- export async function CADStatusMapModule(mongoose: MongooseModule) {
7
+ interface ToStatusIdType {
8
+ statusId: number,
9
+ userEnabled: boolean,
10
+ position: number,
11
+ }
12
+
13
+ export interface CADStatusMap {
14
+ departmentId: string,
15
+ modifiedDate: number,
16
+ modified: Date,
17
+ fromStatusId: number,
18
+ toStatusIds: ToStatusIdType[]
19
+ backupDate: Date,
20
+ }
21
+
22
+ export default async function CADStatusMapModule(mongoose: MongooseModule) {
12
23
  const Schema = mongoose.Schema;
13
24
 
14
- const ToStatusIdSchema = createSchema(Schema, {
25
+ const ToStatusIdSchema = new Schema<ToStatusIdType>({
15
26
  statusId: {
16
27
  type: Number,
17
28
  default: 0,
@@ -31,7 +42,7 @@ export async function CADStatusMapModule(mongoose: MongooseModule) {
31
42
  });
32
43
 
33
44
  // Update static items (keep in sync with the lib/cad-status-map/updateDocument!)
34
- const modelSchema = createSchema(Schema, {
45
+ const modelSchema = new Schema<CADStatusMap>({
35
46
  departmentId: {
36
47
  type: String,
37
48
  default: "",
@@ -61,13 +72,10 @@ export async function CADStatusMapModule(mongoose: MongooseModule) {
61
72
  type: Date,
62
73
  },
63
74
  }, {
64
- collection: "massive_cad_status_map",
65
75
  });
66
76
  modelSchema.set("autoIndex", false);
67
77
 
68
- return createModel(mongoose, "CADStatusMap", modelSchema);
78
+ return mongoose.model<CADStatusMap>("CADStatusMap", modelSchema, "massive_cad_status_map", { overwriteModels: true });
69
79
  }
70
80
 
71
- export interface CADStatusMap extends ItemTypeFromTypeSchemaFunction<typeof CADStatusMapModule> { }
72
- export interface CADStatusMapModel extends ModelTypeFromTypeSchemaFunction<CADStatusMap> { }
73
- export default CADStatusMapModule as ReplaceModelReturnType<typeof CADStatusMapModule, CADStatusMapModel>;
81
+ export interface CADStatusMapModel extends Model<CADStatusMap> { }
@@ -1,20 +1,54 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createModel,
4
- createSchema,
5
3
  currentDate,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
4
  MongooseModule,
9
- ReplaceModelReturnType,
10
5
  } from "../helpers";
11
- import ColorModule from "./schema/color";
6
+ import ColorModule, { ColorSchemaType } from "./schema/color";
7
+ import { Model } from "mongoose";
12
8
 
13
- export async function CADStatusModule(mongoose: MongooseModule) {
9
+ interface StatusOptionValueType {
10
+ name: string,
11
+ type: string,
12
+ visible: boolean,
13
+ value: string,
14
+ favorite: boolean,
15
+ position: number,
16
+ isDefault: boolean,
17
+ latitude: number,
18
+ longitude: number,
19
+ time: number,
20
+ }
21
+
22
+ interface StatusOptionType {
23
+ name: string,
24
+ position: number,
25
+ visible: boolean,
26
+ cadKey: string,
27
+ cadValues: StatusOptionValueType[]
28
+ }
29
+ export interface CADStatus {
30
+ uuid: string,
31
+ departmentId: string,
32
+ modifiedDate: number,
33
+ modified: Date,
34
+ statusId: number
35
+ code: string,
36
+ codeDisplay: string,
37
+ status: string,
38
+ name: string,
39
+ normalized: string,
40
+ selfAssignable: boolean,
41
+ roaming: boolean,
42
+ options: StatusOptionValueType,
43
+ color: ColorSchemaType,
44
+ backupDate: Date,
45
+ }
46
+
47
+ export default async function CADStatusModule(mongoose: MongooseModule) {
14
48
  const { Schema } = mongoose;
15
49
  const Color = ColorModule(mongoose);
16
50
 
17
- const StatusOptionValue = createSchema(Schema, {
51
+ const StatusOptionValue = new Schema<StatusOptionValueType>({
18
52
  name: {
19
53
  type: String,
20
54
  default: "",
@@ -61,7 +95,7 @@ export async function CADStatusModule(mongoose: MongooseModule) {
61
95
  id: false,
62
96
  });
63
97
 
64
- const StatusOption = createSchema(Schema, {
98
+ const StatusOption = new Schema<StatusOptionType>({
65
99
  name: {
66
100
  type: String,
67
101
  default: "",
@@ -87,7 +121,7 @@ export async function CADStatusModule(mongoose: MongooseModule) {
87
121
  id: false,
88
122
  });
89
123
 
90
- const modelSchema = createSchema(Schema, {
124
+ const modelSchema = new Schema<CADStatus>({
91
125
  uuid: {
92
126
  type: String,
93
127
  index: true,
@@ -158,13 +192,10 @@ export async function CADStatusModule(mongoose: MongooseModule) {
158
192
  type: Date,
159
193
  },
160
194
  }, {
161
- collection: "massive_cad_status",
162
195
  });
163
196
  modelSchema.set("autoIndex", false);
164
197
 
165
- return createModel(mongoose, "CADStatus", modelSchema);
198
+ return mongoose.model<CADStatus>("CADStatus", modelSchema, "massive_cad_status", { overwriteModels: true });
166
199
  }
167
200
 
168
- export interface CADStatus extends ItemTypeFromTypeSchemaFunction<typeof CADStatusModule> { }
169
- export interface CADStatusModel extends ModelTypeFromTypeSchemaFunction<CADStatus> { }
170
- export default CADStatusModule as ReplaceModelReturnType<typeof CADStatusModule, CADStatusModel>;
201
+ export interface CADStatusModel extends Model<CADStatus> { }
@@ -1,20 +1,32 @@
1
+ import { Model } from "mongoose";
1
2
  import {
2
- createModel,
3
- createSchema,
4
- createSchemaDefinition,
5
3
  currentDate,
6
4
  MongooseModule,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
- ReplaceModelReturnType,
10
5
  } from "../helpers";
11
- import CADStatusOptionSelectedModule from "./schema/cad-status-option-selected";
6
+ import CADStatusOptionSelectedModule, { CADStatusOptionSelectedSchemaType } from "./schema/cad-status-option-selected";
12
7
 
13
- export async function CADVehicleStatusHistoryModule(mongoose: MongooseModule) {
8
+ export interface CADVehicleStatusHistory {
9
+ departmentId: string,
10
+ vehicleId: string,
11
+ radioName: string,
12
+ status: string,
13
+ statusCode: string,
14
+ requestedAt: number,
15
+ requested: Date,
16
+ requestDelay: number,
17
+ requestedBy: string,
18
+ incidentNumber: string,
19
+ options: CADStatusOptionSelectedSchemaType[]
20
+ e: string,
21
+ locationCurrent: string,
22
+ locationDestination: string,
23
+ }
24
+
25
+ export default async function CADVehicleStatusHistoryModule(mongoose: MongooseModule) {
14
26
  const { Schema } = mongoose;
15
27
  const CADStatusOptionSelected = CADStatusOptionSelectedModule(mongoose);
16
28
 
17
- const modelSchemaConfig = createSchemaDefinition({
29
+ const modelSchema = new Schema<CADVehicleStatusHistory>({
18
30
  departmentId: {
19
31
  type: String,
20
32
  default: "",
@@ -76,16 +88,11 @@ export async function CADVehicleStatusHistoryModule(mongoose: MongooseModule) {
76
88
  type: String,
77
89
  default: "",
78
90
  },
79
- });
80
-
81
- const modelSchema = createSchema(Schema, modelSchemaConfig, {
82
- collection: "massive_cad_vehicle_status_history",
91
+ }, {
83
92
  });
84
93
 
85
94
  modelSchema.set("autoIndex", false);
86
- return createModel(mongoose, "CADVehicleStatusHistory", modelSchema);
95
+ return mongoose.model<CADVehicleStatusHistory>("CADVehicleStatusHistory", modelSchema, "massive_cad_vehicle_status_history", { overwriteModels: true });
87
96
  }
88
97
 
89
- export interface CADVehicleStatusHistory extends ItemTypeFromTypeSchemaFunction<typeof CADVehicleStatusHistoryModule> { }
90
- export interface CADVehicleStatusHistoryModel extends ModelTypeFromTypeSchemaFunction<CADVehicleStatusHistory> { }
91
- export default CADVehicleStatusHistoryModule as ReplaceModelReturnType<typeof CADVehicleStatusHistoryModule, CADVehicleStatusHistoryModel>;
98
+ export interface CADVehicleStatusHistoryModel extends Model<CADVehicleStatusHistory> { }
@@ -1,21 +1,45 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createModel,
4
- createSchema,
5
- createSchemaDefinition,
6
3
  currentDate,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
4
  MongooseModule,
10
- ReplaceModelReturnType,
11
5
  } from "../helpers";
12
- import CADStatusOptionSelectedModule from "./schema/cad-status-option-selected";
6
+ import CADStatusOptionSelectedModule, { CADStatusOptionSelectedSchemaType } from "./schema/cad-status-option-selected";
7
+ import { Model } from "mongoose";
13
8
 
14
- export async function CADVehicleStatusModule(mongoose: MongooseModule) {
9
+ interface DestinationType {
10
+ address: string,
11
+ name: string,
12
+ }
13
+ export interface CADVehicleStatus {
14
+ uuid: string,
15
+ departmentId: string,
16
+ vehicleId: string,
17
+ radioName: string,
18
+ requestTime: number,
19
+ responseTime: number,
20
+ changedAt: Date,
21
+ status: string,
22
+ statusCode: string,
23
+ modifiedDate: number,
24
+ modified: Date,
25
+ requestStatus: number,
26
+ owner: string,
27
+ ownerId: string,
28
+ incidentNumber: string,
29
+ options: CADStatusOptionSelectedSchemaType[]
30
+ capability: string,
31
+ locationCurrent: string,
32
+ locationDestination: string,
33
+ destination: DestinationType,
34
+ assignableByUser: boolean,
35
+ backupDate: Date,
36
+ }
37
+
38
+ export default async function CADVehicleStatusModule(mongoose: MongooseModule) {
15
39
  const { Schema } = mongoose;
16
40
  const CADStatusOptionSelected = CADStatusOptionSelectedModule(mongoose);
17
41
 
18
- const Destination = createSchema(Schema, {
42
+ const Destination = new Schema<DestinationType>({
19
43
  // eg 1234 Main St
20
44
  address: {
21
45
  type: String,
@@ -31,7 +55,8 @@ export async function CADVehicleStatusModule(mongoose: MongooseModule) {
31
55
  id: false,
32
56
  });
33
57
 
34
- const modelSchemaConfig = createSchemaDefinition({
58
+
59
+ const modelSchema = new Schema<CADVehicleStatus>({
35
60
  uuid: {
36
61
  type: String,
37
62
  index: true,
@@ -134,16 +159,11 @@ export async function CADVehicleStatusModule(mongoose: MongooseModule) {
134
159
  backupDate: {
135
160
  type: Date,
136
161
  },
137
- });
138
-
139
- const modelSchema = createSchema(Schema, modelSchemaConfig, {
140
- collection: "massive_cad_vehicle_status",
162
+ }, {
141
163
  });
142
164
 
143
165
  modelSchema.set("autoIndex", false);
144
- return createModel(mongoose, "CADVehicleStatus", modelSchema);
166
+ return mongoose.model<CADVehicleStatus>("CADVehicleStatus", modelSchema, "massive_cad_vehicle_status", { overwriteModels: true });
145
167
  }
146
168
 
147
- export interface CADVehicleStatus extends ItemTypeFromTypeSchemaFunction<typeof CADVehicleStatusModule> { }
148
- export interface CADVehicleStatusModel extends ModelTypeFromTypeSchemaFunction<CADVehicleStatus> { }
149
- export default CADVehicleStatusModule as ReplaceModelReturnType<typeof CADVehicleStatusModule, CADVehicleStatusModel>;
169
+ export interface CADVehicleStatusModel extends Model<CADVehicleStatus> { }
@@ -1,18 +1,32 @@
1
+ import { Model } 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
6
  import * as uuid from "uuid";
11
7
 
12
- export async function CADVehicleModule(mongoose: MongooseModule) {
8
+ interface StationType {
9
+ code: string,
10
+ name: string,
11
+ }
12
+ export interface CADVehicle {
13
+ uuid: string,
14
+ departmentId: string,
15
+ modifiedDate: number,
16
+ modified: Date,
17
+ vehicleId: string
18
+ radioName: string,
19
+ station: StationType,
20
+ capability: string,
21
+ mapHidden: boolean
22
+ locationToCAD: boolean,
23
+ backupDate: Date,
24
+ }
25
+
26
+ export default async function CADVehicleModule(mongoose: MongooseModule) {
13
27
  const Schema = mongoose.Schema;
14
28
 
15
- const Station = createSchema(Schema, {
29
+ const Station = new Schema<StationType>({
16
30
  code: {
17
31
  type: String,
18
32
  default: "",
@@ -26,7 +40,7 @@ export async function CADVehicleModule(mongoose: MongooseModule) {
26
40
  id: false,
27
41
  });
28
42
 
29
- const modelSchema = createSchema(Schema, {
43
+ const modelSchema = new Schema<CADVehicle>({
30
44
  // Internal
31
45
  uuid: {
32
46
  type: String,
@@ -84,13 +98,10 @@ export async function CADVehicleModule(mongoose: MongooseModule) {
84
98
  type: Date,
85
99
  },
86
100
  }, {
87
- collection: "massive_cad_vehicle",
88
101
  });
89
102
  modelSchema.set("autoIndex", false);
90
103
 
91
- return createModel(mongoose, "CADVehicle", modelSchema);
104
+ return mongoose.model<CADVehicle>("CADVehicle", modelSchema, "massive_cad_vehicle", { overwriteModels: true });
92
105
  }
93
106
 
94
- export interface CADVehicle extends ItemTypeFromTypeSchemaFunction<typeof CADVehicleModule> { }
95
- export interface CADVehicleModel extends ModelTypeFromTypeSchemaFunction<CADVehicle> { }
96
- export default CADVehicleModule as ReplaceModelReturnType<typeof CADVehicleModule, CADVehicleModel>;
107
+ export interface CADVehicleModel extends Model<CADVehicle> { }
@@ -1,20 +1,32 @@
1
1
  import {
2
2
  MongooseModule,
3
3
  MongooseDocument,
4
- createSchema,
5
- createModel,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
4
  } from "../helpers";
5
+ import { Model, Types } from "mongoose";
10
6
 
11
7
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
12
8
  const defaultDate = new Date("2023-04-19T00:00:00.000Z"); // Chart fallback date, after the feature was implemented
13
9
 
14
- export async function ChartDeviceStatsModule(mongoose: MongooseModule) {
15
- const { Schema, Types } = mongoose;
10
+ interface ChartItemType {
11
+ email: string,
12
+ dateAt: Date,
13
+ os: string,
14
+ osSemVer: string,
15
+ app: string,
16
+ appSemVer: string,
17
+ }
18
+ export interface ChartDeviceStats {
19
+ _id: Types.ObjectId,
20
+ id?: string,
21
+ dateAt: Date,
22
+ departmentId: string,
23
+ items: ChartItemType[],
24
+ }
25
+
26
+ export default async function ChartDeviceStatsModule(mongoose: MongooseModule) {
27
+ const { Schema } = mongoose;
16
28
 
17
- const ChartItem = createSchema(Schema, {
29
+ const ChartItem = new Schema<ChartItemType>({
18
30
  // used to keep track of current user,
19
31
  // email + os + app would be a good unique key
20
32
  email: {
@@ -52,9 +64,9 @@ export async function ChartDeviceStatsModule(mongoose: MongooseModule) {
52
64
  id: false,
53
65
  });
54
66
 
55
- const modelSchema = createSchema(Schema, {
67
+ const modelSchema = new Schema<ChartDeviceStats>({
56
68
  _id: {
57
- type: Types.ObjectId,
69
+ type: Schema.Types.ObjectId,
58
70
  auto: true,
59
71
  },
60
72
  dateAt: {
@@ -72,7 +84,6 @@ export async function ChartDeviceStatsModule(mongoose: MongooseModule) {
72
84
  default: [],
73
85
  },
74
86
  }, {
75
- collection: "massive_chart_device_stat",
76
87
  });
77
88
  modelSchema.set("autoIndex", false);
78
89
 
@@ -81,16 +92,14 @@ export async function ChartDeviceStatsModule(mongoose: MongooseModule) {
81
92
  versionKey: false,
82
93
  });
83
94
 
84
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
95
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
85
96
  // tslint:disable-next-line: no-unsafe-any
86
97
  return this._id.toString();
87
98
  });
88
99
 
89
100
  modelSchema.plugin(mongooseLeanVirtuals);
90
101
 
91
- return createModel(mongoose, "ChartDeviceStat", modelSchema);
102
+ return mongoose.model<ChartDeviceStats>("ChartDeviceStat", modelSchema, "massive_chart_device_stat", { overwriteModels: true });
92
103
  }
93
104
 
94
- export interface ChartDeviceStats extends ItemTypeFromTypeSchemaFunction<typeof ChartDeviceStatsModule> { }
95
- export interface ChartDeviceStatsModel extends ModelTypeFromTypeSchemaFunction<ChartDeviceStats> { }
96
- export default ChartDeviceStatsModule as ReplaceModelReturnType<typeof ChartDeviceStatsModule, ChartDeviceStatsModel>;
105
+ export interface ChartDeviceStatsModel extends Model<ChartDeviceStats> { }