tabletcommand-backend-models 7.3.39 → 7.4.1

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 (315) hide show
  1. package/build/constants.js +6 -6
  2. package/build/constants.js.map +1 -1
  3. package/build/helpers.js.map +1 -1
  4. package/build/models/agency.js +1 -1
  5. package/build/models/agency.js.map +1 -1
  6. package/build/models/battalion.js.map +1 -1
  7. package/build/models/cad-incident.js +3 -3
  8. package/build/models/cad-incident.js.map +1 -1
  9. package/build/models/cad-vehicle-status.js.map +1 -1
  10. package/build/models/chart-device-stats.js +1 -1
  11. package/build/models/chart-device-stats.js.map +1 -1
  12. package/build/models/chart-incident.js.map +1 -1
  13. package/build/models/chart-managed-incident.js.map +1 -1
  14. package/build/models/checklist-item.js.map +1 -1
  15. package/build/models/department.js +210 -174
  16. package/build/models/department.js.map +1 -1
  17. package/build/models/device-mapping.js.map +1 -1
  18. package/build/models/gst-mapping.js.map +1 -1
  19. package/build/models/incident-event.js +1 -1
  20. package/build/models/incident-event.js.map +1 -1
  21. package/build/models/location.js +2 -2
  22. package/build/models/location.js.map +1 -1
  23. package/build/models/personnel-known.js +5 -1
  24. package/build/models/personnel-known.js.map +1 -1
  25. package/build/models/remote-log-stream.js +1 -1
  26. package/build/models/remote-log-stream.js.map +1 -1
  27. package/build/models/remote-log.js +1 -1
  28. package/build/models/remote-log.js.map +1 -1
  29. package/build/models/schema/cad-incident.js +0 -56
  30. package/build/models/schema/cad-incident.js.map +1 -1
  31. package/build/models/schema/common-incident.js +1 -1
  32. package/build/models/schema/common-incident.js.map +1 -1
  33. package/build/models/sms-log.js.map +1 -1
  34. package/build/models/user-device.js +1 -1
  35. package/build/models/user-device.js.map +1 -1
  36. package/build/models/user.js +3 -3
  37. package/build/models/user.js.map +1 -1
  38. package/build/test/cad-status.js.map +1 -1
  39. package/build/test/device-mapping.js.map +1 -1
  40. package/build/test/mock.js +207 -206
  41. package/build/test/mock.js.map +1 -1
  42. package/build/test/personnel-import.js.map +1 -1
  43. package/build/test/release-note.js.map +1 -1
  44. package/{.buildkite → buildkite}/pipeline.yml +1 -1
  45. package/{test.sh → buildkite/test.sh} +1 -1
  46. package/cspell.json +2 -1
  47. package/definitions/helpers.d.ts.map +1 -1
  48. package/definitions/index.d.ts +203 -97
  49. package/definitions/index.d.ts.map +1 -1
  50. package/definitions/models/action-log.d.ts +4 -2
  51. package/definitions/models/action-log.d.ts.map +1 -1
  52. package/definitions/models/agency.d.ts +11 -5
  53. package/definitions/models/agency.d.ts.map +1 -1
  54. package/definitions/models/arcgis-group.d.ts +3 -1
  55. package/definitions/models/arcgis-group.d.ts.map +1 -1
  56. package/definitions/models/assignment.d.ts +4 -2
  57. package/definitions/models/assignment.d.ts.map +1 -1
  58. package/definitions/models/battalion.d.ts +11 -5
  59. package/definitions/models/battalion.d.ts.map +1 -1
  60. package/definitions/models/beacon-log.d.ts +4 -2
  61. package/definitions/models/beacon-log.d.ts.map +1 -1
  62. package/definitions/models/cad-incident-block.d.ts +4 -2
  63. package/definitions/models/cad-incident-block.d.ts.map +1 -1
  64. package/definitions/models/cad-incident-stream.d.ts +4 -2
  65. package/definitions/models/cad-incident-stream.d.ts.map +1 -1
  66. package/definitions/models/cad-incident.d.ts +4 -2
  67. package/definitions/models/cad-incident.d.ts.map +1 -1
  68. package/definitions/models/cad-simulation.d.ts +3 -1
  69. package/definitions/models/cad-simulation.d.ts.map +1 -1
  70. package/definitions/models/cad-status-map.d.ts +3 -1
  71. package/definitions/models/cad-status-map.d.ts.map +1 -1
  72. package/definitions/models/cad-status.d.ts +3 -1
  73. package/definitions/models/cad-status.d.ts.map +1 -1
  74. package/definitions/models/cad-vehicle-status-history.d.ts +3 -1
  75. package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
  76. package/definitions/models/cad-vehicle-status.d.ts +3 -1
  77. package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
  78. package/definitions/models/cad-vehicle.d.ts +3 -1
  79. package/definitions/models/cad-vehicle.d.ts.map +1 -1
  80. package/definitions/models/chart-device-stats.d.ts +4 -2
  81. package/definitions/models/chart-device-stats.d.ts.map +1 -1
  82. package/definitions/models/chart-incident.d.ts +4 -2
  83. package/definitions/models/chart-incident.d.ts.map +1 -1
  84. package/definitions/models/chart-managed-incident.d.ts +4 -2
  85. package/definitions/models/chart-managed-incident.d.ts.map +1 -1
  86. package/definitions/models/chart-user.d.ts +4 -2
  87. package/definitions/models/chart-user.d.ts.map +1 -1
  88. package/definitions/models/checklist-item.d.ts +11 -5
  89. package/definitions/models/checklist-item.d.ts.map +1 -1
  90. package/definitions/models/checklist.d.ts +11 -5
  91. package/definitions/models/checklist.d.ts.map +1 -1
  92. package/definitions/models/csv-import.d.ts +4 -2
  93. package/definitions/models/csv-import.d.ts.map +1 -1
  94. package/definitions/models/department.d.ts +11 -2
  95. package/definitions/models/department.d.ts.map +1 -1
  96. package/definitions/models/device-mapping.d.ts +4 -2
  97. package/definitions/models/device-mapping.d.ts.map +1 -1
  98. package/definitions/models/esri.d.ts +11 -5
  99. package/definitions/models/esri.d.ts.map +1 -1
  100. package/definitions/models/gst-mapping.d.ts +4 -2
  101. package/definitions/models/gst-mapping.d.ts.map +1 -1
  102. package/definitions/models/incident-event.d.ts +11 -5
  103. package/definitions/models/incident-event.d.ts.map +1 -1
  104. package/definitions/models/incident-filter.d.ts +4 -2
  105. package/definitions/models/incident-filter.d.ts.map +1 -1
  106. package/definitions/models/incident-notified.d.ts +4 -2
  107. package/definitions/models/incident-notified.d.ts.map +1 -1
  108. package/definitions/models/incident-share-code.d.ts +4 -2
  109. package/definitions/models/incident-share-code.d.ts.map +1 -1
  110. package/definitions/models/incident-takeover.d.ts +4 -2
  111. package/definitions/models/incident-takeover.d.ts.map +1 -1
  112. package/definitions/models/job-log.d.ts +4 -2
  113. package/definitions/models/job-log.d.ts.map +1 -1
  114. package/definitions/models/location.d.ts +4 -2
  115. package/definitions/models/location.d.ts.map +1 -1
  116. package/definitions/models/mail-log.d.ts +4 -2
  117. package/definitions/models/mail-log.d.ts.map +1 -1
  118. package/definitions/models/managed-incident.d.ts +4 -2
  119. package/definitions/models/managed-incident.d.ts.map +1 -1
  120. package/definitions/models/mark43-incident-retry.d.ts +3 -1
  121. package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
  122. package/definitions/models/message.d.ts +4 -2
  123. package/definitions/models/message.d.ts.map +1 -1
  124. package/definitions/models/monitor.d.ts +4 -2
  125. package/definitions/models/monitor.d.ts.map +1 -1
  126. package/definitions/models/personnel-import.d.ts +11 -5
  127. package/definitions/models/personnel-import.d.ts.map +1 -1
  128. package/definitions/models/personnel-known.d.ts +11 -5
  129. package/definitions/models/personnel-known.d.ts.map +1 -1
  130. package/definitions/models/personnel-roster.d.ts +11 -5
  131. package/definitions/models/personnel-roster.d.ts.map +1 -1
  132. package/definitions/models/rate-limit.d.ts +4 -2
  133. package/definitions/models/rate-limit.d.ts.map +1 -1
  134. package/definitions/models/release-note.d.ts +4 -2
  135. package/definitions/models/release-note.d.ts.map +1 -1
  136. package/definitions/models/remote-log-stream.d.ts +4 -2
  137. package/definitions/models/remote-log-stream.d.ts.map +1 -1
  138. package/definitions/models/remote-log.d.ts +4 -2
  139. package/definitions/models/remote-log.d.ts.map +1 -1
  140. package/definitions/models/schema/agency-cron-config.d.ts +6 -2
  141. package/definitions/models/schema/agency-cron-config.d.ts.map +1 -1
  142. package/definitions/models/schema/agency-saml.d.ts +6 -2
  143. package/definitions/models/schema/agency-saml.d.ts.map +1 -1
  144. package/definitions/models/schema/cad-incident.d.ts +7 -3
  145. package/definitions/models/schema/cad-incident.d.ts.map +1 -1
  146. package/definitions/models/schema/cad-status-option-selected.d.ts +6 -2
  147. package/definitions/models/schema/cad-status-option-selected.d.ts.map +1 -1
  148. package/definitions/models/schema/color.d.ts +6 -2
  149. package/definitions/models/schema/color.d.ts.map +1 -1
  150. package/definitions/models/schema/common-incident.d.ts +54 -18
  151. package/definitions/models/schema/common-incident.d.ts.map +1 -1
  152. package/definitions/models/schema/esri-auth.d.ts +6 -2
  153. package/definitions/models/schema/esri-auth.d.ts.map +1 -1
  154. package/definitions/models/schema/esri-error.d.ts +6 -2
  155. package/definitions/models/schema/esri-error.d.ts.map +1 -1
  156. package/definitions/models/schema/esri-map.d.ts +6 -2
  157. package/definitions/models/schema/esri-map.d.ts.map +1 -1
  158. package/definitions/models/schema/firemapper-auth.d.ts +6 -2
  159. package/definitions/models/schema/firemapper-auth.d.ts.map +1 -1
  160. package/definitions/models/schema/geojson.d.ts +12 -4
  161. package/definitions/models/schema/geojson.d.ts.map +1 -1
  162. package/definitions/models/schema/oauth.d.ts +6 -2
  163. package/definitions/models/schema/oauth.d.ts.map +1 -1
  164. package/definitions/models/schema/pubnub-token.d.ts +6 -2
  165. package/definitions/models/schema/pubnub-token.d.ts.map +1 -1
  166. package/definitions/models/schema/remote-file.d.ts +6 -2
  167. package/definitions/models/schema/remote-file.d.ts.map +1 -1
  168. package/definitions/models/schema/validation-error-item.d.ts +6 -2
  169. package/definitions/models/schema/validation-error-item.d.ts.map +1 -1
  170. package/definitions/models/schema/webhook.d.ts +18 -6
  171. package/definitions/models/schema/webhook.d.ts.map +1 -1
  172. package/definitions/models/session.d.ts +4 -2
  173. package/definitions/models/session.d.ts.map +1 -1
  174. package/definitions/models/sms-log.d.ts +4 -2
  175. package/definitions/models/sms-log.d.ts.map +1 -1
  176. package/definitions/models/smtp-unhandled.d.ts +4 -2
  177. package/definitions/models/smtp-unhandled.d.ts.map +1 -1
  178. package/definitions/models/template.d.ts +11 -5
  179. package/definitions/models/template.d.ts.map +1 -1
  180. package/definitions/models/user-device.d.ts +4 -2
  181. package/definitions/models/user-device.d.ts.map +1 -1
  182. package/definitions/models/user-registration.d.ts +3 -1
  183. package/definitions/models/user-registration.d.ts.map +1 -1
  184. package/definitions/models/user.d.ts +11 -5
  185. package/definitions/models/user.d.ts.map +1 -1
  186. package/definitions/models/validation-report.d.ts +11 -5
  187. package/definitions/models/validation-report.d.ts.map +1 -1
  188. package/definitions/test/mock.d.ts +70 -69
  189. package/definitions/test/mock.d.ts.map +1 -1
  190. package/definitions/types/chart.d.ts +5 -9
  191. package/definitions/types/chart.d.ts.map +1 -1
  192. package/definitions/types/department.d.ts +8 -0
  193. package/definitions/types/department.d.ts.map +1 -1
  194. package/definitions/types/esri.d.ts.map +1 -1
  195. package/definitions/types/geojson.d.ts.map +1 -1
  196. package/definitions/types/personnel.d.ts +0 -4
  197. package/definitions/types/personnel.d.ts.map +1 -1
  198. package/definitions/types/sms-log.d.ts.map +1 -1
  199. package/definitions/types/validation.d.ts.map +1 -1
  200. package/eslint.config.mjs +51 -31
  201. package/package.json +14 -13
  202. package/src/constants.ts +6 -6
  203. package/src/helpers.ts +16 -17
  204. package/src/models/action-log.ts +1 -1
  205. package/src/models/agency.ts +2 -2
  206. package/src/models/arcgis-group.ts +1 -1
  207. package/src/models/assignment.ts +1 -1
  208. package/src/models/battalion.ts +4 -4
  209. package/src/models/beacon-log.ts +1 -1
  210. package/src/models/cad-incident-block.ts +1 -1
  211. package/src/models/cad-incident-stream.ts +1 -1
  212. package/src/models/cad-incident.ts +3 -3
  213. package/src/models/cad-simulation.ts +1 -1
  214. package/src/models/cad-status-map.ts +1 -1
  215. package/src/models/cad-status.ts +1 -1
  216. package/src/models/cad-vehicle-status-history.ts +1 -1
  217. package/src/models/cad-vehicle-status.ts +2 -2
  218. package/src/models/cad-vehicle.ts +1 -1
  219. package/src/models/chart-device-stats.ts +4 -4
  220. package/src/models/chart-incident.ts +3 -3
  221. package/src/models/chart-managed-incident.ts +3 -3
  222. package/src/models/chart-user.ts +1 -1
  223. package/src/models/checklist-item.ts +1 -2
  224. package/src/models/checklist.ts +1 -1
  225. package/src/models/csv-import.ts +1 -1
  226. package/src/models/department.ts +212 -173
  227. package/src/models/device-mapping.ts +2 -2
  228. package/src/models/esri.ts +1 -1
  229. package/src/models/gst-mapping.ts +2 -2
  230. package/src/models/incident-event.ts +2 -2
  231. package/src/models/incident-notified.ts +1 -1
  232. package/src/models/incident-takeover.ts +1 -1
  233. package/src/models/location.ts +2 -2
  234. package/src/models/mail-log.ts +1 -1
  235. package/src/models/mark43-incident-retry.ts +1 -1
  236. package/src/models/message.ts +1 -1
  237. package/src/models/monitor.ts +1 -1
  238. package/src/models/personnel-import.ts +1 -1
  239. package/src/models/personnel-known.ts +6 -2
  240. package/src/models/personnel-roster.ts +1 -1
  241. package/src/models/rate-limit.ts +1 -1
  242. package/src/models/remote-log-stream.ts +1 -1
  243. package/src/models/remote-log.ts +2 -2
  244. package/src/models/schema/agency-saml.ts +1 -1
  245. package/src/models/schema/cad-incident.ts +0 -60
  246. package/src/models/schema/common-incident.ts +1 -1
  247. package/src/models/schema/webhook.ts +3 -3
  248. package/src/models/session.ts +1 -1
  249. package/src/models/sms-log.ts +51 -51
  250. package/src/models/smtp-unhandled.ts +1 -1
  251. package/src/models/template.ts +1 -1
  252. package/src/models/user-device.ts +2 -2
  253. package/src/models/user-registration.ts +1 -1
  254. package/src/models/user.ts +3 -3
  255. package/src/models/validation-report.ts +1 -1
  256. package/src/test/cad-status.ts +0 -1
  257. package/src/test/csv-import.ts +0 -1
  258. package/src/test/device-mapping.ts +0 -1
  259. package/src/test/mock.ts +207 -208
  260. package/src/test/personnel-import.ts +0 -2
  261. package/src/test/release-note.ts +1 -2
  262. package/src/types/action-log.ts +1 -1
  263. package/src/types/chart.ts +6 -10
  264. package/src/types/checklist.ts +1 -1
  265. package/src/types/color.ts +1 -1
  266. package/src/types/department.ts +13 -4
  267. package/src/types/esri.ts +0 -1
  268. package/src/types/geojson.ts +0 -1
  269. package/src/types/incident-events.ts +1 -1
  270. package/src/types/personnel.ts +1 -6
  271. package/src/types/sms-log.ts +10 -10
  272. package/src/types/validation.ts +0 -1
  273. package/test-legacy/0index.js +0 -72
  274. package/test-legacy/action-log.js +0 -42
  275. package/test-legacy/agency.js +0 -42
  276. package/test-legacy/arcgis-group.js +0 -69
  277. package/test-legacy/assignment.js +0 -42
  278. package/test-legacy/battalion.js +0 -43
  279. package/test-legacy/cad-incident-block.js +0 -44
  280. package/test-legacy/cad-incident.js +0 -161
  281. package/test-legacy/cad-simulation.js +0 -34
  282. package/test-legacy/cad-status-map.js +0 -38
  283. package/test-legacy/cad-status.js +0 -53
  284. package/test-legacy/cad-vehicle-status-history.js +0 -36
  285. package/test-legacy/cad-vehicle-status.js +0 -44
  286. package/test-legacy/cad-vehicle.js +0 -39
  287. package/test-legacy/checklist-item.js +0 -44
  288. package/test-legacy/checklist.js +0 -45
  289. package/test-legacy/config.js +0 -15
  290. package/test-legacy/csv-import.js +0 -45
  291. package/test-legacy/department.js +0 -81
  292. package/test-legacy/device-mapping.js +0 -40
  293. package/test-legacy/esri.js +0 -69
  294. package/test-legacy/gst-mapping.js +0 -39
  295. package/test-legacy/helpers.js +0 -15
  296. package/test-legacy/incident-event.js +0 -54
  297. package/test-legacy/incident-notified.js +0 -38
  298. package/test-legacy/incident-takeover.js +0 -40
  299. package/test-legacy/job-log.js +0 -38
  300. package/test-legacy/location.js +0 -80
  301. package/test-legacy/mail-log.js +0 -48
  302. package/test-legacy/managed-incident.js +0 -117
  303. package/test-legacy/mark43-incident-retry.js +0 -35
  304. package/test-legacy/message.js +0 -40
  305. package/test-legacy/mock.js +0 -1285
  306. package/test-legacy/monitor.js +0 -36
  307. package/test-legacy/personnel-import.js +0 -51
  308. package/test-legacy/rate-limit.js +0 -34
  309. package/test-legacy/release-note.js +0 -36
  310. package/test-legacy/session.js +0 -44
  311. package/test-legacy/template.js +0 -45
  312. package/test-legacy/user-device.js +0 -56
  313. package/test-legacy/user-registration.js +0 -46
  314. package/test-legacy/user.js +0 -54
  315. package/test-legacy/validation-report.js +0 -34
@@ -83,4 +83,4 @@ export default async function IncidentTakeoverModule(mongoose: MongooseModule) {
83
83
  return mongoose.model<IncidentTakeover>("IncidentTakeover", modelSchema, "massive_incident_takeover", { overwriteModels: true });
84
84
  }
85
85
 
86
- export interface IncidentTakeoverModel extends Model<IncidentTakeover> { }
86
+ export interface IncidentTakeoverModel extends Model<IncidentTakeover> { }
@@ -49,7 +49,7 @@ export default async function LocationModule(mongoose: MongooseModule) {
49
49
  type: String,
50
50
  required: true,
51
51
  },
52
- // GST, SkyTrack, SkyMira, FleetComplete, Samsara, Somewear,
52
+ // GST, SkyTrack, SkyMira, FleetComplete, Samsara, Somewear,
53
53
  // CAD, Vehicle Modem (Truck), TC, TC Mobile (iOS/Android)
54
54
  source: {
55
55
  type: String,
@@ -69,7 +69,7 @@ export default async function LocationModule(mongoose: MongooseModule) {
69
69
  default: false,
70
70
  },
71
71
  // TC/TCMobile create duplicate records, with unique session id
72
- // If a session is closed, this record should be deletable after
72
+ // If a session is closed, this record should be deletable after
73
73
  // the record TTL - department.locationStaleMinutes
74
74
  // Any update, active or inactive, would set deleteAfterDate to now + locationStaleMinutes
75
75
  // If date is set, and in the past, the record can be deleted
@@ -88,4 +88,4 @@ export default async function MailLogModule(mongoose: MongooseModule) {
88
88
  return mongoose.model<MailLog>("MailLog", modelSchema, "massive_mail_log", { overwriteModels: true });
89
89
  }
90
90
 
91
- export interface MailLogModel extends Model<MailLog> { }
91
+ export interface MailLogModel extends Model<MailLog> { }
@@ -88,4 +88,4 @@ export default async function Mark43IncidentRetryModule(mongoose: MongooseModule
88
88
  return mongoose.model<Mark43IncidentRetry>("Mark43IncidentRetry", modelSchema, "massive_mark43_incident_retry", { overwriteModels: true });
89
89
  }
90
90
 
91
- export interface Mark43IncidentRetryModel extends Model<Mark43IncidentRetry> { }
91
+ export interface Mark43IncidentRetryModel extends Model<Mark43IncidentRetry> { }
@@ -122,4 +122,4 @@ export default async function MessageModule(mongoose: MongooseModule) {
122
122
  return mongoose.model<Message>("Message", modelSchema, "massive_message", { overwriteModels: true });
123
123
  }
124
124
 
125
- export interface MessageModel extends Model<Message> { }
125
+ export interface MessageModel extends Model<Message> { }
@@ -80,4 +80,4 @@ export default async function MonitorModule(mongoose: MongooseModule) {
80
80
  return mongoose.model<Monitor>("Monitor", modelSchema, "massive_monitor", { overwriteModels: true });
81
81
  }
82
82
 
83
- export interface MonitorModel extends Model<Monitor> { }
83
+ export interface MonitorModel extends Model<Monitor> { }
@@ -206,4 +206,4 @@ export default async function PersonnelImportModule(mongoose: MongooseModule) {
206
206
  return mongoose.model<PersonnelImport>("PersonnelImport", modelSchema, "massive_personnel_import", { overwriteModels: true });
207
207
  }
208
208
 
209
- export interface PersonnelImportModel extends Model<PersonnelImport> { }
209
+ export interface PersonnelImportModel extends Model<PersonnelImport> { }
@@ -20,6 +20,10 @@ export function PersonnelKnownSchema(mongoose: MongooseModule) {
20
20
  type: Boolean,
21
21
  default: true,
22
22
  },
23
+ source: {
24
+ type: String,
25
+ default: "",
26
+ },
23
27
  }, {
24
28
  _id: false,
25
29
  id: false,
@@ -66,7 +70,7 @@ export function PersonnelKnownSchema(mongoose: MongooseModule) {
66
70
  type: Boolean,
67
71
  default: false,
68
72
  },
69
- // Clarify if we'd like to link personnel
73
+ // Clarify if we'd like to link personnel
70
74
  // to TC agencies or external agencies
71
75
  jurisdiction: {
72
76
  type: String,
@@ -103,4 +107,4 @@ export default async function PersonnelKnownModule(mongoose: MongooseModule) {
103
107
  return mongoose.model<PersonnelKnown>("PersonnelKnown", modelSchema, "massive_personnel_known", { overwriteModels: true });
104
108
  }
105
109
 
106
- export interface PersonnelKnownModel extends Model<PersonnelKnown> { }
110
+ export interface PersonnelKnownModel extends Model<PersonnelKnown> { }
@@ -78,4 +78,4 @@ export default async function PersonnelRosterModule(mongoose: MongooseModule) {
78
78
  return mongoose.model<PersonnelRoster>("PersonnelRoster", modelSchema, "massive_personnel_roster", { overwriteModels: true });
79
79
  }
80
80
 
81
- export interface PersonnelRosterModel extends Model<PersonnelRoster> { }
81
+ export interface PersonnelRosterModel extends Model<PersonnelRoster> { }
@@ -46,4 +46,4 @@ export default async function RateLimitModule(mongoose: MongooseModule) {
46
46
  return mongoose.model<RateLimit>("RateLimit", modelSchema, "massive_rate_limit", { overwriteModels: true });
47
47
  }
48
48
 
49
- export interface RateLimitModel extends Model<RateLimit> { }
49
+ export interface RateLimitModel extends Model<RateLimit> { }
@@ -61,7 +61,7 @@ export default async function RemoteLogStreamModule(mongoose: MongooseModule) {
61
61
  },
62
62
  status: {
63
63
  type: String,
64
- default: "", // local, uploading, synced (uploaded to a remote storage)
64
+ default: "", // local, uploading, synced (uploaded to a remote storage)
65
65
  },
66
66
  // Formerly message.title
67
67
  message: {
@@ -57,7 +57,7 @@ export default async function RemoteLogModule(mongoose: MongooseModule) {
57
57
  },
58
58
  status: {
59
59
  type: String,
60
- default: "", // local, uploading, synced (uploaded to a remote storage)
60
+ default: "", // local, uploading, synced (uploaded to a remote storage)
61
61
  },
62
62
  // Formerly message.title
63
63
  message: {
@@ -112,4 +112,4 @@ export default async function RemoteLogModule(mongoose: MongooseModule) {
112
112
  return mongoose.model<RemoteLog>("RemoteLog", modelSchema, "massive_remote_log", { overwriteModels: true });
113
113
  }
114
114
 
115
- export interface RemoteLogModel extends Model<RemoteLog> { }
115
+ export interface RemoteLogModel extends Model<RemoteLog> { }
@@ -46,4 +46,4 @@ export default function AgencySAMLSchema(mongoose: MongooseModule) {
46
46
  });
47
47
 
48
48
  return AgencySAML;
49
- }
49
+ }
@@ -36,51 +36,30 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
36
36
  const CADPerson = CADPersonSchema(mongoose);
37
37
  CADPerson.set("toJSON", {
38
38
  versionKey: false,
39
- transform(doc, ret) {
40
- strictSchema(doc.schema as typeof modelSchema, ret);
41
- }
42
39
  });
43
40
  const Caller = CallerSchema(mongoose);
44
41
  Caller.set("toJSON", {
45
42
  versionKey: false,
46
- transform(doc, ret) {
47
- strictSchema(doc.schema as typeof modelSchema, ret);
48
- }
49
43
  });
50
44
  const RadioChannel = RadioChannelSchema(mongoose);
51
45
  RadioChannel.set("toJSON", {
52
46
  versionKey: false,
53
- transform(doc, ret) {
54
- strictSchema(doc.schema as typeof modelSchema, ret);
55
- }
56
47
  });
57
48
  const RecordValue = RecordSchema(mongoose);
58
49
  RecordValue.set("toJSON", {
59
50
  versionKey: false,
60
- transform(doc, ret) {
61
- strictSchema(doc.schema as typeof modelSchema, ret);
62
- }
63
51
  });
64
52
  const ReportNumber = ReportNumberSchema(mongoose);
65
53
  ReportNumber.set("toJSON", {
66
54
  versionKey: false,
67
- transform(doc, ret) {
68
- strictSchema(doc.schema as typeof modelSchema, ret);
69
- }
70
55
  });
71
56
  const SharedSource = SharedSourceSchema(mongoose);
72
57
  SharedSource.set("toJSON", {
73
58
  versionKey: false,
74
- transform(doc, ret) {
75
- strictSchema(doc.schema as typeof modelSchema, ret);
76
- }
77
59
  });
78
60
  const SharedTo = SharedToSchema(mongoose);
79
61
  SharedTo.set("toJSON", {
80
62
  versionKey: false,
81
- transform(doc, ret) {
82
- strictSchema(doc.schema as typeof modelSchema, ret);
83
- }
84
63
  });
85
64
 
86
65
  // Currently, supporting type: "ack", item: "knife"
@@ -122,9 +101,6 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
122
101
  });
123
102
  CADComment.set("toJSON", {
124
103
  versionKey: false,
125
- transform(doc, ret) {
126
- strictSchema(doc.schema as typeof modelSchema, ret);
127
- }
128
104
  });
129
105
 
130
106
  const CADUnit = new Schema<CADUnitType>({
@@ -184,9 +160,6 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
184
160
  });
185
161
  CADUnit.set("toJSON", {
186
162
  versionKey: false,
187
- transform(doc, ret) {
188
- strictSchema(doc.schema as typeof modelSchema, ret);
189
- }
190
163
  });
191
164
 
192
165
  const APNNotificationType = new Schema<APNNotificationTypeType>({
@@ -202,9 +175,6 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
202
175
  });
203
176
  APNNotificationType.set("toJSON", {
204
177
  versionKey: false,
205
- transform(doc, ret) {
206
- strictSchema(doc.schema as typeof modelSchema, ret);
207
- }
208
178
  });
209
179
 
210
180
  const CADPriorIncident = new Schema<CADPriorIncidentType>({
@@ -235,9 +205,6 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
235
205
  });
236
206
  CADPriorIncident.set("toJSON", {
237
207
  versionKey: false,
238
- transform(doc, ret) {
239
- strictSchema(doc.schema as typeof modelSchema, ret);
240
- }
241
208
  });
242
209
 
243
210
  // Main schema
@@ -567,35 +534,8 @@ export function CADIncidentSchema(mongoose: MongooseModule) {
567
534
  modelSchema.set("toJSON", {
568
535
  virtuals: true,
569
536
  versionKey: false,
570
- transform(doc, ret: Record<string, unknown>) {
571
- // Remove fields that should not be here
572
- delete (ret as unknown as { apikey: unknown }).apikey;
573
-
574
- strictSchema(doc.schema as typeof modelSchema, ret);
575
- },
576
537
  });
577
538
 
578
-
579
- const ignoreFields: ReadonlyArray<string> = ["station", "callerNumber"];
580
-
581
- function strictSchema(schema: typeof modelSchema, ret: Record<string, unknown>) {
582
- Object.keys(ret).forEach(function(element) {
583
- // Don't complain about the virtuals
584
- if (element === "id") {
585
- return;
586
- }
587
-
588
- if (ignoreFields.indexOf(element) !== -1) {
589
- delete ret[element];
590
- return;
591
- }
592
- const pathSchema = schema as unknown as { paths: Record<string, string> };
593
- if (pathSchema.paths[element] === undefined) {
594
- // console.log("backend-models.cad-incident: undefined schema.paths[element]:", element, pathSchema.paths[element]);
595
- delete ret[element];
596
- }
597
- });
598
- }
599
539
  modelSchema.plugin(mongooseLeanVirtuals);
600
540
  return modelSchema;
601
541
  }
@@ -52,7 +52,7 @@ export function CallerSchema(mongoose: MongooseModule) {
52
52
  const { Schema } = mongoose;
53
53
 
54
54
  const Item = new Schema<CallerType>({
55
- // Should match
55
+ // Should match
56
56
  CallerId: {
57
57
  type: String,
58
58
  default: "",
@@ -80,10 +80,10 @@ export function WebhookAuthSchema(mongoose: MongooseModule) {
80
80
  const { Schema } = mongoose;
81
81
 
82
82
  const WebhookAuthConfig = new Schema<WebhookAuthType>({
83
- type: {
83
+ type: {
84
84
  type: String,
85
85
  default: "",
86
- },
86
+ },
87
87
  apikey: {
88
88
  type: String,
89
89
  default: "",
@@ -137,4 +137,4 @@ export function WebhookSchema(mongoose: MongooseModule) {
137
137
  });
138
138
 
139
139
  return WebhookConfig;
140
- }
140
+ }
@@ -138,4 +138,4 @@ export default async function SessionModule(mongoose: MongooseModule) {
138
138
  return mongoose.model<Session>("Session", modelSchema, "sys_login", { overwriteModels: true });
139
139
  }
140
140
 
141
- export interface SessionModel extends Model<Session> { }
141
+ export interface SessionModel extends Model<Session> { }
@@ -1,64 +1,64 @@
1
1
  import { Model } from "mongoose";
2
2
  import {
3
- MongooseModule,
3
+ MongooseModule,
4
4
  } from "../helpers";
5
5
  import { SMSLogType } from "../types/sms-log";
6
6
 
7
7
  export interface SMSLog extends SMSLogType { }
8
8
 
9
9
  export default async function SMSLogModule(mongoose: MongooseModule) {
10
- const { Schema } = mongoose;
10
+ const { Schema } = mongoose;
11
11
 
12
- const modelSchema = new Schema<SMSLogType>({
13
- _id: {
14
- type: Schema.Types.ObjectId,
15
- auto: true,
16
- },
17
- accountId: {
18
- type: String,
19
- default: ""
20
- },
21
- messageId: {
22
- type: String,
23
- default: "",
24
- },
25
- status: {
26
- type: String,
27
- default: "",
28
- },
29
- createdAt: {
30
- type: Date,
31
- },
32
- sentAt: {
33
- type: Date,
34
- },
35
- from: {
36
- type: String,
37
- default: "",
38
- },
39
- to: {
40
- type: String,
41
- default: "",
42
- },
43
- errorCode: {
44
- type: String,
45
- default: "",
46
- },
47
- errorMessage: {
48
- type: String,
49
- default: "",
50
- },
51
- }, {
52
- autoIndex: false,
53
- });
12
+ const modelSchema = new Schema<SMSLogType>({
13
+ _id: {
14
+ type: Schema.Types.ObjectId,
15
+ auto: true,
16
+ },
17
+ accountId: {
18
+ type: String,
19
+ default: ""
20
+ },
21
+ messageId: {
22
+ type: String,
23
+ default: "",
24
+ },
25
+ status: {
26
+ type: String,
27
+ default: "",
28
+ },
29
+ createdAt: {
30
+ type: Date,
31
+ },
32
+ sentAt: {
33
+ type: Date,
34
+ },
35
+ from: {
36
+ type: String,
37
+ default: "",
38
+ },
39
+ to: {
40
+ type: String,
41
+ default: "",
42
+ },
43
+ errorCode: {
44
+ type: String,
45
+ default: "",
46
+ },
47
+ errorMessage: {
48
+ type: String,
49
+ default: "",
50
+ },
51
+ }, {
52
+ autoIndex: false,
53
+ });
54
54
 
55
- modelSchema.index({
56
- status: 1,
57
- }, {
58
- name: "status_1",
59
- });
55
+ modelSchema.index({
56
+ status: 1,
57
+ }, {
58
+ name: "status_1",
59
+ });
60
60
 
61
- return mongoose.model<SMSLog>("SMSLog", modelSchema, "massive_sms_log", { overwriteModels: true });
61
+ return mongoose.model<SMSLog>("SMSLog", modelSchema, "massive_sms_log", { overwriteModels: true });
62
62
  }
63
63
 
64
- export interface SMSLogModel extends Model<SMSLog> { }
64
+ export interface SMSLogModel extends Model<SMSLog> { }
@@ -34,4 +34,4 @@ export default async function SMTPUnhandledModule(mongoose: MongooseModule) {
34
34
  return mongoose.model<SMTPUnhandled>("SMTPUnhandled", modelSchema, "massive_smtp_unhandled", { overwriteModels: true });
35
35
  }
36
36
 
37
- export interface SMTPUnhandledModel extends Model<SMTPUnhandled> { }
37
+ export interface SMTPUnhandledModel extends Model<SMTPUnhandled> { }
@@ -149,4 +149,4 @@ export default async function TemplateModule(mongoose: MongooseModule) {
149
149
  return mongoose.model<Template>("Template", modelSchema, "massive_template", { overwriteModels: true });
150
150
  }
151
151
 
152
- export interface TemplateModel extends Model<Template> { }
152
+ export interface TemplateModel extends Model<Template> { }
@@ -93,7 +93,7 @@ export default async function UserDeviceModule(mongoose: MongooseModule) {
93
93
  default: 0
94
94
  },
95
95
  // Used by Android, to allow changing notification channel setup between releases
96
- // Android notification channels are immutable
96
+ // Android notification channels are immutable
97
97
  // <https://developer.android.com/develop/ui/views/notifications/channels>
98
98
  channelId: {
99
99
  type: String,
@@ -237,4 +237,4 @@ export default async function UserDeviceModule(mongoose: MongooseModule) {
237
237
  return mongoose.model<UserDevice>("UserDevice", modelSchema, "massive_user_device", { overwriteModels: true });
238
238
  }
239
239
 
240
- export interface UserDeviceModel extends Model<UserDevice> { }
240
+ export interface UserDeviceModel extends Model<UserDevice> { }
@@ -97,4 +97,4 @@ export default async function UserRegistrationModule(mongoose: MongooseModule) {
97
97
  return mongoose.model<UserRegistration>("UserRegistration", modelSchema, "massive_user_registration", { overwriteModels: true });
98
98
  }
99
99
 
100
- export interface UserRegistrationModel extends Model<UserRegistration> { }
100
+ export interface UserRegistrationModel extends Model<UserRegistration> { }
@@ -303,8 +303,8 @@ export function UserSchema(mongoose: MongooseModule) {
303
303
  }, {
304
304
  name: "departmentId_1_vehicle_1_partial",
305
305
  partialFilterExpression: {
306
- "vehicle": {
307
- "$exists": true
306
+ vehicle: {
307
+ $exists: true
308
308
  }
309
309
  }
310
310
  });
@@ -323,7 +323,7 @@ export function UserSchema(mongoose: MongooseModule) {
323
323
  unique: true,
324
324
  });
325
325
 
326
- // A field has to be defined as text and weight
326
+ // A field has to be defined as text and weight
327
327
  modelSchema.index({
328
328
  nick: "text",
329
329
  email: "text",
@@ -73,4 +73,4 @@ export default async function ValidationReportModule(mongoose: MongooseModule) {
73
73
  return mongoose.model<ValidationReport>("ValidationReport", modelSchema, "massive_validation_report", { overwriteModels: true });
74
74
  }
75
75
 
76
- export interface ValidationReportModel extends Model<ValidationReport> { }
76
+ export interface ValidationReportModel extends Model<ValidationReport> { }
@@ -51,7 +51,6 @@ describe("CADStatus", function() {
51
51
  } else {
52
52
  assert.equal(testItem.options?.length, 1);
53
53
  assert.equal(sut.options?.length, 1);
54
-
55
54
  }
56
55
  });
57
56
  });
@@ -41,4 +41,3 @@ describe("CSVImport", function() {
41
41
  assert.equal(testItem.sendNotification, sut.sendNotification);
42
42
  });
43
43
  });
44
-
@@ -38,7 +38,6 @@ describe("DeviceMapping", function() {
38
38
  assert.isFalse(sut.mapHidden);
39
39
  });
40
40
 
41
-
42
41
  it("is saved with trim", async function() {
43
42
  const item = new models.DeviceMapping(testItemForTrim);
44
43
  const sut = await item.save();