tabletcommand-backend-models 7.3.38 → 7.4.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 (311) 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 +177 -172
  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.map +1 -1
  30. package/build/models/schema/common-incident.js +1 -1
  31. package/build/models/schema/common-incident.js.map +1 -1
  32. package/build/models/sms-log.js.map +1 -1
  33. package/build/models/user-device.js +1 -1
  34. package/build/models/user-device.js.map +1 -1
  35. package/build/models/user.js +3 -3
  36. package/build/models/user.js.map +1 -1
  37. package/build/test/cad-status.js.map +1 -1
  38. package/build/test/device-mapping.js.map +1 -1
  39. package/build/test/mock.js +204 -203
  40. package/build/test/mock.js.map +1 -1
  41. package/build/test/personnel-import.js.map +1 -1
  42. package/build/test/release-note.js.map +1 -1
  43. package/definitions/helpers.d.ts.map +1 -1
  44. package/definitions/index.d.ts +203 -97
  45. package/definitions/index.d.ts.map +1 -1
  46. package/definitions/models/action-log.d.ts +4 -2
  47. package/definitions/models/action-log.d.ts.map +1 -1
  48. package/definitions/models/agency.d.ts +11 -5
  49. package/definitions/models/agency.d.ts.map +1 -1
  50. package/definitions/models/arcgis-group.d.ts +3 -1
  51. package/definitions/models/arcgis-group.d.ts.map +1 -1
  52. package/definitions/models/assignment.d.ts +4 -2
  53. package/definitions/models/assignment.d.ts.map +1 -1
  54. package/definitions/models/battalion.d.ts +11 -5
  55. package/definitions/models/battalion.d.ts.map +1 -1
  56. package/definitions/models/beacon-log.d.ts +4 -2
  57. package/definitions/models/beacon-log.d.ts.map +1 -1
  58. package/definitions/models/cad-incident-block.d.ts +4 -2
  59. package/definitions/models/cad-incident-block.d.ts.map +1 -1
  60. package/definitions/models/cad-incident-stream.d.ts +4 -2
  61. package/definitions/models/cad-incident-stream.d.ts.map +1 -1
  62. package/definitions/models/cad-incident.d.ts +4 -2
  63. package/definitions/models/cad-incident.d.ts.map +1 -1
  64. package/definitions/models/cad-simulation.d.ts +3 -1
  65. package/definitions/models/cad-simulation.d.ts.map +1 -1
  66. package/definitions/models/cad-status-map.d.ts +3 -1
  67. package/definitions/models/cad-status-map.d.ts.map +1 -1
  68. package/definitions/models/cad-status.d.ts +3 -1
  69. package/definitions/models/cad-status.d.ts.map +1 -1
  70. package/definitions/models/cad-vehicle-status-history.d.ts +3 -1
  71. package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
  72. package/definitions/models/cad-vehicle-status.d.ts +3 -1
  73. package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
  74. package/definitions/models/cad-vehicle.d.ts +3 -1
  75. package/definitions/models/cad-vehicle.d.ts.map +1 -1
  76. package/definitions/models/chart-device-stats.d.ts +4 -2
  77. package/definitions/models/chart-device-stats.d.ts.map +1 -1
  78. package/definitions/models/chart-incident.d.ts +4 -2
  79. package/definitions/models/chart-incident.d.ts.map +1 -1
  80. package/definitions/models/chart-managed-incident.d.ts +4 -2
  81. package/definitions/models/chart-managed-incident.d.ts.map +1 -1
  82. package/definitions/models/chart-user.d.ts +4 -2
  83. package/definitions/models/chart-user.d.ts.map +1 -1
  84. package/definitions/models/checklist-item.d.ts +11 -5
  85. package/definitions/models/checklist-item.d.ts.map +1 -1
  86. package/definitions/models/checklist.d.ts +11 -5
  87. package/definitions/models/checklist.d.ts.map +1 -1
  88. package/definitions/models/csv-import.d.ts +4 -2
  89. package/definitions/models/csv-import.d.ts.map +1 -1
  90. package/definitions/models/department.d.ts +5 -2
  91. package/definitions/models/department.d.ts.map +1 -1
  92. package/definitions/models/device-mapping.d.ts +4 -2
  93. package/definitions/models/device-mapping.d.ts.map +1 -1
  94. package/definitions/models/esri.d.ts +11 -5
  95. package/definitions/models/esri.d.ts.map +1 -1
  96. package/definitions/models/gst-mapping.d.ts +4 -2
  97. package/definitions/models/gst-mapping.d.ts.map +1 -1
  98. package/definitions/models/incident-event.d.ts +11 -5
  99. package/definitions/models/incident-event.d.ts.map +1 -1
  100. package/definitions/models/incident-filter.d.ts +4 -2
  101. package/definitions/models/incident-filter.d.ts.map +1 -1
  102. package/definitions/models/incident-notified.d.ts +4 -2
  103. package/definitions/models/incident-notified.d.ts.map +1 -1
  104. package/definitions/models/incident-share-code.d.ts +4 -2
  105. package/definitions/models/incident-share-code.d.ts.map +1 -1
  106. package/definitions/models/incident-takeover.d.ts +4 -2
  107. package/definitions/models/incident-takeover.d.ts.map +1 -1
  108. package/definitions/models/job-log.d.ts +4 -2
  109. package/definitions/models/job-log.d.ts.map +1 -1
  110. package/definitions/models/location.d.ts +4 -2
  111. package/definitions/models/location.d.ts.map +1 -1
  112. package/definitions/models/mail-log.d.ts +4 -2
  113. package/definitions/models/mail-log.d.ts.map +1 -1
  114. package/definitions/models/managed-incident.d.ts +4 -2
  115. package/definitions/models/managed-incident.d.ts.map +1 -1
  116. package/definitions/models/mark43-incident-retry.d.ts +3 -1
  117. package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
  118. package/definitions/models/message.d.ts +4 -2
  119. package/definitions/models/message.d.ts.map +1 -1
  120. package/definitions/models/monitor.d.ts +4 -2
  121. package/definitions/models/monitor.d.ts.map +1 -1
  122. package/definitions/models/personnel-import.d.ts +11 -5
  123. package/definitions/models/personnel-import.d.ts.map +1 -1
  124. package/definitions/models/personnel-known.d.ts +11 -5
  125. package/definitions/models/personnel-known.d.ts.map +1 -1
  126. package/definitions/models/personnel-roster.d.ts +11 -5
  127. package/definitions/models/personnel-roster.d.ts.map +1 -1
  128. package/definitions/models/rate-limit.d.ts +4 -2
  129. package/definitions/models/rate-limit.d.ts.map +1 -1
  130. package/definitions/models/release-note.d.ts +4 -2
  131. package/definitions/models/release-note.d.ts.map +1 -1
  132. package/definitions/models/remote-log-stream.d.ts +4 -2
  133. package/definitions/models/remote-log-stream.d.ts.map +1 -1
  134. package/definitions/models/remote-log.d.ts +4 -2
  135. package/definitions/models/remote-log.d.ts.map +1 -1
  136. package/definitions/models/schema/agency-cron-config.d.ts +6 -2
  137. package/definitions/models/schema/agency-cron-config.d.ts.map +1 -1
  138. package/definitions/models/schema/agency-saml.d.ts +6 -2
  139. package/definitions/models/schema/agency-saml.d.ts.map +1 -1
  140. package/definitions/models/schema/cad-incident.d.ts +7 -3
  141. package/definitions/models/schema/cad-incident.d.ts.map +1 -1
  142. package/definitions/models/schema/cad-status-option-selected.d.ts +6 -2
  143. package/definitions/models/schema/cad-status-option-selected.d.ts.map +1 -1
  144. package/definitions/models/schema/color.d.ts +6 -2
  145. package/definitions/models/schema/color.d.ts.map +1 -1
  146. package/definitions/models/schema/common-incident.d.ts +54 -18
  147. package/definitions/models/schema/common-incident.d.ts.map +1 -1
  148. package/definitions/models/schema/esri-auth.d.ts +6 -2
  149. package/definitions/models/schema/esri-auth.d.ts.map +1 -1
  150. package/definitions/models/schema/esri-error.d.ts +6 -2
  151. package/definitions/models/schema/esri-error.d.ts.map +1 -1
  152. package/definitions/models/schema/esri-map.d.ts +6 -2
  153. package/definitions/models/schema/esri-map.d.ts.map +1 -1
  154. package/definitions/models/schema/firemapper-auth.d.ts +6 -2
  155. package/definitions/models/schema/firemapper-auth.d.ts.map +1 -1
  156. package/definitions/models/schema/geojson.d.ts +12 -4
  157. package/definitions/models/schema/geojson.d.ts.map +1 -1
  158. package/definitions/models/schema/oauth.d.ts +6 -2
  159. package/definitions/models/schema/oauth.d.ts.map +1 -1
  160. package/definitions/models/schema/pubnub-token.d.ts +6 -2
  161. package/definitions/models/schema/pubnub-token.d.ts.map +1 -1
  162. package/definitions/models/schema/remote-file.d.ts +6 -2
  163. package/definitions/models/schema/remote-file.d.ts.map +1 -1
  164. package/definitions/models/schema/validation-error-item.d.ts +6 -2
  165. package/definitions/models/schema/validation-error-item.d.ts.map +1 -1
  166. package/definitions/models/schema/webhook.d.ts +18 -6
  167. package/definitions/models/schema/webhook.d.ts.map +1 -1
  168. package/definitions/models/session.d.ts +4 -2
  169. package/definitions/models/session.d.ts.map +1 -1
  170. package/definitions/models/sms-log.d.ts +4 -2
  171. package/definitions/models/sms-log.d.ts.map +1 -1
  172. package/definitions/models/smtp-unhandled.d.ts +4 -2
  173. package/definitions/models/smtp-unhandled.d.ts.map +1 -1
  174. package/definitions/models/template.d.ts +11 -5
  175. package/definitions/models/template.d.ts.map +1 -1
  176. package/definitions/models/user-device.d.ts +4 -2
  177. package/definitions/models/user-device.d.ts.map +1 -1
  178. package/definitions/models/user-registration.d.ts +3 -1
  179. package/definitions/models/user-registration.d.ts.map +1 -1
  180. package/definitions/models/user.d.ts +11 -5
  181. package/definitions/models/user.d.ts.map +1 -1
  182. package/definitions/models/validation-report.d.ts +11 -5
  183. package/definitions/models/validation-report.d.ts.map +1 -1
  184. package/definitions/test/mock.d.ts +1 -0
  185. package/definitions/test/mock.d.ts.map +1 -1
  186. package/definitions/types/chart.d.ts +5 -9
  187. package/definitions/types/chart.d.ts.map +1 -1
  188. package/definitions/types/department.d.ts +1 -0
  189. package/definitions/types/department.d.ts.map +1 -1
  190. package/definitions/types/esri.d.ts.map +1 -1
  191. package/definitions/types/geojson.d.ts.map +1 -1
  192. package/definitions/types/personnel.d.ts +0 -4
  193. package/definitions/types/personnel.d.ts.map +1 -1
  194. package/definitions/types/sms-log.d.ts.map +1 -1
  195. package/definitions/types/validation.d.ts.map +1 -1
  196. package/eslint.config.mjs +51 -31
  197. package/package.json +13 -12
  198. package/src/constants.ts +6 -6
  199. package/src/helpers.ts +16 -17
  200. package/src/models/action-log.ts +1 -1
  201. package/src/models/agency.ts +2 -2
  202. package/src/models/arcgis-group.ts +1 -1
  203. package/src/models/assignment.ts +1 -1
  204. package/src/models/battalion.ts +4 -4
  205. package/src/models/beacon-log.ts +1 -1
  206. package/src/models/cad-incident-block.ts +1 -1
  207. package/src/models/cad-incident-stream.ts +1 -1
  208. package/src/models/cad-incident.ts +3 -3
  209. package/src/models/cad-simulation.ts +1 -1
  210. package/src/models/cad-status-map.ts +1 -1
  211. package/src/models/cad-status.ts +1 -1
  212. package/src/models/cad-vehicle-status-history.ts +1 -1
  213. package/src/models/cad-vehicle-status.ts +2 -2
  214. package/src/models/cad-vehicle.ts +1 -1
  215. package/src/models/chart-device-stats.ts +4 -4
  216. package/src/models/chart-incident.ts +3 -3
  217. package/src/models/chart-managed-incident.ts +3 -3
  218. package/src/models/chart-user.ts +1 -1
  219. package/src/models/checklist-item.ts +1 -2
  220. package/src/models/checklist.ts +1 -1
  221. package/src/models/csv-import.ts +1 -1
  222. package/src/models/department.ts +177 -172
  223. package/src/models/device-mapping.ts +2 -2
  224. package/src/models/esri.ts +1 -1
  225. package/src/models/gst-mapping.ts +2 -2
  226. package/src/models/incident-event.ts +2 -2
  227. package/src/models/incident-notified.ts +1 -1
  228. package/src/models/incident-takeover.ts +1 -1
  229. package/src/models/location.ts +2 -2
  230. package/src/models/mail-log.ts +1 -1
  231. package/src/models/mark43-incident-retry.ts +1 -1
  232. package/src/models/message.ts +1 -1
  233. package/src/models/monitor.ts +1 -1
  234. package/src/models/personnel-import.ts +1 -1
  235. package/src/models/personnel-known.ts +6 -2
  236. package/src/models/personnel-roster.ts +1 -1
  237. package/src/models/rate-limit.ts +1 -1
  238. package/src/models/remote-log-stream.ts +1 -1
  239. package/src/models/remote-log.ts +2 -2
  240. package/src/models/schema/agency-saml.ts +1 -1
  241. package/src/models/schema/cad-incident.ts +0 -1
  242. package/src/models/schema/common-incident.ts +1 -1
  243. package/src/models/schema/webhook.ts +3 -3
  244. package/src/models/session.ts +1 -1
  245. package/src/models/sms-log.ts +51 -51
  246. package/src/models/smtp-unhandled.ts +1 -1
  247. package/src/models/template.ts +1 -1
  248. package/src/models/user-device.ts +2 -2
  249. package/src/models/user-registration.ts +1 -1
  250. package/src/models/user.ts +3 -3
  251. package/src/models/validation-report.ts +1 -1
  252. package/src/test/cad-status.ts +0 -1
  253. package/src/test/csv-import.ts +0 -1
  254. package/src/test/device-mapping.ts +0 -1
  255. package/src/test/mock.ts +204 -205
  256. package/src/test/personnel-import.ts +0 -2
  257. package/src/test/release-note.ts +1 -2
  258. package/src/types/action-log.ts +1 -1
  259. package/src/types/chart.ts +6 -10
  260. package/src/types/checklist.ts +1 -1
  261. package/src/types/color.ts +1 -1
  262. package/src/types/department.ts +5 -4
  263. package/src/types/esri.ts +0 -1
  264. package/src/types/geojson.ts +0 -1
  265. package/src/types/incident-events.ts +1 -1
  266. package/src/types/personnel.ts +1 -6
  267. package/src/types/sms-log.ts +10 -10
  268. package/src/types/validation.ts +0 -1
  269. package/test-legacy/0index.js +0 -72
  270. package/test-legacy/action-log.js +0 -42
  271. package/test-legacy/agency.js +0 -42
  272. package/test-legacy/arcgis-group.js +0 -69
  273. package/test-legacy/assignment.js +0 -42
  274. package/test-legacy/battalion.js +0 -43
  275. package/test-legacy/cad-incident-block.js +0 -44
  276. package/test-legacy/cad-incident.js +0 -161
  277. package/test-legacy/cad-simulation.js +0 -34
  278. package/test-legacy/cad-status-map.js +0 -38
  279. package/test-legacy/cad-status.js +0 -53
  280. package/test-legacy/cad-vehicle-status-history.js +0 -36
  281. package/test-legacy/cad-vehicle-status.js +0 -44
  282. package/test-legacy/cad-vehicle.js +0 -39
  283. package/test-legacy/checklist-item.js +0 -44
  284. package/test-legacy/checklist.js +0 -45
  285. package/test-legacy/config.js +0 -15
  286. package/test-legacy/csv-import.js +0 -45
  287. package/test-legacy/department.js +0 -81
  288. package/test-legacy/device-mapping.js +0 -40
  289. package/test-legacy/esri.js +0 -69
  290. package/test-legacy/gst-mapping.js +0 -39
  291. package/test-legacy/helpers.js +0 -15
  292. package/test-legacy/incident-event.js +0 -54
  293. package/test-legacy/incident-notified.js +0 -38
  294. package/test-legacy/incident-takeover.js +0 -40
  295. package/test-legacy/job-log.js +0 -38
  296. package/test-legacy/location.js +0 -80
  297. package/test-legacy/mail-log.js +0 -48
  298. package/test-legacy/managed-incident.js +0 -117
  299. package/test-legacy/mark43-incident-retry.js +0 -35
  300. package/test-legacy/message.js +0 -40
  301. package/test-legacy/mock.js +0 -1285
  302. package/test-legacy/monitor.js +0 -36
  303. package/test-legacy/personnel-import.js +0 -51
  304. package/test-legacy/rate-limit.js +0 -34
  305. package/test-legacy/release-note.js +0 -36
  306. package/test-legacy/session.js +0 -44
  307. package/test-legacy/template.js +0 -45
  308. package/test-legacy/user-device.js +0 -56
  309. package/test-legacy/user-registration.js +0 -46
  310. package/test-legacy/user.js +0 -54
  311. package/test-legacy/validation-report.js +0 -34
@@ -32,4 +32,4 @@ export interface ChecklistItemType {
32
32
  active: boolean,
33
33
  name: string,
34
34
  description: string,
35
- }
35
+ }
@@ -1,4 +1,4 @@
1
1
  export interface ColorSchemaType extends Record<string, unknown> {
2
2
  background: string,
3
3
  text: string,
4
- }
4
+ }
@@ -125,6 +125,7 @@ export interface ADSBConfigType {
125
125
  token: string,
126
126
  locationsUrl: string,
127
127
  tailNumbersAllowed: string[],
128
+ squawkCodes: string[],
128
129
  }
129
130
 
130
131
  export interface SomewearType {
@@ -276,7 +277,7 @@ export interface ShareIncidentRuleType {
276
277
  departmentId: string,
277
278
  departmentName: string,
278
279
 
279
- // V2, move ruleType as key, configuration as value,
280
+ // V2, move ruleType as key, configuration as value,
280
281
  // if not set, configured as the default falsy (false, [], "")
281
282
  always: boolean, // If true, always share
282
283
  assignedUnit: ShareIncidentRuleTypeConfigurationAssignedUnit,
@@ -289,15 +290,15 @@ export interface ShareIncidentRuleType {
289
290
 
290
291
  export type ShareIncidentRuleTypeConfigurationAssignedUnit = {
291
292
  radioNames: string[],
292
- }
293
+ };
293
294
 
294
295
  export type ShareIncidentRuleTypeConfigurationIncidentType = {
295
296
  callTypeDescription: string[],
296
- }
297
+ };
297
298
 
298
299
  export type ShareIncidentRuleTypeConfigurationReportNumber = {
299
300
  startsWith: ReportNumberSchemaType[],
300
- }
301
+ };
301
302
 
302
303
  export interface ForwardFieldsType {
303
304
  key: string,
package/src/types/esri.ts CHANGED
@@ -36,7 +36,6 @@ export interface EsriErrorSchemaType {
36
36
  message: string,
37
37
  }
38
38
 
39
-
40
39
  export interface MapLayerType {
41
40
  layerId: string,
42
41
  itemId: string,
@@ -1,4 +1,3 @@
1
-
2
1
  export type GeoPoint = {
3
2
  type: "Point",
4
3
  coordinates: number[]
@@ -65,4 +65,4 @@ export interface IncidentTakeoverType {
65
65
  request_time: number,
66
66
  last_response_time: number,
67
67
  response_time: number,
68
- }
68
+ }
@@ -44,11 +44,6 @@ export interface PersonnelRosterType {
44
44
  active: boolean,
45
45
  }
46
46
 
47
- export interface RadioType {
48
- radioName: string,
49
- active: boolean,
50
- }
51
-
52
47
  export interface PersonnelKnownType {
53
48
  _id: Types.ObjectId,
54
49
  PersonnelID: string,
@@ -63,4 +58,4 @@ export interface PersonnelKnownType {
63
58
  jurisdiction: string,
64
59
  agencyId: Types.ObjectId,
65
60
  source: string,
66
- }
61
+ }
@@ -1,14 +1,14 @@
1
1
  import { Types } from "mongoose";
2
2
 
3
3
  export interface SMSLogType {
4
- _id: Types.ObjectId,
5
- accountId: string, // twilio - accountSid
6
- messageId: string, // twilio - sid
7
- status: string,
8
- createdAt: Date,
9
- sentAt: Date,
10
- from: string, // email address
11
- to: string, // phone number
12
- errorCode: string,
13
- errorMessage: string,
4
+ _id: Types.ObjectId,
5
+ accountId: string, // twilio - accountSid
6
+ messageId: string, // twilio - sid
7
+ status: string,
8
+ createdAt: Date,
9
+ sentAt: Date,
10
+ from: string, // email address
11
+ to: string, // phone number
12
+ errorCode: string,
13
+ errorMessage: string,
14
14
  }
@@ -8,7 +8,6 @@ export interface ValidationErrorItemSchemaType {
8
8
  payload: object,
9
9
  }
10
10
 
11
-
12
11
  export interface ValidationReportType {
13
12
  _id: Types.ObjectId,
14
13
  departmentId: Types.ObjectId,
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("../");
6
- const config = require("./config");
7
-
8
- describe(" Models", function() {
9
- let models, mongoose;
10
- beforeEach(async function() {
11
- const c = await m.connect(config.url);
12
- models = c.models;
13
- mongoose = c.mongoose;
14
- });
15
- afterEach(function() {
16
- mongoose.disconnect();
17
- });
18
-
19
- it("are wired", function() {
20
- // These should match index.js
21
- assert.isFunction(models.ActionLog, "Missing ActionLog");
22
- assert.isFunction(models.Agency, "Missing Agency");
23
- assert.isFunction(models.ArcGISGroup, "Missing ArcGISGroup");
24
- assert.isFunction(models.Assignment, "Missing Assignment");
25
- assert.isFunction(models.Battalion, "Missing Battalion");
26
- assert.isFunction(models.BeaconLog, "Missing BeaconLog");
27
- assert.isFunction(models.CADIncident, "Missing CADIncident");
28
- assert.isFunction(models.CADIncidentBlock, "Missing CADIncidentBlock");
29
- assert.isFunction(models.CADIncidentStream, "Missing CADIncidentStream");
30
- assert.isFunction(models.CADSimulation, "Missing CADSimulation");
31
- assert.isFunction(models.CADStatus, "Missing CADStatus");
32
- assert.isFunction(models.CADStatusMap, "Missing CADStatusMap");
33
- assert.isFunction(models.CADVehicle, "Missing CADVehicle");
34
- assert.isFunction(models.CADVehicleStatus, "Missing CADVehicleStatus");
35
- assert.isFunction(models.CADVehicleStatusHistory, "Missing CADVehicleStatusHistory");
36
- assert.isFunction(models.ChartDeviceStats, "Missing ChartDeviceStats");
37
- assert.isFunction(models.ChartIncident, "Missing ChartIncident");
38
- assert.isFunction(models.ChartManagedIncident, "Missing ChartManagedIncident");
39
- assert.isFunction(models.ChartUser, "Missing ChartUser");
40
- assert.isFunction(models.Checklist, "Missing Checklist");
41
- assert.isFunction(models.ChecklistItem, "Missing ChecklistItem");
42
- assert.isFunction(models.CSVImport, "Missing CSVImport");
43
- assert.isFunction(models.Department, "Missing Department");
44
- assert.isFunction(models.DeviceMapping, "Missing DeviceMapping");
45
- assert.isFunction(models.Esri, "Missing Esri");
46
- assert.isFunction(models.GSTMapping, "Missing GSTMapping");
47
- assert.isFunction(models.IncidentEvent, "Missing IncidentEvent");
48
- assert.isFunction(models.IncidentNotified, "Missing IncidentNotified");
49
- assert.isFunction(models.IncidentTakeover, "Missing IncidentTakeover");
50
- assert.isFunction(models.JobLog, "Missing JobLog");
51
- assert.isFunction(models.Location, "Missing Location");
52
- assert.isFunction(models.MailLog, "Missing MailLog");
53
- assert.isFunction(models.ManagedIncident, "Missing ManagedIncident");
54
- assert.isFunction(models.Mark43IncidentRetry, "Missing Mark43IncidentRetry");
55
- assert.isFunction(models.Message, "Missing Message");
56
- assert.isFunction(models.Monitor, "Missing Monitor");
57
- assert.isFunction(models.PersonnelImport, "Missing PersonnelImport");
58
- assert.isFunction(models.PersonnelKnown, "Missing PersonnelKnown");
59
- assert.isFunction(models.PersonnelRoster, "Missing PersonnelRoster");
60
- assert.isFunction(models.RateLimit, "Missing RateLimit");
61
- assert.isFunction(models.ReleaseNote, "Missing ReleaseNote");
62
- assert.isFunction(models.RemoteLog, "Missing RemoteLog");
63
- assert.isFunction(models.RemoteLogStream, "Missing RemoteLogStream");
64
- assert.isFunction(models.Session, "Missing Session");
65
- assert.isFunction(models.SMTPUnhandled, "Missing SMTPUnhandled");
66
- assert.isFunction(models.Template, "Missing Template");
67
- assert.isFunction(models.User, "Missing User");
68
- assert.isFunction(models.UserDevice, "Missing UserDevice");
69
- assert.isFunction(models.UserRegistration, "Missing UserRegistration");
70
- assert.isFunction(models.ValidationReport, "Missing ValidationReport");
71
- });
72
- });
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("ActionLog", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.actionLog;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.ActionLog(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(testItem._id);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.action, sut.action);
32
- assert.equal(testItem.email, sut.email);
33
- assert.equal(testItem.userId, sut.userId);
34
- assert.equal(testItem.object, sut.object);
35
- assert.equal(testItem.before, sut.before);
36
- assert.equal(testItem.after, sut.after);
37
- assert.equal(testItem.delta, sut.delta);
38
- const expectedDate = new Date().valueOf() / 1000.0;
39
- const timeDelta = expectedDate - sut.modified_unix_date;
40
- assert.isTrue(timeDelta < 1);
41
- });
42
- });
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("Agency", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.agency;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.Agency(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(testItem._id);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.active, sut.active);
32
- assert.equal(testItem.code, sut.code);
33
- assert.equal(testItem.name, sut.name);
34
- assert.equal(testItem.administrators.length, 1);
35
- assert.equal(testItem.personnelIntegration, sut.personnelIntegration);
36
- assert.equal(testItem.personnelMonitorHours, sut.personnelMonitorHours);
37
- assert.equal(testItem.crossStaffing.length, 1);
38
- const expectedDate = new Date().valueOf() / 1000.0;
39
- const timeDelta = expectedDate - sut.modified_unix_date;
40
- assert.isTrue(timeDelta < 1);
41
- });
42
- });
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
- const _ = require("lodash");
5
-
6
- const m = require("..");
7
- const config = require("./config");
8
-
9
- describe("ArcGISGroup", function() {
10
- let models, mongoose, mock;
11
-
12
- beforeEach(async function() {
13
- const c = await m.connect(config.url);
14
- models = c.models;
15
- mongoose = c.mongoose;
16
- mock = require("./mock")({
17
- models,
18
- mongoose,
19
- });
20
- await mock.cleanup();
21
- });
22
-
23
- afterEach(function() {
24
- mongoose.disconnect();
25
- });
26
-
27
- it("is saved", async function() {
28
- const testItem = mock.arcGISGroup;
29
- assert.isObject(testItem);
30
- const item = new models.ArcGISGroup(testItem);
31
- const sut = await item.save();
32
-
33
- assert.isNotNull(sut._id);
34
- assert.isNotNull(sut.modified);
35
-
36
- assert.equal(sut.groupId, testItem.groupId);
37
- assert.equal(sut.title, testItem.title);
38
- assert.deepEqual(sut.externalOrgIds, testItem.externalOrgIds);
39
- assert.equal(sut.access, testItem.access);
40
- assert.equal(sut.owner, testItem.owner);
41
- assert.equal(sut.protected, testItem.protected);
42
-
43
- assert.equal(sut.linkedDepartments.length, 1);
44
- const dept = _.first(sut.linkedDepartments);
45
- assert.equal(dept.department, "Demo RTS Fire Department");
46
- assert.equal(dept.departmentId, "558365a198b2fa4278000053");
47
- assert.equal(dept.authUsername, "tabletcmd");
48
-
49
- assert.equal(dept.users.length, 1);
50
- const deptUser = _.first(dept.users);
51
- assert.equal(deptUser.username, "tc_someone");
52
- assert.equal(deptUser.email, "hello@tc.com");
53
- assert.equal(deptUser.userId, "558365a198a2aa42780000aa");
54
-
55
- assert.equal(sut.outsiders.length, 1);
56
- const outsider = _.first(sut.outsiders);
57
- assert.equal(outsider.username, "Michael_Kallum");
58
- assert.equal(outsider.fullName, "Michael Kallum");
59
- assert.equal(outsider.memberType, "member");
60
- assert.equal(outsider.orgId, "MyTOuXKXZoizaaa");
61
-
62
- assert.equal(sut.users.length, 1);
63
- const user = _.first(sut.users);
64
- assert.equal(user.username, "jane_tabletcommand");
65
- assert.equal(user.fullName, "Jane Serrano");
66
- assert.equal(user.memberType, "admin");
67
- assert.equal(user.orgId, "zGXMcUaDlMGoAAAg");
68
- });
69
- });
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("Assignment", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.assignment;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.Assignment(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(testItem._id);
30
- assert.equal(sut._id.toString(), sut.id.toString());
31
-
32
- assert.equal(testItem.position, sut.position);
33
- assert.equal(testItem.active, sut.active);
34
- assert.equal(testItem.name, sut.name);
35
- assert.equal(testItem.userId, sut.userId);
36
- assert.equal(testItem.departmentId, sut.departmentId);
37
- assert.equal(testItem.isMandatory, sut.isMandatory);
38
- const expectedDate = new Date().valueOf() / 1000.0;
39
- const timeDelta = expectedDate - sut.modified_unix_date;
40
- assert.isTrue(timeDelta < 1);
41
- });
42
- });
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("Battalion", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.battalion;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.Battalion(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(testItem._id);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.active, sut.active);
32
- assert.equal(testItem.isMandatory, sut.isMandatory);
33
- assert.equal(testItem.name, sut.name);
34
- assert.equal(testItem.userId, sut.userId);
35
- assert.equal(testItem.position, sut.position);
36
- assert.equal(testItem.agencyId, sut.agencyId);
37
- assert.equal(testItem.local_id, sut.local_id);
38
- assert.equal(testItem.units.length, 1);
39
- const expectedDate = new Date().valueOf() / 1000.0;
40
- const timeDelta = expectedDate - sut.modified_unix_date;
41
- assert.isTrue(timeDelta < 1);
42
- });
43
- });
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- const _ = require("lodash");
4
- const assert = require("chai").assert;
5
-
6
- const m = require("..");
7
- const config = require("./config");
8
-
9
- describe("CADIncidentBlock", function() {
10
- let models, mongoose;
11
- let testItem;
12
- beforeEach(async function() {
13
- const c = await m.connect(config.url);
14
- models = c.models;
15
- mongoose = c.mongoose;
16
-
17
- const mock = require("./mock")({
18
- mongoose
19
- });
20
- testItem = mock.cadIncidentBlock;
21
- await mock.beforeEach();
22
- });
23
- afterEach(function() {
24
- mongoose.disconnect();
25
- });
26
-
27
- it("is saved", async function() {
28
- const item = new models.CADIncidentBlock(testItem);
29
- const sut = await item.save();
30
-
31
- assert.isNotNull(testItem._id);
32
- assert.equal(sut.EntryDateTime, testItem.EntryDateTime);
33
- assert.equal(sut.ClosedDateTime, testItem.ClosedDateTime);
34
- assert.equal(sut.source, testItem.source);
35
- assert.equal(sut.IncidentNumber, testItem.IncidentNumber);
36
- assert.equal(sut.departmentId, testItem.departmentId);
37
- assert.equal(sut.AgencyIncidentCallTypeDescription, testItem.AgencyIncidentCallTypeDescription);
38
- assert.equal(sut.createdAt.toISOString(), new Date(testItem.createdAt).toISOString());
39
- assert.equal(sut.ReportNumber.length, 1);
40
- const rn = _.first(sut.ReportNumber);
41
- assert.equal(rn.name, "Incident");
42
- assert.equal(rn.number, "CA68");
43
- });
44
- });
@@ -1,161 +0,0 @@
1
- "use strict";
2
-
3
- const _ = require("lodash");
4
- const assert = require("chai").assert;
5
-
6
- const m = require("..");
7
- const config = require("./config");
8
-
9
- describe("CADIncident", function() {
10
- let models, mongoose;
11
- let testItem;
12
- beforeEach(async function() {
13
- const c = await m.connect(config.url);
14
- models = c.models;
15
- mongoose = c.mongoose;
16
-
17
- const mock = require("./mock")({
18
- mongoose
19
- });
20
- testItem = mock.cadIncident;
21
- await mock.beforeEach();
22
- });
23
- afterEach(function() {
24
- mongoose.disconnect();
25
- });
26
-
27
- it("is saved", async function() {
28
- const item = new models.CADIncident(testItem);
29
- const sut = await item.save();
30
-
31
- assert.isNotNull(testItem._id);
32
- assert.equal(sut.uuid, testItem.uuid);
33
- assert.equal(sut.departmentId, testItem.departmentId);
34
- assert.equal(sut.AgencyID, testItem.AgencyID);
35
- assert.equal(sut.IncidentNumber, testItem.IncidentNumber);
36
- assert.equal(sut.TransactionID, testItem.TransactionID);
37
- assert.equal(sut.AgencyIncidentCallTypeDescription, testItem.AgencyIncidentCallTypeDescription);
38
- assert.equal(sut.StreetName, testItem.StreetName);
39
- assert.equal(sut.StreetSuffix, testItem.StreetSuffix);
40
- assert.equal(sut.Predirectional, testItem.Predirectional);
41
- assert.equal(sut.Postdirectional, testItem.Postdirectional);
42
- assert.equal(sut.CityOrLocality, testItem.CityOrLocality);
43
- assert.equal(sut.Floor, testItem.Floor);
44
- assert.equal(sut.Suite, testItem.Suite);
45
- assert.equal(sut.City, testItem.City);
46
- assert.equal(sut.Building, testItem.Building);
47
- assert.equal(sut.StateOrProvince, testItem.StateOrProvince);
48
- assert.equal(sut.CommonPlaceName, testItem.CommonPlaceName);
49
- assert.equal(sut.LocationComment, testItem.LocationComment);
50
- assert.equal(sut.CrossStreet1, testItem.CrossStreet1);
51
- assert.equal(sut.CrossStreet2, testItem.CrossStreet2);
52
- assert.equal(sut.cross_streets, testItem.cross_streets);
53
- assert.equal(sut.PostalCode, testItem.PostalCode);
54
- assert.equal(sut.CallerNumber, testItem.CallerNumber);
55
- assert.equal(sut.Latitude, testItem.Latitude);
56
- assert.equal(sut.Longitude, testItem.Longitude);
57
- assert.equal(sut.preference_location, testItem.preference_location);
58
- assert.equal(sut.EntryDateTime, testItem.EntryDateTime);
59
- assert.equal(sut.ClosedDateTime, testItem.ClosedDateTime);
60
- assert.equal(sut.closed_unix_date, testItem.closed_unix_date);
61
- assert.equal(sut.start_unix_date, testItem.start_unix_date);
62
- assert.equal(sut.modified_unix_date, testItem.modified_unix_date);
63
-
64
- assert.isTrue(sut.PriorIncidentChanged);
65
- assert.equal(sut.PriorIncidentChanged, testItem.PriorIncidentChanged);
66
- assert.equal(sut.PriorIncident.length, 1);
67
- if (sut.PriorIncident.length === 1) {
68
- var pi = sut.PriorIncident[0];
69
- var pid = testItem.PriorIncident[0];
70
- assert.equal(pi.IncidentNumber, pid.IncidentNumber);
71
- assert.equal(pi.IncidentDateTime, pid.IncidentDateTime);
72
- assert.equal(pi.Problem, pid.Problem);
73
- assert.equal(pi.Address, pid.Address);
74
- assert.equal(pi.Suite, pid.Suite);
75
- assert.equal(pi.Jurisdiction, pid.Jurisdiction);
76
- assert.equal(pi.Comment[0].Comment, pid.Comment[0].Comment);
77
- assert.equal(pi.Comment[0].CommentSource, pid.Comment[0].CommentSource);
78
- assert.equal(pi.Comment[0].CommentDateTime, pid.Comment[0].CommentDateTime);
79
- }
80
-
81
- assert.equal(sut.units.length, 1);
82
- assert.equal(sut.units[0].UnitDispatchNumber, testItem.units[0].UnitDispatchNumber);
83
- assert.equal(sut.units[0].UnitID, testItem.units[0].UnitID);
84
- assert.equal(sut.units[0].TimeDispatched, testItem.units[0].TimeDispatched);
85
-
86
- const unit = _.first(sut.units.filter((x) => x.UnitID === "MA31"));
87
- assert.equal(unit.Personnel.length, 2);
88
- const p1 = _.first(unit.Personnel.filter((x) => x.PersonnelID === "X14"));
89
- assert.equal(p1.PersonnelName, "Mary Smith");
90
- assert.equal(p1.PersonnelNote, "X");
91
- assert.equal(p1.PersonnelRank, "Captain");
92
- assert.equal(p1.PersonnelWorkCode, "TRD");
93
-
94
- assert.equal(sut.Comment.length, 1);
95
- assert.equal(sut.Comment[0].Comment, testItem.Comment[0].Comment);
96
- assert.equal(sut.Comment[0].CommentSource, testItem.Comment[0].CommentSource);
97
- assert.equal(sut.Comment[0].CommentDateTime, testItem.Comment[0].CommentDateTime);
98
-
99
- // Share incident properties
100
- assert.isArray(sut.ReportNumber);
101
- assert.equal(sut.ReportNumber.length, 2);
102
- const rna = _.first(sut.ReportNumber.filter((x) => x.name === "A"));
103
- assert.isObject(rna);
104
- assert.equal(rna.number, "07-0351");
105
- const rnb = _.first(sut.ReportNumber.filter((x) => x.name === "B"));
106
- assert.isObject(rnb);
107
- assert.equal(rnb.number, "UM-02210");
108
-
109
- assert.isArray(sut.radioChannels);
110
- assert.equal(sut.radioChannels.length, 2);
111
- const rca = _.first(sut.radioChannels.filter((x) => x.name === "CMD"));
112
- assert.isObject(rca);
113
- assert.equal(rca.channel, "LOCAL Tone: 3");
114
- assert.equal(rca.url, "http://example.com/stream1");
115
- const rcb = _.first(sut.radioChannels.filter((x) => x.name === "TAC"));
116
- assert.isObject(rcb);
117
- assert.equal(rcb.channel, "CDF TAC 10");
118
- assert.equal(rcb.url, "http://example.com/stream2");
119
-
120
- assert.isObject(sut.record);
121
- assert.equal(sut.record.name, "John");
122
- assert.equal(sut.record.value, "Smith");
123
-
124
- assert.isObject(sut.sharedSource);
125
- assert.equal(sut.sharedSource.isExternal, true);
126
- assert.equal(sut.sharedSource.name, "Demo RTS Fire Department");
127
- assert.isArray(sut.sharedSource.reasons);
128
- assert.equal(sut.sharedSource.reasons.length, 1);
129
- const ssr1 = _.first(sut.sharedSource.reasons);
130
- assert.isObject(ssr1);
131
- assert.equal(ssr1.name, "Unit B10 assigned");
132
- assert.equal(ssr1.date.toISOString(), "2024-05-03T00:00:00.000Z");
133
-
134
- assert.isArray(sut.sharedTo);
135
- assert.equal(sut.sharedTo.length, 1);
136
- const st1 = _.first(sut.sharedTo);
137
- assert.equal(st1.active, true);
138
- assert.equal(st1.departmentId, "5195426cc4e016a988000965");
139
- assert.equal(st1.expireAt.toISOString(), "2024-08-01T10:20:30.400Z");
140
- assert.equal(st1.name, "Test Fire Department");
141
- assert.equal(st1.startAt.toISOString(), "2024-05-01T01:02:03.040Z");
142
- assert.equal(st1.reasons.length, 1);
143
- const str1 = _.first(st1.reasons);
144
- assert.equal(str1.name, "Unit M10 assigned");
145
- assert.equal(str1.date.toISOString(), "2024-05-03T01:01:01.010Z");
146
- });
147
-
148
- it("no virtuals id if _id not present", async function() {
149
- const item = new models.CADIncident(testItem);
150
- await item.save();
151
-
152
- const sut = await models.CADIncident.findOne({ _id: item._id }).lean({
153
- virtuals: true
154
- });
155
- assert.equal(sut.units.length, 1);
156
- assert.isUndefined(sut.units[0].id);
157
-
158
- assert.equal(sut.Comment.length, 1);
159
- assert.isUndefined(sut.Comment[0].id);
160
- });
161
- });
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("CadSimulation", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.cadSimulation;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.CADSimulation(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(testItem._id);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.title, sut.title);
32
- assert.equal(testItem.friendlyId, sut.friendlyId);
33
- });
34
- });