tabletcommand-backend-models 7.0.13 → 7.0.14

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