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,20 +1,36 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createSchema,
4
- createModel,
5
3
  currentDate,
6
4
  MongooseModule,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
- ReplaceModelReturnType,
10
5
  } from "../helpers";
6
+ import { Model, Types } from "mongoose";
11
7
 
12
- export async function DeviceMappingModule(mongoose: MongooseModule) {
13
- const { Schema, Types } = mongoose;
8
+ export interface DeviceMapping {
9
+ _id: Types.ObjectId,
10
+ departmentId: string,
11
+ userId: string,
12
+ deviceType: string,
13
+ mapId: string,
14
+ deviceId: string,
15
+ location: {
16
+ longitude: number,
17
+ latitude: number,
18
+ },
19
+ modified_unix_date: number,
20
+ modified: Date,
21
+ active: boolean,
22
+ remoteAddress: string,
23
+ uuid: string,
24
+ note: string,
25
+ mapHidden: boolean,
26
+ }
27
+
28
+ export default async function DeviceMappingModule(mongoose: MongooseModule) {
29
+ const { Schema } = mongoose;
14
30
 
15
- const modelSchema = createSchema(Schema, {
31
+ const modelSchema = new Schema<DeviceMapping>({
16
32
  _id: {
17
- type: Types.ObjectId,
33
+ type: Schema.Types.ObjectId,
18
34
  auto: true,
19
35
  },
20
36
  departmentId: {
@@ -74,13 +90,10 @@ export async function DeviceMappingModule(mongoose: MongooseModule) {
74
90
  default: false,
75
91
  },
76
92
  }, {
77
- collection: "massive_device_mapping",
78
93
  });
79
94
  modelSchema.set("autoIndex", false);
80
95
 
81
- return createModel(mongoose, "DeviceMapping", modelSchema);
96
+ return mongoose.model<DeviceMapping>("DeviceMapping", modelSchema, "massive_device_mapping", { overwriteModels: true });
82
97
  }
83
98
 
84
- export interface DeviceMapping extends ItemTypeFromTypeSchemaFunction<typeof DeviceMappingModule> { }
85
- export interface DeviceMappingModel extends ModelTypeFromTypeSchemaFunction<DeviceMapping> { }
86
- export default DeviceMappingModule as ReplaceModelReturnType<typeof DeviceMappingModule, DeviceMappingModel>;
99
+ export interface DeviceMappingModel extends Model<DeviceMapping> { }
@@ -1,27 +1,43 @@
1
1
  // import * as uuid from "uuid";
2
+ import { Model, Types } from "mongoose";
2
3
  import {
3
- createModel,
4
- createSchema,
5
- DocumentTypeFromSchema,
6
- FieldsOfDocument,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
4
  MongooseModule,
10
- ReplaceModelReturnType,
11
5
  } from "../helpers";
12
- import EsriAuthModule from "./schema/esri-auth";
13
- import EsriErrorModule from "./schema/esri-error";
14
- import EsriMapModule from "./schema/esri-map";
15
- import FireMapperAuthModule from "./schema/firemapper-auth";
6
+ import EsriAuthModule, { EsriAuthSchemaType } from "./schema/esri-auth";
7
+ import EsriErrorModule, { EsriErrorSchemaType } from "./schema/esri-error";
8
+ import EsriMapModule, { EsriMapType } from "./schema/esri-map";
9
+ import FireMapperAuthModule, { FireMapperAuthType } from "./schema/firemapper-auth";
10
+
11
+ interface MapPropertiesType {
12
+ itemId: string,
13
+ download: boolean,
14
+ }
15
+ export interface Esri {
16
+ _id: Types.ObjectId,
17
+ id?: string,
18
+ runAt: Date,
19
+ departmentId: Types.ObjectId
20
+ auth: EsriAuthSchemaType,
21
+ authError: EsriErrorSchemaType,
22
+ fireMapperAuth: FireMapperAuthType,
23
+ arcGISGroupIds: string[],
24
+ arcGISAuth: EsriAuthSchemaType,
25
+ arcGISMigrated: boolean,
26
+ review: object,
27
+ reviewRunAt: Date,
28
+ maps: EsriMapType[],
29
+ mapsProperties: MapPropertiesType[],
30
+ mapLastUpdated: Date,
31
+ }
16
32
 
17
33
  export function EsriSchema(mongoose: MongooseModule) {
18
- const { Schema, Types } = mongoose;
34
+ const { Schema } = mongoose;
19
35
  const EsriAuth = EsriAuthModule(mongoose);
20
36
  const EsriError = EsriErrorModule(mongoose);
21
37
  const EsriMap = EsriMapModule(mongoose);
22
38
  const FireMapperAuth = FireMapperAuthModule(mongoose);
23
39
 
24
- const MapProperties = createSchema(Schema, {
40
+ const MapProperties = new Schema<MapPropertiesType>({
25
41
  // ArcGIS Item id
26
42
  itemId: {
27
43
  type: String,
@@ -36,9 +52,9 @@ export function EsriSchema(mongoose: MongooseModule) {
36
52
  id: false,
37
53
  });
38
54
 
39
- const modelSchema = createSchema(Schema, {
55
+ const modelSchema = new Schema<Esri>({
40
56
  _id: {
41
- type: Types.ObjectId,
57
+ type: Schema.Types.ObjectId,
42
58
  auto: true,
43
59
  },
44
60
 
@@ -48,7 +64,7 @@ export function EsriSchema(mongoose: MongooseModule) {
48
64
  default: new Date("1970-01-01T00:00:00.000Z"),
49
65
  },
50
66
  departmentId: {
51
- type: Types.ObjectId,
67
+ type: Schema.Types.ObjectId,
52
68
  ref: "Department",
53
69
  required: true
54
70
  },
@@ -111,31 +127,25 @@ export function EsriSchema(mongoose: MongooseModule) {
111
127
  default: new Date("1970-01-01T00:00:00.000Z"),
112
128
  },
113
129
  }, {
114
- collection: "massive_esri",
115
130
  });
116
131
  modelSchema.set("autoIndex", false);
117
132
 
133
+ // Deprecated. Check which apps rely on .id instead of using ._id.
134
+ modelSchema.virtual("id").get(function (this: Esri) {
135
+ return this._id.toHexString();
136
+ });
137
+
118
138
  modelSchema.set("toJSON", {
119
139
  virtuals: true,
120
140
  versionKey: false,
121
- // Deprecated. Check which apps rely on .id instead of using ._id.
122
- transform(doc: DocumentTypeFromSchema<typeof modelSchema>, ret: FieldsOfDocument<DocumentTypeFromSchema<typeof modelSchema>>) {
123
- ret.id = ret._id;
124
- },
125
141
  });
126
142
 
127
- // Deprecated. Check which apps rely on .id instead of using ._id.
128
- modelSchema.virtual("id").get(function(this: DocumentTypeFromSchema<typeof modelSchema>) {
129
- return this._id.toHexString();
130
- });
131
143
  return modelSchema;
132
144
  }
133
145
 
134
- export async function EsriModule(mongoose: MongooseModule) {
146
+ export default async function EsriModule(mongoose: MongooseModule) {
135
147
  const modelSchema = EsriSchema(mongoose);
136
- return createModel(mongoose, "Esri", modelSchema);
148
+ return mongoose.model<Esri>("Esri", modelSchema, "massive_esri", { overwriteModels: true });
137
149
  }
138
150
 
139
- export interface Esri extends ItemTypeFromTypeSchemaFunction<typeof EsriModule> { }
140
- export interface EsriModel extends ModelTypeFromTypeSchemaFunction<Esri> { }
141
- export default EsriModule as ReplaceModelReturnType<typeof EsriModule, EsriModel>;
151
+ export interface EsriModel extends Model<Esri> { }
@@ -1,21 +1,36 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createSchema,
4
- createModel,
5
3
  currentDate,
6
4
  MongooseModule,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
- ReplaceModelReturnType,
10
5
  retrieveCurrentUnixTime,
11
6
  } from "../helpers";
7
+ import { Model, Types } from "mongoose";
12
8
 
13
- export async function GSTMappingModule(mongoose: MongooseModule) {
14
- const { Schema, Types } = mongoose;
9
+ export interface GSTMapping {
10
+ _id: Types.ObjectId,
11
+ departmentId: string,
12
+ gstAgency: string,
13
+ deviceType: string,
14
+ unitId: string,
15
+ location: {
16
+ longitude: number,
17
+ latitude: number,
18
+ },
19
+ modified_unix_date: number,
20
+ modified: Date,
21
+ active: boolean,
22
+ mapHidden: boolean,
23
+ remoteAddress: string,
24
+ uuid: string,
25
+ note: string,
26
+ }
27
+
28
+ export default async function GSTMappingModule(mongoose: MongooseModule) {
29
+ const { Schema } = mongoose;
15
30
 
16
- const modelSchema = createSchema(Schema, {
31
+ const modelSchema = new Schema<GSTMapping>({
17
32
  _id: {
18
- type: Types.ObjectId,
33
+ type: Schema.Types.ObjectId,
19
34
  auto: true,
20
35
  },
21
36
  departmentId: {
@@ -36,10 +51,10 @@ export async function GSTMappingModule(mongoose: MongooseModule) {
36
51
  },
37
52
  location: {
38
53
  longitude: {
39
- type: Number,
54
+ type: Number,
40
55
  },
41
56
  latitude: {
42
- type: Number,
57
+ type: Number,
43
58
  },
44
59
  },
45
60
  modified_unix_date: {
@@ -71,13 +86,10 @@ export async function GSTMappingModule(mongoose: MongooseModule) {
71
86
  default: "",
72
87
  },
73
88
  }, {
74
- collection: "massive_gst_mapping",
75
89
  });
76
90
  modelSchema.set("autoIndex", false);
77
91
 
78
- return createModel(mongoose, "GSTMapping", modelSchema);
92
+ return mongoose.model<GSTMapping>("GSTMapping", modelSchema, "massive_gst_mapping", { overwriteModels: true });
79
93
  }
80
94
 
81
- export interface GSTMapping extends ItemTypeFromTypeSchemaFunction<typeof GSTMappingModule> { }
82
- export interface GSTMappingModel extends ModelTypeFromTypeSchemaFunction<GSTMapping> { }
83
- export default GSTMappingModule as ReplaceModelReturnType<typeof GSTMappingModule, GSTMappingModel>;
95
+ export interface GSTMappingModel extends Model<GSTMapping> { }
@@ -1,25 +1,43 @@
1
+ import { Model, Types } from "mongoose";
1
2
  import {
2
- createModel,
3
- createSchema,
4
3
  currentDate,
5
- ItemTypeFromTypeSchemaFunction,
6
- ModelTypeFromTypeSchemaFunction,
7
4
  MongooseDocument,
8
5
  MongooseModule,
9
- ReplaceModelReturnType,
10
6
  retrieveCurrentUnixTime,
11
7
  } from "../helpers";
12
8
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
13
9
 
14
- export async function IncidentEventModule(mongoose: MongooseModule) {
15
- const modelSchema = IncidentEventSchema(mongoose);
16
- return createModel(mongoose, "IncidentEvent", modelSchema);
10
+ interface EventUserType {
11
+ username: string,
12
+ email: string,
13
+ radioName: string,
14
+ userId: string,
15
+ }
16
+ export interface IncidentEvent {
17
+ _id: Types.ObjectId,
18
+ id?: string,
19
+ departmentId: string,
20
+ IncidentNumber: string,
21
+ modified_unix_date: number,
22
+ modified: Date,
23
+ message: string,
24
+ location: {
25
+ longitude: number,
26
+ latitude: number,
27
+ },
28
+ type: string,
29
+ user: EventUserType,
30
+ serverTime: number,
31
+ userTime: number,
32
+ uuid: string,
33
+ ref_uuid: string,
34
+ opts: object,
35
+ archived: boolean,
17
36
  }
18
-
19
37
  export function IncidentEventSchema(mongoose: MongooseModule) {
20
- const { Schema, Types } = mongoose;
38
+ const { Schema } = mongoose;
21
39
 
22
- const EventUser = createSchema(Schema, {
40
+ const EventUser = new Schema<EventUserType>({
23
41
  username: {
24
42
  type: String,
25
43
  default: "",
@@ -41,9 +59,9 @@ export function IncidentEventSchema(mongoose: MongooseModule) {
41
59
  id: false,
42
60
  });
43
61
 
44
- const modelSchema = createSchema(Schema, {
62
+ const modelSchema = new Schema<IncidentEvent>({
45
63
  _id: {
46
- type: Types.ObjectId,
64
+ type: Schema.Types.ObjectId,
47
65
  auto: true,
48
66
  },
49
67
  departmentId: {
@@ -118,14 +136,13 @@ export function IncidentEventSchema(mongoose: MongooseModule) {
118
136
  default: false,
119
137
  },
120
138
  }, {
121
- collection: "massive_incident_event",
122
139
  });
123
140
  modelSchema.set("toJSON", {
124
141
  virtuals: true,
125
142
  versionKey: false,
126
143
  });
127
144
 
128
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
145
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
129
146
  // tslint:disable-next-line: no-unsafe-any
130
147
  return this._id.toString();
131
148
  });
@@ -135,6 +152,9 @@ export function IncidentEventSchema(mongoose: MongooseModule) {
135
152
  return modelSchema;
136
153
  }
137
154
 
138
- export interface IncidentEvent extends ItemTypeFromTypeSchemaFunction<typeof IncidentEventModule> { }
139
- export interface IncidentEventModel extends ModelTypeFromTypeSchemaFunction<IncidentEvent> { }
140
- export default IncidentEventModule as ReplaceModelReturnType<typeof IncidentEventModule, IncidentEventModel>;
155
+ export default async function IncidentEventModule(mongoose: MongooseModule) {
156
+ const modelSchema = IncidentEventSchema(mongoose);
157
+ return mongoose.model<IncidentEvent>("IncidentEvent", modelSchema, "massive_incident_event", { overwriteModels: true });
158
+ }
159
+
160
+ export interface IncidentEventModel extends Model<IncidentEvent> { }
@@ -1,17 +1,34 @@
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 IncidentNotifiedModule(mongoose: MongooseModule) {
12
- const { Schema, Types } = mongoose;
13
-
14
- const SentItem = createSchema(Schema, {
7
+ interface SentItemType {
8
+ name: string,
9
+ type: string,
10
+ date: Date,
11
+ }
12
+
13
+ interface UnitType {
14
+ UnitID: string,
15
+ UnitDispatchNumber: string,
16
+ }
17
+ export interface IncidentNotified {
18
+ _id: Types.ObjectId,
19
+ departmentId: string,
20
+ IncidentNumber: string,
21
+ incidentTypes: string[],
22
+ units: string[],
23
+ unitsByDispatch: UnitType[],
24
+ sent: SentItemType[],
25
+ updated: Date,
26
+ }
27
+
28
+ export default async function IncidentNotifiedModule(mongoose: MongooseModule) {
29
+ const { Schema } = mongoose;
30
+
31
+ const SentItem = new Schema<SentItemType>({
15
32
  name: {
16
33
  type: String,
17
34
  default: "",
@@ -29,7 +46,7 @@ export async function IncidentNotifiedModule(mongoose: MongooseModule) {
29
46
  id: false,
30
47
  });
31
48
 
32
- const Unit = createSchema(Schema, {
49
+ const Unit = new Schema<UnitType>({
33
50
  UnitID: {
34
51
  type: String,
35
52
  default: "",
@@ -43,9 +60,9 @@ export async function IncidentNotifiedModule(mongoose: MongooseModule) {
43
60
  id: false,
44
61
  });
45
62
 
46
- const modelSchema = createSchema(Schema, {
63
+ const modelSchema = new Schema<IncidentNotified>({
47
64
  _id: {
48
- type: Types.ObjectId,
65
+ type: Schema.Types.ObjectId,
49
66
  auto: true,
50
67
  },
51
68
  departmentId: {
@@ -79,13 +96,10 @@ export async function IncidentNotifiedModule(mongoose: MongooseModule) {
79
96
  default: currentDate,
80
97
  },
81
98
  }, {
82
- collection: "massive_incident_notified",
83
99
  });
84
100
  modelSchema.set("autoIndex", false);
85
101
 
86
- return createModel(mongoose, "IncidentNotified", modelSchema);
102
+ return mongoose.model<IncidentNotified>("IncidentNotified", modelSchema, "massive_incident_notified", { overwriteModels: true });
87
103
  }
88
104
 
89
- export interface IncidentNotified extends ItemTypeFromTypeSchemaFunction<typeof IncidentNotifiedModule> { }
90
- export interface IncidentNotifiedModel extends ModelTypeFromTypeSchemaFunction<IncidentNotified> { }
91
- export default IncidentNotifiedModule as ReplaceModelReturnType<typeof IncidentNotifiedModule, IncidentNotifiedModel>;
105
+ export interface IncidentNotifiedModel extends Model<IncidentNotified> { }
@@ -1,19 +1,31 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createSchema,
4
- createModel,
5
3
  MongooseModule,
6
- ItemTypeFromTypeSchemaFunction,
7
- ModelTypeFromTypeSchemaFunction,
8
- ReplaceModelReturnType,
9
4
  } from "../helpers";
5
+ import { Model, Types } from "mongoose";
10
6
 
11
- export async function IncidentTakeoverModule(mongoose: MongooseModule) {
12
- const { Schema, Types } = mongoose;
7
+ export interface IncidentTakeover {
8
+ _id: Types.ObjectId,
9
+ departmentId: string,
10
+ uuid: string,
11
+ incident_id: string,
12
+ incident_name: string,
13
+ incident_number: string,
14
+ old_owner: string,
15
+ new_owner: string,
16
+ owner: string,
17
+ status: string,
18
+ request_time: number,
19
+ last_response_time: number,
20
+ response_time: number,
21
+ }
22
+
23
+ export default async function IncidentTakeoverModule(mongoose: MongooseModule) {
24
+ const { Schema } = mongoose;
13
25
 
14
- const modelSchema = createSchema(Schema, {
26
+ const modelSchema = new Schema<IncidentTakeover>({
15
27
  _id: {
16
- type: Types.ObjectId,
28
+ type: Schema.Types.ObjectId,
17
29
  auto: true,
18
30
  },
19
31
  departmentId: {
@@ -72,13 +84,10 @@ export async function IncidentTakeoverModule(mongoose: MongooseModule) {
72
84
  default: 0,
73
85
  },
74
86
  }, {
75
- collection: "massive_incident_takeover",
76
87
  });
77
88
  modelSchema.set("autoIndex", false);
78
89
 
79
- return createModel(mongoose, "IncidentTakeover", modelSchema);
90
+ return mongoose.model<IncidentTakeover>("IncidentTakeover", modelSchema, "massive_incident_takeover", { overwriteModels: true });
80
91
  }
81
92
 
82
- export interface IncidentTakeover extends ItemTypeFromTypeSchemaFunction<typeof IncidentTakeoverModule> { }
83
- export interface IncidentTakeoverModel extends ModelTypeFromTypeSchemaFunction<IncidentTakeover> { }
84
- export default IncidentTakeoverModule as ReplaceModelReturnType<typeof IncidentTakeoverModule, IncidentTakeoverModel>;
93
+ export interface IncidentTakeoverModel extends Model<IncidentTakeover> { }
@@ -1,21 +1,29 @@
1
+ import { Model, Types } from "mongoose";
1
2
  import {
2
- createModel,
3
- createSchema,
4
- ItemTypeFromTypeSchemaFunction,
5
- ModelTypeFromTypeSchemaFunction,
6
3
  MongooseDocument,
7
4
  MongooseModule,
8
- ReplaceModelReturnType,
9
5
  currentDate,
10
6
  } from "../helpers";
11
7
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
12
8
 
13
- export async function JobLogModule(mongoose: MongooseModule) {
14
- const { Schema, Types } = mongoose;
9
+ export interface JobLog {
10
+ _id: Types.ObjectId,
11
+ id?: string,
12
+ jobName: string,
13
+ host: string,
14
+ bidDate: Date,
15
+ startDate: Date,
16
+ completedDate: Date,
17
+ state: string
18
+ forceClosed: boolean,
19
+ }
20
+
21
+ export default async function JobLogModule(mongoose: MongooseModule) {
22
+ const { Schema } = mongoose;
15
23
 
16
- const modelSchema = createSchema(Schema, {
24
+ const modelSchema = new Schema<JobLog>({
17
25
  _id: {
18
- type: Types.ObjectId,
26
+ type: Schema.Types.ObjectId,
19
27
  auto: true,
20
28
  },
21
29
  jobName: {
@@ -44,23 +52,20 @@ export async function JobLogModule(mongoose: MongooseModule) {
44
52
  default: false,
45
53
  },
46
54
  }, {
47
- collection: "massive_job_log",
48
55
  });
49
56
  modelSchema.set("toJSON", {
50
57
  virtuals: true,
51
58
  versionKey: false,
52
59
  });
53
60
 
54
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
61
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
55
62
  return this._id.toHexString();
56
63
  });
57
64
 
58
65
  modelSchema.plugin(mongooseLeanVirtuals);
59
66
  modelSchema.set("autoIndex", false);
60
67
 
61
- return createModel(mongoose, "JobLog", modelSchema);
68
+ return mongoose.model<JobLog>("JobLog", modelSchema, "massive_job_log", { overwriteModels: true });
62
69
  }
63
70
 
64
- export interface JobLog extends ItemTypeFromTypeSchemaFunction<typeof JobLogModule> { }
65
- export interface JobLogModel extends ModelTypeFromTypeSchemaFunction<JobLog> { }
66
- export default JobLogModule as ReplaceModelReturnType<typeof JobLogModule, JobLogModel>;
71
+ export interface JobLogModel extends Model<JobLog> { }
@@ -1,27 +1,57 @@
1
1
  import * as uuid from "uuid";
2
2
  import {
3
- createModel,
4
- createSchema,
5
3
  createSchemaDefinition,
6
4
  currentDate,
7
- ItemTypeFromTypeSchemaFunction,
8
- ModelTypeFromTypeSchemaFunction,
9
5
  MongooseDocument,
10
6
  MongooseModule,
11
- ReplaceModelReturnType,
12
7
  } from "../helpers";
13
8
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
14
- import ColorModule from "./schema/color";
15
- import GeoJSONPointModule from "./schema/geojson-point";
9
+ import ColorModule, { ColorSchemaType } from "./schema/color";
10
+ import GeoJSONPointModule, { GeoJSONPointType } from "./schema/geojson-point";
11
+ import { Model, Types } from "mongoose";
16
12
 
17
- export async function LocationModule(mongoose: MongooseModule) {
18
- const { Schema, Types } = mongoose;
13
+ export interface Location extends Record<string, unknown> {
14
+ _id: Types.ObjectId,
15
+ id?: string,
16
+ departmentId: string,
17
+ userId: string,
18
+ uuid: string,
19
+ username: string,
20
+ device_type: string,
21
+ active: boolean,
22
+ deleteAfterDate: Date,
23
+ modified: Date,
24
+ movedAt: Date,
25
+ propsChangedAt: Date,
26
+ version: number,
27
+ session: string,
28
+ altitude: number,
29
+ heading: number,
30
+ speed: number,
31
+ esriId: number,
32
+ locationGeoJSON: GeoJSONPointType,
33
+ opAreaCode: string
34
+ opAreaName: string,
35
+ agencyCode: string,
36
+ agencyName: string,
37
+ shared: boolean,
38
+ state: string,
39
+ sendToCAD: boolean,
40
+ color: ColorSchemaType,
41
+ colorChangedAt: Date,
42
+ source: string,
43
+ kindType: string,
44
+ typeDetails: object
45
+ }
46
+
47
+ export default async function LocationModule(mongoose: MongooseModule) {
48
+ const { Schema } = mongoose;
19
49
  const Color = ColorModule(mongoose);
20
50
  const GeoJSONPoint = GeoJSONPointModule(mongoose);
21
51
 
22
52
  const modelSchemaDefinition = createSchemaDefinition({
23
53
  _id: {
24
- type: Types.ObjectId,
54
+ type: Schema.Types.ObjectId,
25
55
  auto: true,
26
56
  },
27
57
  departmentId: {
@@ -175,8 +205,7 @@ export async function LocationModule(mongoose: MongooseModule) {
175
205
  },
176
206
  });
177
207
 
178
- const modelSchema = createSchema(Schema, modelSchemaDefinition, {
179
- collection: "massive_location",
208
+ const modelSchema = new Schema<Location>(modelSchemaDefinition, {
180
209
  });
181
210
 
182
211
  modelSchema.set("toJSON", {
@@ -184,11 +213,11 @@ export async function LocationModule(mongoose: MongooseModule) {
184
213
  versionKey: false,
185
214
  });
186
215
 
187
- modelSchema.virtual("id").get(function(this: MongooseDocument) {
216
+ modelSchema.virtual("id").get(function (this: MongooseDocument) {
188
217
  return this._id.toHexString();
189
218
  });
190
219
 
191
- modelSchema.virtual("location").get(function(this: { locationGeoJSON: { coordinates: number[] } } | null | undefined) {
220
+ modelSchema.virtual("location").get(function (this: { locationGeoJSON: { coordinates: number[] } } | null | undefined) {
192
221
  const location = {
193
222
  latitude: 0,
194
223
  longitude: 0
@@ -216,9 +245,7 @@ export async function LocationModule(mongoose: MongooseModule) {
216
245
 
217
246
  modelSchema.plugin(mongooseLeanVirtuals);
218
247
  modelSchema.set("autoIndex", false);
219
- return createModel(mongoose, "Location", modelSchema);
248
+ return mongoose.model<Location>("Location", modelSchema, "massive_location", { overwriteModels: true });
220
249
  }
221
250
 
222
- export interface Location extends ItemTypeFromTypeSchemaFunction<typeof LocationModule> { }
223
- export interface LocationModel extends ModelTypeFromTypeSchemaFunction<Location> { }
224
- export default LocationModule as ReplaceModelReturnType<typeof LocationModule, LocationModel>;
251
+ export interface LocationModel extends Model<Location> { }