tabletcommand-backend-models 7.3.39 → 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 (310) 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 +173 -173
  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 +4 -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.map +1 -1
  189. package/definitions/types/esri.d.ts.map +1 -1
  190. package/definitions/types/geojson.d.ts.map +1 -1
  191. package/definitions/types/personnel.d.ts +0 -4
  192. package/definitions/types/personnel.d.ts.map +1 -1
  193. package/definitions/types/sms-log.d.ts.map +1 -1
  194. package/definitions/types/validation.d.ts.map +1 -1
  195. package/eslint.config.mjs +51 -31
  196. package/package.json +13 -12
  197. package/src/constants.ts +6 -6
  198. package/src/helpers.ts +16 -17
  199. package/src/models/action-log.ts +1 -1
  200. package/src/models/agency.ts +2 -2
  201. package/src/models/arcgis-group.ts +1 -1
  202. package/src/models/assignment.ts +1 -1
  203. package/src/models/battalion.ts +4 -4
  204. package/src/models/beacon-log.ts +1 -1
  205. package/src/models/cad-incident-block.ts +1 -1
  206. package/src/models/cad-incident-stream.ts +1 -1
  207. package/src/models/cad-incident.ts +3 -3
  208. package/src/models/cad-simulation.ts +1 -1
  209. package/src/models/cad-status-map.ts +1 -1
  210. package/src/models/cad-status.ts +1 -1
  211. package/src/models/cad-vehicle-status-history.ts +1 -1
  212. package/src/models/cad-vehicle-status.ts +2 -2
  213. package/src/models/cad-vehicle.ts +1 -1
  214. package/src/models/chart-device-stats.ts +4 -4
  215. package/src/models/chart-incident.ts +3 -3
  216. package/src/models/chart-managed-incident.ts +3 -3
  217. package/src/models/chart-user.ts +1 -1
  218. package/src/models/checklist-item.ts +1 -2
  219. package/src/models/checklist.ts +1 -1
  220. package/src/models/csv-import.ts +1 -1
  221. package/src/models/department.ts +173 -173
  222. package/src/models/device-mapping.ts +2 -2
  223. package/src/models/esri.ts +1 -1
  224. package/src/models/gst-mapping.ts +2 -2
  225. package/src/models/incident-event.ts +2 -2
  226. package/src/models/incident-notified.ts +1 -1
  227. package/src/models/incident-takeover.ts +1 -1
  228. package/src/models/location.ts +2 -2
  229. package/src/models/mail-log.ts +1 -1
  230. package/src/models/mark43-incident-retry.ts +1 -1
  231. package/src/models/message.ts +1 -1
  232. package/src/models/monitor.ts +1 -1
  233. package/src/models/personnel-import.ts +1 -1
  234. package/src/models/personnel-known.ts +6 -2
  235. package/src/models/personnel-roster.ts +1 -1
  236. package/src/models/rate-limit.ts +1 -1
  237. package/src/models/remote-log-stream.ts +1 -1
  238. package/src/models/remote-log.ts +2 -2
  239. package/src/models/schema/agency-saml.ts +1 -1
  240. package/src/models/schema/cad-incident.ts +0 -1
  241. package/src/models/schema/common-incident.ts +1 -1
  242. package/src/models/schema/webhook.ts +3 -3
  243. package/src/models/session.ts +1 -1
  244. package/src/models/sms-log.ts +51 -51
  245. package/src/models/smtp-unhandled.ts +1 -1
  246. package/src/models/template.ts +1 -1
  247. package/src/models/user-device.ts +2 -2
  248. package/src/models/user-registration.ts +1 -1
  249. package/src/models/user.ts +3 -3
  250. package/src/models/validation-report.ts +1 -1
  251. package/src/test/cad-status.ts +0 -1
  252. package/src/test/csv-import.ts +0 -1
  253. package/src/test/device-mapping.ts +0 -1
  254. package/src/test/mock.ts +204 -205
  255. package/src/test/personnel-import.ts +0 -2
  256. package/src/test/release-note.ts +1 -2
  257. package/src/types/action-log.ts +1 -1
  258. package/src/types/chart.ts +6 -10
  259. package/src/types/checklist.ts +1 -1
  260. package/src/types/color.ts +1 -1
  261. package/src/types/department.ts +4 -4
  262. package/src/types/esri.ts +0 -1
  263. package/src/types/geojson.ts +0 -1
  264. package/src/types/incident-events.ts +1 -1
  265. package/src/types/personnel.ts +1 -6
  266. package/src/types/sms-log.ts +10 -10
  267. package/src/types/validation.ts +0 -1
  268. package/test-legacy/0index.js +0 -72
  269. package/test-legacy/action-log.js +0 -42
  270. package/test-legacy/agency.js +0 -42
  271. package/test-legacy/arcgis-group.js +0 -69
  272. package/test-legacy/assignment.js +0 -42
  273. package/test-legacy/battalion.js +0 -43
  274. package/test-legacy/cad-incident-block.js +0 -44
  275. package/test-legacy/cad-incident.js +0 -161
  276. package/test-legacy/cad-simulation.js +0 -34
  277. package/test-legacy/cad-status-map.js +0 -38
  278. package/test-legacy/cad-status.js +0 -53
  279. package/test-legacy/cad-vehicle-status-history.js +0 -36
  280. package/test-legacy/cad-vehicle-status.js +0 -44
  281. package/test-legacy/cad-vehicle.js +0 -39
  282. package/test-legacy/checklist-item.js +0 -44
  283. package/test-legacy/checklist.js +0 -45
  284. package/test-legacy/config.js +0 -15
  285. package/test-legacy/csv-import.js +0 -45
  286. package/test-legacy/department.js +0 -81
  287. package/test-legacy/device-mapping.js +0 -40
  288. package/test-legacy/esri.js +0 -69
  289. package/test-legacy/gst-mapping.js +0 -39
  290. package/test-legacy/helpers.js +0 -15
  291. package/test-legacy/incident-event.js +0 -54
  292. package/test-legacy/incident-notified.js +0 -38
  293. package/test-legacy/incident-takeover.js +0 -40
  294. package/test-legacy/job-log.js +0 -38
  295. package/test-legacy/location.js +0 -80
  296. package/test-legacy/mail-log.js +0 -48
  297. package/test-legacy/managed-incident.js +0 -117
  298. package/test-legacy/mark43-incident-retry.js +0 -35
  299. package/test-legacy/message.js +0 -40
  300. package/test-legacy/mock.js +0 -1285
  301. package/test-legacy/monitor.js +0 -36
  302. package/test-legacy/personnel-import.js +0 -51
  303. package/test-legacy/rate-limit.js +0 -34
  304. package/test-legacy/release-note.js +0 -36
  305. package/test-legacy/session.js +0 -44
  306. package/test-legacy/template.js +0 -45
  307. package/test-legacy/user-device.js +0 -56
  308. package/test-legacy/user-registration.js +0 -46
  309. package/test-legacy/user.js +0 -54
  310. package/test-legacy/validation-report.js +0 -34
@@ -1,1285 +0,0 @@
1
- module.exports = function mockModule(dependencies) {
2
- "use strict";
3
-
4
- const uuid = require("uuid");
5
-
6
- function shouldRun() {
7
- const mongoUrl = process.env.NODE_MONGO_URL || "";
8
- if (!/massive-test/i.exec(mongoUrl)) {
9
- console.log(`Not a test database: ${mongoUrl}? Expecting database: massive-test.`);
10
- return false;
11
- }
12
- return true;
13
- }
14
-
15
- if (!shouldRun()) {
16
- process.exit(1);
17
- }
18
-
19
- const {
20
- models,
21
- mongoose
22
- } = dependencies;
23
-
24
- const mark43IncidentRetry = {
25
- departmentId: "123",
26
- incidentNumber: "abc123",
27
- active: true,
28
- mark43IncidentId: 123,
29
- attempts: 0,
30
- created: new Date(),
31
- modified: new Date(),
32
- retryPayload: {
33
- departmentId: 4321,
34
- activityType: "EVENT_CREATED",
35
- relatedEvent: {
36
- mark43Id: 1234,
37
- cadAgencyEventNumber: "1234"
38
- }
39
- }
40
- };
41
-
42
- const actionLog = {
43
- departmentId: "d1234",
44
- email: "hello@example.com",
45
- action: "someAction",
46
- userId: "1234",
47
- object: {
48
- vehicleId: "v1171",
49
- radioName: "E10"
50
- },
51
- before: {
52
- test: "test1"
53
- },
54
- after: {
55
- test: "test2"
56
- },
57
- delta: {
58
- test: "test2"
59
- }
60
- };
61
-
62
- const jobLog = {
63
- host: "TestHost-01",
64
- jobName: "Test Job 1",
65
- state: "ready",
66
- bidDate: new Date(),
67
- startDate: new Date(),
68
- completedDate: new Date(),
69
- forceClosed: false
70
- };
71
-
72
- const releaseNote = {
73
- title: "test note",
74
- notes: "long form note...",
75
- version: "1.94.0",
76
- releaseDate: new Date(),
77
- status: "draft"
78
- };
79
-
80
- const cadSimulation = {
81
- "departmentId": "123",
82
- "active": true,
83
- "friendlyId": "test-1",
84
- "modifiedDate": 1544771122.997,
85
- "modified": new Date(),
86
- "title": "Structure Fire with Confirming stills and Rescues",
87
- "notes": "3 story apartment building ",
88
- "simulation": true,
89
- "notify": true,
90
- "rts": true,
91
- "tags":
92
- [],
93
- "incidentType": "Structure Fire ",
94
- "streetName": "123 test Blvd.",
95
- "locationComment": "3 Story Apartment building ",
96
- "suite": "Apartment Building",
97
- "CrossStreet1": "321 Ave",
98
- "city": "Test",
99
- "state": "Ca",
100
- "lat": "55.784387",
101
- "lon": "-122.228394",
102
- "firemap": "",
103
- "mapPages": "",
104
- "tacticalChannel": "Test 2 ",
105
- "commandChannel": "",
106
- "radioChannels":
107
- [],
108
- "closeDelay": 1800,
109
- "priorIncidents": [],
110
- "randomPriorIncidents": false,
111
- "randomStaffing": false,
112
- "sequences":
113
- [
114
- {
115
- "title": "test Alarm ",
116
- "alarm": "1",
117
- "sequenceId": 0,
118
- "unitsConfig": {
119
- "alarmLevelAtDispatch": "1",
120
- "units":
121
- [
122
- "E13",
123
- "E4",
124
- "E18",
125
- "E16",
126
- "T2",
127
- "T6",
128
- "B4",
129
- "B2"
130
- ]
131
- },
132
- "comments":
133
- [
134
- {
135
- "comment": "4-2-2 alarm assignment ",
136
- "source": "DISP2"
137
- }
138
- ]
139
- },
140
- {
141
- "title": "2nd Alarm ",
142
- "alarm": "2",
143
- "sequenceId": 1,
144
- "unitsConfig": {
145
- "alarmLevelAtDispatch": "2",
146
- "units":
147
- [
148
- "E17",
149
- "E12",
150
- "E29",
151
- "T1",
152
- "B3"
153
- ]
154
- }
155
- },
156
- {
157
- "title": "3 Alarm ",
158
- "alarm": "3",
159
- "sequenceId": 2,
160
- "unitsConfig": {
161
- "alarmLevelAtDispatch": "3",
162
- "units":
163
- [
164
- "E1",
165
- "E2",
166
- "E25",
167
- "T4"
168
- ]
169
- }
170
- }
171
- ]
172
- };
173
-
174
- const agency = {
175
- _id: new mongoose.Types.ObjectId(),
176
- departmentId: new mongoose.Types.ObjectId("56131f724143487a10000001"),
177
- code: "TC",
178
- name: "Tablet Command",
179
- active: true,
180
- administrators: [
181
- new mongoose.Types.ObjectId()
182
- ],
183
- personnelIntegration: true,
184
- personnelMonitorHours: 24,
185
- crossStaffing: [
186
- {
187
- radioName: "E1",
188
- crossStaffedUnits: ["E2", "E3"],
189
- alwaysCrossStaff: true
190
- }
191
- ]
192
- };
193
-
194
- const arcGISGroup = {
195
- access: "private",
196
- linkedDepartments: [
197
- {
198
- department: "Demo RTS Fire Department",
199
- departmentId: "558365a198b2fa4278000053",
200
- authUsername: "tabletcmd",
201
- authError: null,
202
- users: [
203
- //
204
- {
205
- username: "tc_someone",
206
- email: "hello@tc.com",
207
- userId: "558365a198a2aa42780000aa",
208
- }
209
- ]
210
- }
211
- ],
212
- externalOrgIds: [
213
- "MyTOuXKXZoizaaa"
214
- ],
215
- groupId: "c5d013e197244577a583c49984d319d9",
216
- outsiders: [
217
- {
218
- fullName: "Michael Kallum",
219
- memberType: "member",
220
- orgId: "MyTOuXKXZoizaaa",
221
- username: "Michael_Kallum"
222
- }
223
- ],
224
- owner: "jane_tabletcommand",
225
- protected: true,
226
- title: "TC - City of Fire Department",
227
- users: [
228
- {
229
- fullName: "Jane Serrano",
230
- memberType: "admin",
231
- orgId: "zGXMcUaDlMGoAAAg",
232
- username: "jane_tabletcommand"
233
- },
234
- ]
235
- };
236
-
237
- const assignment = {
238
- position: 1,
239
- active: true,
240
- name: "Vertical Test",
241
- userId: "1234",
242
- departmentId: "4321",
243
- description: "testing",
244
- isMandatory: false,
245
- };
246
-
247
- const battalionUnit = {
248
- name: "BattalionUnit Test",
249
- friendly_id: "B1",
250
- local_id: 321,
251
- personnel: 4,
252
- position: 1,
253
- active: true,
254
- isMandatory: false,
255
- departmentId: "123",
256
- userId: "123",
257
- api_battalion_id: "123",
258
- battalion_uuid: "",
259
- battalion_name: "",
260
- };
261
-
262
- const battalion = {
263
- name: "Battalion Test",
264
- active: true,
265
- isMandatory: false,
266
- userId: "123",
267
- departmentId: 123,
268
- AgencyId: new mongoose.Types.ObjectId(agency._id),
269
- position: 1,
270
- units: [battalionUnit]
271
- };
272
-
273
- const checklistId = new mongoose.Types.ObjectId();
274
- const checklistUUID = "150cf1ca-ffbb-42c9-bd4c-fd64be45d888";
275
-
276
- const checklistItem = {
277
- _id: new mongoose.Types.ObjectId(),
278
- uuid: "150cf1ca-ffbb-42c9-bd4c-fd64be45d887",
279
- checklist_uuid: checklistUUID,
280
- position: 1,
281
- active: true,
282
- name: "TC Test Item",
283
- checked: 0,
284
- api_checklist_id: checklistId,
285
- userId: "1234",
286
- departmentId: "4321",
287
- local_id: 1,
288
- isMandatory: true,
289
- description: "Testing Description"
290
- };
291
-
292
- const checklist = {
293
- _id: checklistId,
294
- uuid: checklistUUID,
295
- position: 1,
296
- active: true,
297
- name: "TC Test",
298
- userId: "1234",
299
- departmentId: "4321",
300
- local_id: 1,
301
- isMandatory: true,
302
- agencyId: new mongoose.Types.ObjectId(agency._id),
303
- items: [checklistItem]
304
- };
305
-
306
- const mailLog = {
307
- mailId: "1234",
308
- event: "delivery",
309
- timestamp: 1553199671,
310
- recipient: "test@tabletcommand.com",
311
- recipientDomain: "tabletcommand.com",
312
- tags: ["create account"],
313
- deliveryStatus: {},
314
- message: {},
315
- flags: {},
316
- envelope: {},
317
- logLevel: "info",
318
- reason: "Message Sent",
319
- severity: "Mild"
320
- };
321
-
322
- const message = {
323
- departmentId: "d1234",
324
- "active": false,
325
- "title": "Upgrade App",
326
- "body": "Application out of date.",
327
- "actionTitle": "Upgrade App",
328
- "color": null,
329
- "url": "",
330
- "priority": 4,
331
- "type": {
332
- "type": "upgradeApp",
333
- "typeOpts": {
334
- "major": 3,
335
- "minor": 0,
336
- "patch": 1
337
- }
338
- },
339
- "created": new Date().toISOString(),
340
- "uuid": "138acffd-a94f-402d-87b3-ff6ed31a19dc",
341
- "requestId": "138acffd-a94f-402d-87b3-ff6ed31a19db",
342
- };
343
-
344
- const cadIncident = {
345
- _id: new mongoose.Types.ObjectId(),
346
- uuid: "150cf1ca-ffbb-42c9-bd4c-fd64be45d679",
347
- departmentId: "56131f724143487a10000001",
348
- AgencyID: "BDC",
349
- IncidentNumber: "19-058314",
350
- TransactionID: "15532010710000",
351
- AgencyIncidentCallTypeDescription: "AT - Ambulance Transport",
352
- StreetName: "College",
353
- StreetSuffix: "Court",
354
- Predirectional: "North",
355
- Postdirectional: "Late",
356
- CityOrLocality: "San Francisco",
357
- Floor: "2",
358
- Suite: "AA",
359
- City: "San Francisco",
360
- Building: "E",
361
- StateOrProvince: "CA",
362
- CommonPlaceName: "VALLEY VIEW MEDICAL CENTER",
363
- LocationComment: "VALLEY VIEW MEDICAL CENTER",
364
- CrossStreet1: "FIVE MILE RD",
365
- CrossStreet2: "No X-Street",
366
- cross_streets: "FIVE MILE RD/No X-Street",
367
- PostalCode: "29191",
368
- CallerNumber: "0192-122-299",
369
- PriorIncidentChanged: true,
370
- PriorIncident: [
371
- //
372
- {
373
- IncidentNumber: "19-042678",
374
- IncidentDateTime: "2019-03-01T01:56:54-08:00",
375
- Problem: "Problem Abcd",
376
- Address: "5330 Us 95 Hwy S",
377
- Suite: "83",
378
- Jurisdiction: "San Bernardino County",
379
- Comment: [
380
- //
381
- {
382
- Comment: "[1] Call Appended to Incident number 19-042593",
383
- CommentSource: "G8724",
384
- CommentDateTime: "2019-03-01T01:59:57-08:00"
385
- }
386
- ]
387
- }
388
- ],
389
- Latitude: "34.788611",
390
- Longitude: "-114.549444",
391
- Comment: [
392
- //
393
- {
394
- Comment: "(1) VALLEY VIEW ICU TO SUNRISE ICU",
395
- CommentSource: "H6577",
396
- CommentDateTime: "2019-03-21T13:21:08-07:00"
397
- }
398
- ],
399
- units: [
400
- //
401
- {
402
- UnitDispatchNumber: 4067677,
403
- UnitID: "MA31",
404
- TimeDispatched: "2019-03-21T13:21:22-07:00",
405
- Personnel: [
406
- {
407
- "PersonnelID": "X14",
408
- "PersonnelName": "Mary Smith",
409
- "PersonnelNote": "X",
410
- "PersonnelRank": "Captain",
411
- "PersonnelWorkCode": "TRD"
412
- },
413
- {
414
- "PersonnelID": "Y21",
415
- "PersonnelName": "Nicholas Santos",
416
- "PersonnelNote": "Y",
417
- "PersonnelRank": "PM",
418
- "PersonnelWorkCode": "REG"
419
- }
420
- ]
421
- }
422
- ],
423
- preference_location: "address",
424
- EntryDateTime: "2019-03-21T13:21:11-07:00",
425
- ClosedDateTime: "",
426
- closed_unix_date: 0,
427
- start_unix_date: 1553199671,
428
- modified_unix_date: 1553201071.636,
429
-
430
- // Share incident properties
431
- ReportNumber: [
432
- //
433
- {
434
- "name": "A",
435
- "number": "07-0351"
436
- },
437
- {
438
- "name": "B",
439
- "number": "UM-02210"
440
- }
441
- ],
442
- radioChannels: [
443
- //
444
- {
445
- "name": "CMD",
446
- "channel": "LOCAL Tone: 3",
447
- "url": "http://example.com/stream1"
448
- },
449
- {
450
- "name": "TAC",
451
- "channel": "CDF TAC 10",
452
- "url": "http://example.com/stream2"
453
- }
454
- ],
455
- record: {
456
- "name": "John",
457
- "value": "Smith",
458
- },
459
- sharedSource: {
460
- isExternal: true,
461
- name: "Demo RTS Fire Department",
462
- reasons: [
463
- {
464
- date: "2024-05-03T00:00:00.000Z",
465
- name: "Unit B10 assigned"
466
- }
467
- ]
468
- },
469
- sharedTo: [
470
- //
471
- {
472
- active: true,
473
- departmentId: "5195426cc4e016a988000965",
474
- expireAt: "2024-08-01T10:20:30.400Z",
475
- name: "Test Fire Department",
476
- reasons: [
477
- {
478
- date: "2024-05-03T01:01:01.010Z",
479
- name: "Unit M10 assigned"
480
- }
481
- ],
482
- startAt: "2024-05-01T01:02:03.040Z",
483
- }
484
- ],
485
- };
486
-
487
- const cadIncidentBlock = {
488
- "EntryDateTime": "2023-09-20T09:14:37-07:00",
489
- "ClosedDateTime": "2023-09-20T10:36:36-07:00",
490
- "source": "callType",
491
- "departmentId": "64948d8f051d17033f77d034",
492
- "AgencyIncidentCallTypeDescription": "OTH, MISCELLANEOUS",
493
- "IncidentNumber": "A23031",
494
- "ReportNumber": [
495
- {
496
- "name": "Incident",
497
- "number": "CA68"
498
- }
499
- ],
500
- "createdAt": "2023-09-20T16:14:30.000+0000"
501
- };
502
-
503
- const cadStatus = {
504
- _id: new mongoose.Types.ObjectId(),
505
- code: "AV",
506
- codeDisplay: "RS",
507
- color: {
508
- background: "#7b7d7d",
509
- text: "#F8F9F9"
510
- },
511
- departmentId: "51a2529293e11b3569000057",
512
- modifiedDate: 1544771122.997,
513
- name: "In Service",
514
- normalized: "inService",
515
- options: [
516
- //
517
- {
518
- cadKey: "oosCode",
519
- cadValues: [
520
- //
521
- {
522
- favorite: false,
523
- name: "ADM - Admin",
524
- position: 20,
525
- type: "string",
526
- value: "ADM",
527
- visible: true
528
- }
529
- ],
530
- name: "oosCode",
531
- position: 2,
532
- visible: true
533
- }
534
- ],
535
- roaming: false,
536
- selfAssignable: true,
537
- status: "OR",
538
- statusId: 1,
539
- uuid: "8086956b-43af-4300-aa30-5efbd10b2c98"
540
- };
541
-
542
- const cadStatusMap = {
543
- "departmentId": "51a2529293e11b3569000057",
544
- "fromStatusId": 0,
545
- "modifiedDate": 1544143059.729,
546
- "toStatusIds": [
547
- //
548
- {
549
- "statusId": 1,
550
- "userEnabled": true,
551
- "position": 0,
552
- }
553
- ]
554
- };
555
-
556
- const cadVehicle = {
557
- _id: new mongoose.Types.ObjectId(),
558
- uuid: "30f8d7c7-20a3-4a12-b911-a424f5037003",
559
- radioName: "T01",
560
- vehicleId: "7705",
561
- modifiedDate: 1541569088.909,
562
- departmentId: "5195426cc4e016a988000965",
563
- station: {
564
- code: "S01",
565
- name: "Station 01"
566
- },
567
- capability: ""
568
- };
569
-
570
- const cadVehicleStatus = {
571
- uuid: "5a324923-2622-48f2-abaa-8a855e7cebdf",
572
- departmentId: "d1234",
573
- vehicleId: "v1171",
574
- radioName: "E10",
575
- requestTime: 1516557000,
576
- responseTime: 1516567096,
577
- status: "Dispatched",
578
- statusCode: "DISP",
579
- modifiedDate: 1516577096,
580
- requestStatus: 0,
581
- incidentNumber: "INC19991",
582
- capability: "",
583
- owner: "user",
584
- ownerId: "M1"
585
- };
586
-
587
- const cadVehicleStatusHistory = {
588
- departmentId: "d1234",
589
- vehicleId: "v1171",
590
- radioName: "E10",
591
- status: "Dispatched",
592
- statusCode: "DISP",
593
- requestedAt: 1516557000,
594
- requestedBy: "user",
595
- modifiedDate: 1516577096,
596
- incidentNumber: "INC19991"
597
- };
598
-
599
- const department = {
600
- _id: new mongoose.Types.ObjectId(),
601
- department: "Test Department",
602
- addressDetails: {
603
- city: "San Francisco",
604
- },
605
- active: true,
606
- apikey: "abcd",
607
- partialApiKey: "ab",
608
- personnelStaffingEnabled: true,
609
- rtsEnabled: true,
610
- rtsChannelPrefix: "CH_TEST",
611
- pubNubV3: {
612
- token: "CH_AUTH_TOKEN",
613
- expireAt: "2021-09-10T23:25:02.196Z",
614
- runAt: "2021-09-10T08:25:02.196Z",
615
- },
616
- agencyIds: [
617
- new mongoose.Types.ObjectId(agency._id)
618
- ],
619
- signupKey: "A1B2",
620
- incidentTypes: [{
621
- name: "Type",
622
- value: "type"
623
- }],
624
- shareLocationPhones: false,
625
- shareLocationTablets: true,
626
- cadOneWayVehiclesEnabled: false,
627
- mowsEnabled: true,
628
- shareAVL: {
629
- enabled: true,
630
- opAreaCode: "DAL",
631
- opAreaName: "Delta Operations"
632
- },
633
- accountType: "production",
634
- timeZone: "America/Los_Angeles",
635
- firstArrivingEnabled: true,
636
- firstArriving: {
637
- token: "123"
638
- },
639
- simpleSenseEnabled: true,
640
- simpleSense: {
641
- token: "123"
642
- },
643
- licensing: {
644
- tcPro2Way: 0,
645
- tcPro1Way: 0,
646
- tcMobile: 0,
647
- tcWeb: 0,
648
- fireMapperPro: 0,
649
- sendToCAD: 0,
650
- tcStreams: 0,
651
- },
652
- webDisclaimer: {
653
- message: "test",
654
- enabled: true
655
- },
656
- notificationEmails: ["test@test.com"],
657
- externalNotificationsEnabled: true,
658
- restrictedComments: {
659
- enabled: false,
660
- callTypesAllowed: [],
661
- statusesAllowed: [],
662
- restrictedFields: [],
663
- restrictedMessage: "Restricted Message"
664
- },
665
- customButtons: [
666
- {
667
- name: "Button Custom",
668
- url: "",
669
- order: 1,
670
- allowExternal: false,
671
- defaultExternal: false,
672
- allowFloating: false,
673
- color: {
674
- "background": "#512e5f",
675
- "text": "#F8F9F9"
676
- }
677
- }
678
- ],
679
- reportNumberEnabled: true,
680
- samsara: {
681
- enabled: false,
682
- token: "",
683
- },
684
- };
685
-
686
- const esriMap = {
687
- mapLayers: [
688
- //
689
- {
690
- "url": "https://services.arcgis.com/aA3snZwJfFkVyDuP/arcgis/rest/services/XBO_Branches_Updated/FeatureServer/0",
691
- "itemId": "XBO_Branches_Updated_3067",
692
- "layerType": "ArcGISFeatureLayer",
693
- "title": "XBO Branches_Updated"
694
- },
695
- {
696
- "itemId": "city_limits_092019_4185",
697
- "layerType": "ArcGISFeatureLayer",
698
- "title": "City Limits",
699
- "url": "https://services.arcgis.com/aA3snZwJfFkVyDuP/arcgis/rest/services/city_limits_092019/FeatureServer/0"
700
- },
701
- {
702
- "itemId": "unvdpdod57lext9eck9nxipcov2dgjqs_8576",
703
- "layerType": "ArcGISFeatureLayer",
704
- "title": "Tablet Command",
705
- "url": "https://api.tabletcommand.com/esri/tc-file/unvdpdod57lext9eck9nxipcov2dgjqs/FeatureServer/0"
706
- }
707
- ],
708
- "owner": "john_tabletcommand",
709
- "title": "Location (MM Filters)",
710
- "url": null,
711
- "access": "shared",
712
- "baseMap": {
713
- "baseMapLayers": [
714
- //
715
- {
716
- "opacity": 1,
717
- "id": "VectorTile_1188",
718
- "type": "VectorTileLayer",
719
- "layerType": "VectorTileLayer",
720
- "title": "World Street Map (Night)",
721
- "styleUrl": "https://cdn.arcgis.com/sharing/rest/content/items/86f556a2d1fd468181855a35e344567f/resources/styles/root.json",
722
- "visibility": true
723
- }
724
- ],
725
- "title": "Streets (Night)"
726
- },
727
- "itemId": "01cebf7aede94ed3a9f4c260e18a7d7e",
728
- "type": "Web Map",
729
- "tags": [
730
- "XBO",
731
- "Tabletcommand"
732
- ],
733
- "development": true,
734
- };
735
-
736
- const deviceMapping = {
737
- _id: new mongoose.Types.ObjectId(),
738
- nick: "Test",
739
- departmentId: "d123",
740
- deviceType: "hello",
741
- mapId: "map123",
742
- deviceId: "deviceType121",
743
- modified_unix_date: 1432230780,
744
- active: false,
745
- remoteAddress: "1.2.3.4",
746
- note: "don't feed after dark",
747
- mapHidden: false
748
- };
749
-
750
- const esri = {
751
- _id: new mongoose.Types.ObjectId(),
752
- departmentId: new mongoose.Types.ObjectId("56131f724143487a10000001"),
753
- modified_unix_date: 1432230780,
754
- auth: {
755
- username: "fire_maps",
756
- encrypted: {
757
- iv: "18f17",
758
- encryptedData: "dee54"
759
- }
760
- },
761
- fireMapperAuth: {
762
- username: "fire_mapper",
763
- encrypted: {
764
- iv: "28f10",
765
- encryptedData: "dee99"
766
- },
767
- encryptedAccessCode: {
768
- iv: "99f1341",
769
- encryptedData: "zoom123"
770
- }
771
- },
772
- maps: [
773
- esriMap
774
- ],
775
- mapsProperties: [
776
- //
777
- {
778
- itemId: "01cebf7aede94ed3a9f4c260e18a7d7e",
779
- download: true,
780
- }
781
- ]
782
- };
783
-
784
- const gstMapping = {
785
- _id: new mongoose.Types.ObjectId(),
786
- departmentId: "d123",
787
- unitId: "E123",
788
- modified_unix_date: 1432230780,
789
- active: false,
790
- remoteAddress: "1.2.3.4",
791
- note: "don't feed after dark",
792
- mapHidden: false,
793
- gstAgency: "LAX",
794
- deviceType: "gst",
795
- note: ""
796
- };
797
-
798
- const incidentEvent = {
799
- IncidentNumber: "TC1212121",
800
- departmentId: "d123",
801
- modified_unix_date: 1432230780,
802
- message: "Hello from the other side",
803
- location: {
804
- longitude: -29.90129,
805
- latitude: 121.223131
806
- },
807
- userTime: 1437121647,
808
- type: "contribution",
809
- user: {
810
- email: "marius+cc@tabletcommand.com",
811
- username: "ztc-marcc",
812
- radioName: "E12",
813
- userId: "51c2dcca0c599704e400001f"
814
- },
815
- uuid: "ABCDEF"
816
- };
817
-
818
- const incidentTakeover = {
819
- _id: new mongoose.Types.ObjectId(),
820
- incident_id: "i1234",
821
- incident_name: "Test Incident",
822
- incident_number: "TC-12345",
823
- departmentId: "d123",
824
- old_owner: "user1",
825
- new_owner: "user2",
826
- owner: "",
827
- status: "request",
828
- request_time: 1442888560
829
- };
830
-
831
- const incidentNotified = {
832
- _id: new mongoose.Types.ObjectId(),
833
- departmentId: "d123",
834
- IncidentNumber: "T-1536603902",
835
- incidentTypes: [
836
- "any"
837
- ],
838
- units: [
839
- "E31"
840
- ],
841
- unitsByDispatch: [
842
- {
843
- UnitID: "E31",
844
- UnitDispatchNumber: "12345"
845
- }
846
- ],
847
- sent: [
848
- ],
849
- updated: "2018-09-10T18:25:02.196Z"
850
- };
851
-
852
- const location = {
853
- _id: new mongoose.Types.ObjectId(),
854
- departmentId: "d123",
855
- userId: "542a40db20783c000000153d",
856
- uuid: "92c8f732-52b7-46cc-855a-d54fddfe3172",
857
- username: "E23",
858
- device_type: "iPad",
859
- active: true,
860
- heading: 43,
861
- locationGeoJSON: {
862
- type: "Point",
863
- coordinates: [-120.001, 37.001],
864
- },
865
- session: "abcd",
866
- opAreaCode: "DAL",
867
- opAreaName: "Delta Operations",
868
- shared: true,
869
- state: "CA",
870
- sendToCAD: false,
871
- color: {
872
- text: "#00AA00",
873
- background: "#FFAAFF"
874
- },
875
- modified: new Date().toISOString()
876
- };
877
-
878
- const managedIncident = {
879
- _id: new mongoose.Types.ObjectId(),
880
- CallerNumber: "(720) 275-6765",
881
- CommandChannel: "ACPRI",
882
- TacticalAltChannel: "ACOPSB",
883
- TacticalChannel: "ACOPSA",
884
- active: 1,
885
- address: "Interstate 76 Eb / Federal To I 76 Eb, UNINCORPORATED ADAMS COUNTY CO",
886
- api_incident_number: "ACFR040719-0002506",
887
- channel: "ADAMSCOUNTYFIRERESCUEN1C-MANAGED-ACFR040719-0002506",
888
- channel_owner: "e12@acfpd.org",
889
- departmentId: "5b17f315f877ee16f3d019b7",
890
- end_time: "2019-04-08T00:16:30+0000",
891
- end_unix_time: 1554682590.44313,
892
- esri_map: {
893
- json: "YnBsaXN0MDDUAQIDBAUGCAlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKEHVSRudWxsXxAPTlNLZXllZEFyY2hpdmVy0QoLVHJvb3SAAAgRGiMtMjc5P1FUWQAAAAAAAAEBAAAAAAAAAAwAAAAAAAAAAAAAAAAAAABb",
894
- map_type: "Generic",
895
- name: "Street",
896
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
897
- uuid: "00FCA57A-6F1B-4F74-84BD-E7A8B8BFF8FB"
898
- },
899
- history: [
900
- //
901
- {
902
- entity_id: 9207,
903
- entity_type: 14,
904
- message: "(43) 2a72 start medical (Shared)",
905
- time: 1554681941
906
- }
907
- ],
908
- is_closed: 1,
909
- location: "39.802526,-105.019773",
910
- managed: "1",
911
- modified_date: "2019-04-08T00:16:30.473", // Same as the modified_unix_date
912
- modified_unix_date: 1554682590.47396,
913
- name: "INJURED PARTY",
914
- preference_location: "location",
915
- slave_map_changed: false,
916
- source: "cad",
917
- start_time: "2019-04-08T00:05:41+0000",
918
- start_unix_time: 1554681941,
919
- units: [
920
- //
921
- {
922
- UnitID: "M12",
923
- active: 1,
924
- air_time: "",
925
- api_unit_dispatch_number: "5163322",
926
- checked: 0,
927
- column_position: 0,
928
- group_position: 0,
929
- incident_position: 0,
930
- isSupervisor: false,
931
- is_part_of_group: false,
932
- location_on_image: "",
933
- location_on_map: "",
934
- modified_date: "2019-04-08T00:16:30+0000",
935
- modified_unix_date: 1554682590.51667,
936
- note: "",
937
- personnelOnScene: 2,
938
- Personnel: [
939
- {
940
- "PersonnelID": "X14",
941
- "PersonnelName": "Mary Smith",
942
- "PersonnelNote": "X",
943
- "PersonnelRank": "Captain",
944
- "PersonnelWorkCode": "TRD"
945
- },
946
- {
947
- "PersonnelID": "Y21",
948
- "PersonnelName": "Nicholas Santos",
949
- "PersonnelNote": "Y",
950
- "PersonnelRank": "PM",
951
- "PersonnelWorkCode": "REG"
952
- }
953
- ],
954
- status: "Arrived",
955
- status_unix_date: 1554682217,
956
- time: "",
957
- warning: 0
958
- }
959
- ],
960
- userId: "5b3e78cc944e2a18d5222424",
961
- uuid: "579E2F47-7F63-4351-B41F-4A345D680B8F",
962
- // Share incident properties
963
- ReportNumber: [
964
- //
965
- {
966
- "name": "A",
967
- "number": "07-0351"
968
- },
969
- {
970
- "name": "B",
971
- "number": "UM-02210"
972
- }
973
- ],
974
- radioChannels: [
975
- //
976
- {
977
- "name": "CMD",
978
- "channel": "LOCAL Tone: 3",
979
- "url": "http://example.com/stream1"
980
- },
981
- {
982
- "name": "TAC",
983
- "channel": "CDF TAC 10",
984
- "url": "http://example.com/stream2"
985
- }
986
- ],
987
- record: {
988
- "name": "John",
989
- "value": "Smith",
990
- },
991
- sharedSource: {
992
- isExternal: true,
993
- name: "Demo RTS Fire Department",
994
- reasons: [
995
- {
996
- date: "2024-05-03T00:00:00.000Z",
997
- name: "Unit B10 assigned"
998
- }
999
- ]
1000
- },
1001
- sharedTo: [
1002
- //
1003
- {
1004
- active: true,
1005
- departmentId: "5195426cc4e016a988000965",
1006
- expireAt: "2024-08-01T10:20:30.400Z",
1007
- name: "Test Fire Department",
1008
- reasons: [
1009
- {
1010
- date: "2024-05-03T01:01:01.010Z",
1011
- name: "Unit M10 assigned"
1012
- }
1013
- ],
1014
- startAt: "2024-05-01T01:02:03.040Z",
1015
- }
1016
- ],
1017
- };
1018
-
1019
- const monitor = {
1020
- _id: new mongoose.Types.ObjectId(),
1021
- departmentId: "546ace2b3cd8d60d1d00256a",
1022
- agencyId: "123",
1023
- notificationType: "maps-auth-error",
1024
- status: "active",
1025
- sentAt: new Date(1000.0 * 1603263604),
1026
- sentUnixDate: 1603263604
1027
- };
1028
-
1029
- const rateLimit = {
1030
- _id: new mongoose.Types.ObjectId(),
1031
- username: "test123",
1032
- modified_unix_date: 1426983552.49945,
1033
- count: 8
1034
- };
1035
-
1036
- const session = {
1037
- when: "2019-04-01T04:41:38.509Z",
1038
- user: "51c2dcca0c599704e400001f",
1039
- email: "marius+cc@tabletcommand.com",
1040
- nick: "ztc-marcc",
1041
- deviceId: "7evAKaFiOeaWTlsMTOSQMBKN",
1042
- remoteAddress: "124.148.161.107",
1043
- userAgent: "TCMobile/1.6 (iPhone; iOS 12.1; Scale/2.00)",
1044
- why: "password",
1045
- departmentId: "51a2529293e11b3569000057",
1046
- source: "iphone.beta",
1047
- token: uuid.v4(),
1048
- active: false,
1049
- ended: "2019-04-01T04:41:39.233Z"
1050
- };
1051
-
1052
- const template = {
1053
- position: 1,
1054
- active: true,
1055
- name: "Vertical Test",
1056
- userId: "1234",
1057
- departmentId: "4321",
1058
- isMandatory: false,
1059
- group: [],
1060
- checklist: [],
1061
- agencyId: new mongoose.Types.ObjectId(agency._id)
1062
- };
1063
-
1064
- const user = {
1065
- _id: new mongoose.Types.ObjectId(),
1066
- nick: "Test",
1067
- email: "test@save.me",
1068
- mapId: "TEST",
1069
- departmentId: "d123",
1070
- isPro: true,
1071
- agencyId: new mongoose.Types.ObjectId(agency._id),
1072
- managedAgencies: [new mongoose.Types.ObjectId(agency._id)],
1073
- shareLocationPhone: false,
1074
- shareLocationTablet: true,
1075
- notificationSounds: [
1076
- //
1077
- {
1078
- sound: "testSound.caf",
1079
- soundType: "default",
1080
- }
1081
- ],
1082
- offlineMapsEnabled: true,
1083
- offDutyEnabled: true,
1084
- webMapSettings: {
1085
- defaultZoomLevel: 10,
1086
- defaultCenter: [1, 1],
1087
- defaultMap: "Default"
1088
- },
1089
- restrictedCommentsEnabled: true
1090
- };
1091
-
1092
- const userRegistration = {
1093
- email: "test@email.com",
1094
- name: "John Waters",
1095
- firstName: "John",
1096
- lastName: "Waters",
1097
- department: "New York City, NY",
1098
- title: "Mr",
1099
- modifiedDate: 1426983552.49945,
1100
- status: "registered",
1101
- stage: "afterEULA",
1102
- presentedAt: 1488157071.042124,
1103
- managedIncidentsCount: 1,
1104
- checklistsCount: 2,
1105
- firstIncidentUnixTime: 1443666043.380937,
1106
- lastIncidentLocation: "40.999357,-85.767932",
1107
- lastIncidentUnixTime: 1480525299.50968
1108
- };
1109
-
1110
- const userDevice = {
1111
- userId: "1234",
1112
- departmentID: "4321",
1113
- devices: [
1114
- //
1115
- {
1116
- token: "de2687382a9df6a1165616aac",
1117
- env: "testmock",
1118
- ver: "TC Mobile v1.0 b23",
1119
- ua: "TCMobile/1.0 (iPhone; iOS 10.1.1; Scale/3.00)",
1120
- time: 1438627429.956,
1121
- drift: 1438627429.956,
1122
- bundleIdentifier: "com.testtesttest.TCMobile",
1123
- silentEnabled: true,
1124
- criticalAlertsEnabled: true,
1125
- session: "1234321",
1126
- active: true,
1127
- offDuty: false
1128
- }
1129
- ],
1130
- notificationCount: 12,
1131
- notificationUnitSettings: [
1132
- {
1133
- radioName: "B1",
1134
- notificationType: "NORMAL",
1135
- notificationMode: "ON DUTY"
1136
- }
1137
- ],
1138
- notificationIncidentSettings: [
1139
- {
1140
- incidentType: "Cliff Rescue",
1141
- notificationType: "NORMAL",
1142
- notificationMode: "ON DUTY"
1143
- }
1144
- ],
1145
- notificationSounds: {
1146
- ios: {
1147
- sound: "a.caf",
1148
- soundType: "default",
1149
- os: "ios"
1150
- },
1151
- android: {
1152
- sound: "b.mp3",
1153
- soundType: "default",
1154
- os: "android"
1155
- }
1156
- },
1157
- offDuty: true,
1158
- criticalAlertsVolume: "MED",
1159
- };
1160
-
1161
- const personnelImport = {
1162
- _id: new mongoose.Types.ObjectId(),
1163
- PersonnelID: "AM0111",
1164
- PersonnelName: "Test User",
1165
- PersonnelRank: "Eng",
1166
- PersonnelWorkCode: "abcd1234",
1167
- PersonnelNote: "A test user",
1168
- departmentId: "123zzz",
1169
- radioNames: ["M10", "Z1"],
1170
- shiftStartTime: 1559446299,
1171
- shiftStart: "2019-06-02T03:31:39.000Z",
1172
- shiftEndTime: 1569446299,
1173
- shiftEnd: "2019-09-25T21:18:19.000Z",
1174
- modified_unix_date: 1570446299,
1175
- modified: "2019-10-07T11:04:59.000Z",
1176
- active: true,
1177
- agencyCode: "TC",
1178
- agencyName: "Tablet Command",
1179
- importNotes: "test note"
1180
- };
1181
-
1182
- const csvImport = {
1183
- _id: new mongoose.Types.ObjectId(),
1184
- batchId: "AM0111",
1185
- departmentId: "1234",
1186
- agencyId: "abcd1234",
1187
- importType: "users",
1188
- fileType: "csv",
1189
- fileName: "test file 123",
1190
- fileSize: 800,
1191
- records: [],
1192
- userId: "4321",
1193
- status: "success",
1194
- sendNotification: false
1195
- };
1196
-
1197
- const validationReport = {
1198
- _id: new mongoose.Types.ObjectId(),
1199
- departmentId: new mongoose.Types.ObjectId("56131f724143487a10000001"),
1200
- modified: new Date("2022-11-13T22:02:01Z"),
1201
- location: [],
1202
- statusMap: [],
1203
- status: [],
1204
- vehicleStatus: [],
1205
- vehicle: [],
1206
- incident: [
1207
- {
1208
- message: "path: /ReportNumber msg: must be array",
1209
- firstSeenAt: new Date("2022-11-14T09:23:48.866Z"),
1210
- lastSeenAt: new Date("2022-11-14T09:23:48.866Z"),
1211
- payload: {
1212
- AgencyID: "99999",
1213
- IncidentNumber: "ABCD-1234",
1214
- ReportNumber: ""
1215
- }
1216
- }
1217
- ],
1218
- personnel: [],
1219
- };
1220
-
1221
- async function cleanup() {
1222
- if (!shouldRun()) {
1223
- process.exit(1);
1224
- }
1225
-
1226
- const items = await mongoose.connection.db.collections();
1227
- for (const coll of items) {
1228
- // console.log(`Emptying ${coll.collectionName}.`);
1229
- await coll.deleteMany({});
1230
- }
1231
- }
1232
-
1233
- async function beforeEach() {
1234
- if (!shouldRun()) {
1235
- process.exit(1);
1236
- }
1237
-
1238
- await cleanup();
1239
- }
1240
-
1241
- return {
1242
- beforeEach,
1243
- cleanup,
1244
-
1245
- actionLog,
1246
- mark43IncidentRetry,
1247
- agency,
1248
- arcGISGroup,
1249
- assignment,
1250
- battalion,
1251
- cadIncident,
1252
- cadIncidentBlock,
1253
- cadStatus,
1254
- cadStatusMap,
1255
- cadVehicle,
1256
- cadVehicleStatus,
1257
- cadVehicleStatusHistory,
1258
- checklist,
1259
- checklistItem,
1260
- csvImport,
1261
- department,
1262
- deviceMapping,
1263
- esri,
1264
- gstMapping,
1265
- incidentEvent,
1266
- incidentNotified,
1267
- incidentTakeover,
1268
- jobLog,
1269
- releaseNote,
1270
- cadSimulation,
1271
- location,
1272
- mailLog,
1273
- managedIncident,
1274
- message,
1275
- monitor,
1276
- personnelImport,
1277
- rateLimit,
1278
- session,
1279
- template,
1280
- user,
1281
- userDevice,
1282
- userRegistration,
1283
- validationReport,
1284
- };
1285
- };