tabletcommand-incident 0.4.11 → 0.4.13

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 (291) hide show
  1. package/.cspell/project-words.txt +5 -0
  2. package/build/incidentProcessor.js +5 -1
  3. package/build/incidentProcessor.js.map +1 -1
  4. package/build/ruleLegacy/cleanupCommentsFilters.js +0 -21
  5. package/build/ruleLegacy/cleanupCommentsFilters.js.map +1 -1
  6. package/build/ruleProcessorLegacy.js +0 -73
  7. package/build/ruleProcessorLegacy.js.map +1 -1
  8. package/build/rules/index.js +81 -57
  9. package/build/rules/index.js.map +1 -1
  10. package/build/rules/join-call-type-priority.js +23 -3
  11. package/build/rules/join-call-type-priority.js.map +1 -1
  12. package/build/rules/set-fire-alarm-at-dispatch-from-alarm-level.js +65 -0
  13. package/build/rules/set-fire-alarm-at-dispatch-from-alarm-level.js.map +1 -0
  14. package/build/rules/set-fire-map-santa-clara-city copy.js +51 -0
  15. package/build/rules/set-fire-map-santa-clara-city copy.js.map +1 -0
  16. package/build/test/domain.js +61 -55
  17. package/build/test/domain.js.map +1 -1
  18. package/build/test/index.js +279 -98
  19. package/build/test/index.js.map +1 -1
  20. package/build/test/mock.js +288 -3
  21. package/build/test/mock.js.map +1 -1
  22. package/build/test/rules/clean-up-comments.js +4 -8
  23. package/build/test/rules/clean-up-comments.js.map +1 -1
  24. package/build/test/rules/clean-up-lat-long.js +5 -9
  25. package/build/test/rules/clean-up-lat-long.js.map +1 -1
  26. package/build/test/rules/clear-field.js +4 -8
  27. package/build/test/rules/clear-field.js.map +1 -1
  28. package/build/test/rules/close-incident-after-hours.js +8 -12
  29. package/build/test/rules/close-incident-after-hours.js.map +1 -1
  30. package/build/test/rules/close-incident-matching-incident-number.js +28 -29
  31. package/build/test/rules/close-incident-matching-incident-number.js.map +1 -1
  32. package/build/test/rules/close-incident-of-certain-type.js +8 -12
  33. package/build/test/rules/close-incident-of-certain-type.js.map +1 -1
  34. package/build/test/rules/join-call-type-priority.js +20 -11
  35. package/build/test/rules/join-call-type-priority.js.map +1 -1
  36. package/build/test/rules/map-unit-dates-verdugo.js +8 -9
  37. package/build/test/rules/map-unit-dates-verdugo.js.map +1 -1
  38. package/build/test/rules/remove-person-from-unit.js +6 -7
  39. package/build/test/rules/remove-person-from-unit.js.map +1 -1
  40. package/build/test/rules/set-address.js +5 -9
  41. package/build/test/rules/set-address.js.map +1 -1
  42. package/build/test/rules/set-channels-from-radio-channels.js +19 -13
  43. package/build/test/rules/set-channels-from-radio-channels.js.map +1 -1
  44. package/build/test/rules/set-city-alameda.js +5 -9
  45. package/build/test/rules/set-city-alameda.js.map +1 -1
  46. package/build/test/rules/set-city-calfire-lnu.js +5 -9
  47. package/build/test/rules/set-city-calfire-lnu.js.map +1 -1
  48. package/build/test/rules/set-city-cleanup.js +7 -11
  49. package/build/test/rules/set-city-cleanup.js.map +1 -1
  50. package/build/test/rules/set-city-southern-marin.js +5 -9
  51. package/build/test/rules/set-city-southern-marin.js.map +1 -1
  52. package/build/test/rules/set-city-verdugo.js +4 -8
  53. package/build/test/rules/set-city-verdugo.js.map +1 -1
  54. package/build/test/rules/set-comment-opts-ack-type.js +7 -8
  55. package/build/test/rules/set-comment-opts-ack-type.js.map +1 -1
  56. package/build/test/rules/set-common-place-name.js +4 -8
  57. package/build/test/rules/set-common-place-name.js.map +1 -1
  58. package/build/test/rules/set-communication-channels-from-radio-names.js +6 -10
  59. package/build/test/rules/set-communication-channels-from-radio-names.js.map +1 -1
  60. package/build/test/rules/set-cross-streets.js +16 -20
  61. package/build/test/rules/set-cross-streets.js.map +1 -1
  62. package/build/test/rules/set-fire-map-from-map-pages-southern-marin.js +4 -8
  63. package/build/test/rules/set-fire-map-from-map-pages-southern-marin.js.map +1 -1
  64. package/build/test/rules/set-fire-map-pages-ontario.js +5 -9
  65. package/build/test/rules/set-fire-map-pages-ontario.js.map +1 -1
  66. package/build/test/rules/set-fire-map-santa-clara-city.js +4 -8
  67. package/build/test/rules/set-fire-map-santa-clara-city.js.map +1 -1
  68. package/build/test/rules/set-format-units-pulsepoint.js +6 -7
  69. package/build/test/rules/set-format-units-pulsepoint.js.map +1 -1
  70. package/build/test/rules/set-incident-type-ontario.js +4 -8
  71. package/build/test/rules/set-incident-type-ontario.js.map +1 -1
  72. package/build/test/rules/set-location-preference-derry.js +10 -14
  73. package/build/test/rules/set-location-preference-derry.js.map +1 -1
  74. package/build/test/rules/set-location-preference.js +10 -14
  75. package/build/test/rules/set-location-preference.js.map +1 -1
  76. package/build/test/rules/set-map-incident-type-pulsepoint.js +4 -8
  77. package/build/test/rules/set-map-incident-type-pulsepoint.js.map +1 -1
  78. package/build/test/rules/set-prior-incident-comment-field.js +5 -6
  79. package/build/test/rules/set-prior-incident-comment-field.js.map +1 -1
  80. package/build/test/rules/set-street-number.js +5 -9
  81. package/build/test/rules/set-street-number.js.map +1 -1
  82. package/build/test/rulesLegacy.js +0 -245
  83. package/build/test/rulesLegacy.js.map +1 -1
  84. package/build/test/rulesLegacyCleanupCommentsFilters.js +0 -19
  85. package/build/test/rulesLegacyCleanupCommentsFilters.js.map +1 -1
  86. package/build/test/setIncidentType.js +5 -6
  87. package/build/test/setIncidentType.js.map +1 -1
  88. package/build/verify/correction.js +62 -0
  89. package/build/verify/correction.js.map +1 -0
  90. package/definitions/incidentProcessor.d.ts.map +1 -1
  91. package/definitions/ruleLegacy/cleanupCommentsFilters.d.ts +0 -1
  92. package/definitions/ruleLegacy/cleanupCommentsFilters.d.ts.map +1 -1
  93. package/definitions/ruleProcessorLegacy.d.ts.map +1 -1
  94. package/definitions/rules/index.d.ts.map +1 -1
  95. package/definitions/rules/join-call-type-priority.d.ts +4 -1
  96. package/definitions/rules/join-call-type-priority.d.ts.map +1 -1
  97. package/definitions/rules/set-fire-alarm-at-dispatch-from-alarm-level.d.ts +11 -0
  98. package/definitions/rules/set-fire-alarm-at-dispatch-from-alarm-level.d.ts.map +1 -0
  99. package/definitions/rules/set-fire-map-santa-clara-city copy.d.ts +11 -0
  100. package/definitions/rules/set-fire-map-santa-clara-city copy.d.ts.map +1 -0
  101. package/definitions/test/mock.d.ts +6 -1
  102. package/definitions/test/mock.d.ts.map +1 -1
  103. package/definitions/types.d.ts +1 -0
  104. package/definitions/types.d.ts.map +1 -1
  105. package/definitions/verify/correction.d.ts +2 -0
  106. package/definitions/verify/correction.d.ts.map +1 -0
  107. package/package.json +8 -8
  108. package/src/incidentProcessor.ts +5 -1
  109. package/src/ruleLegacy/cleanupCommentsFilters.js +0 -26
  110. package/src/ruleProcessorLegacy.js +0 -88
  111. package/src/rules/index.ts +92 -65
  112. package/src/rules/join-call-type-priority.ts +28 -3
  113. package/src/rules/set-fire-alarm-at-dispatch-from-alarm-level.ts +67 -0
  114. package/src/test/domain.ts +9 -4
  115. package/src/test/index.ts +295 -62
  116. package/src/test/mock.ts +293 -3
  117. package/src/test/rules/clean-up-comments.ts +1 -2
  118. package/src/test/rules/clean-up-lat-long.ts +1 -2
  119. package/src/test/rules/clear-field.ts +1 -2
  120. package/src/test/rules/close-incident-after-hours.ts +1 -2
  121. package/src/test/rules/close-incident-matching-incident-number.ts +2 -2
  122. package/src/test/rules/close-incident-of-certain-type.ts +1 -2
  123. package/src/test/rules/join-call-type-priority.ts +19 -5
  124. package/src/test/rules/map-unit-dates-verdugo.ts +1 -3
  125. package/src/test/rules/remove-person-from-unit.ts +1 -2
  126. package/src/test/rules/set-address.ts +1 -2
  127. package/src/test/rules/set-channels-from-radio-channels.ts +11 -2
  128. package/src/test/rules/set-city-alameda.ts +1 -2
  129. package/src/test/rules/set-city-calfire-lnu.ts +1 -2
  130. package/src/test/rules/set-city-cleanup.ts +1 -2
  131. package/src/test/rules/set-city-southern-marin.ts +1 -2
  132. package/src/test/rules/set-city-verdugo.ts +1 -2
  133. package/src/test/rules/set-comment-opts-ack-type.ts +1 -2
  134. package/src/test/rules/set-common-place-name.ts +1 -2
  135. package/src/test/rules/set-communication-channels-from-radio-names.ts +1 -2
  136. package/src/test/rules/set-cross-streets.ts +1 -2
  137. package/src/test/rules/set-fire-map-from-map-pages-southern-marin.ts +1 -2
  138. package/src/test/rules/set-fire-map-pages-ontario.ts +1 -2
  139. package/src/test/rules/set-fire-map-santa-clara-city.ts +1 -2
  140. package/src/test/rules/set-format-units-pulsepoint.ts +1 -2
  141. package/src/test/rules/set-incident-type-ontario.ts +1 -2
  142. package/src/test/rules/set-location-preference-derry.ts +1 -2
  143. package/src/test/rules/set-location-preference.ts +1 -2
  144. package/src/test/rules/set-map-incident-type-pulsepoint.ts +1 -2
  145. package/src/test/rules/set-prior-incident-comment-field.ts +2 -3
  146. package/src/test/rules/set-street-number.ts +1 -2
  147. package/src/test/rulesLegacy.js +1 -272
  148. package/src/test/rulesLegacyCleanupCommentsFilters.js +0 -22
  149. package/src/test/setIncidentType.ts +1 -3
  150. package/src/types.ts +1 -0
  151. package/src/verify/correction.ts +55 -0
  152. package/build/ruleLegacy/removePersonFromUnit.js +0 -35
  153. package/build/ruleLegacy/removePersonFromUnit.js.map +0 -1
  154. package/build/ruleLegacy/setAgencyCallTypeClarkCounty.js +0 -18
  155. package/build/ruleLegacy/setAgencyCallTypeClarkCounty.js.map +0 -1
  156. package/build/ruleLegacy/setCommunicationChannelsFromRadioNames.js +0 -50
  157. package/build/ruleLegacy/setCommunicationChannelsFromRadioNames.js.map +0 -1
  158. package/build/ruleLegacy/setFireMapEmptyString.js +0 -15
  159. package/build/ruleLegacy/setFireMapEmptyString.js.map +0 -1
  160. package/definitions/location.d.ts +0 -10
  161. package/definitions/location.d.ts.map +0 -1
  162. package/definitions/rule/cleanupComments.d.ts +0 -3
  163. package/definitions/rule/cleanupComments.d.ts.map +0 -1
  164. package/definitions/rule/cleanupCommentsFilters.d.ts +0 -8
  165. package/definitions/rule/cleanupCommentsFilters.d.ts.map +0 -1
  166. package/definitions/rule/cleanupLatLongSantaClaraCity.d.ts +0 -3
  167. package/definitions/rule/cleanupLatLongSantaClaraCity.d.ts.map +0 -1
  168. package/definitions/rule/cleanupNull.d.ts +0 -3
  169. package/definitions/rule/cleanupNull.d.ts.map +0 -1
  170. package/definitions/rule/cleanupReportNumber.d.ts +0 -3
  171. package/definitions/rule/cleanupReportNumber.d.ts.map +0 -1
  172. package/definitions/rule/closeIncidentAfterHours.d.ts +0 -3
  173. package/definitions/rule/closeIncidentAfterHours.d.ts.map +0 -1
  174. package/definitions/rule/closeIncidentMatchingIncidentNumber.d.ts +0 -3
  175. package/definitions/rule/closeIncidentMatchingIncidentNumber.d.ts.map +0 -1
  176. package/definitions/rule/closeIncidentOfCertainType.d.ts +0 -3
  177. package/definitions/rule/closeIncidentOfCertainType.d.ts.map +0 -1
  178. package/definitions/rule/copyCommandName.d.ts +0 -3
  179. package/definitions/rule/copyCommandName.d.ts.map +0 -1
  180. package/definitions/rule/copyIncidentNumber.d.ts +0 -3
  181. package/definitions/rule/copyIncidentNumber.d.ts.map +0 -1
  182. package/definitions/rule/copyLocationComment.d.ts +0 -3
  183. package/definitions/rule/copyLocationComment.d.ts.map +0 -1
  184. package/definitions/rule/mapUnitDatesVerdugo.d.ts +0 -3
  185. package/definitions/rule/mapUnitDatesVerdugo.d.ts.map +0 -1
  186. package/definitions/rule/rebuildUnitDispatchNumber.d.ts +0 -3
  187. package/definitions/rule/rebuildUnitDispatchNumber.d.ts.map +0 -1
  188. package/definitions/rule/removeEmptyPersonFromUnit.d.ts +0 -3
  189. package/definitions/rule/removeEmptyPersonFromUnit.d.ts.map +0 -1
  190. package/definitions/rule/removeField.d.ts +0 -3
  191. package/definitions/rule/removeField.d.ts.map +0 -1
  192. package/definitions/rule/removePersonFromUnit.d.ts +0 -3
  193. package/definitions/rule/removePersonFromUnit.d.ts.map +0 -1
  194. package/definitions/rule/setAgencyCallTypeClarkCounty.d.ts +0 -3
  195. package/definitions/rule/setAgencyCallTypeClarkCounty.d.ts.map +0 -1
  196. package/definitions/rule/setChannelUrlForDepartment.d.ts +0 -3
  197. package/definitions/rule/setChannelUrlForDepartment.d.ts.map +0 -1
  198. package/definitions/rule/setChannelsFromRadioChannels.d.ts +0 -3
  199. package/definitions/rule/setChannelsFromRadioChannels.d.ts.map +0 -1
  200. package/definitions/rule/setCityAlameda.d.ts +0 -3
  201. package/definitions/rule/setCityAlameda.d.ts.map +0 -1
  202. package/definitions/rule/setCityCalfireLNU.d.ts +0 -3
  203. package/definitions/rule/setCityCalfireLNU.d.ts.map +0 -1
  204. package/definitions/rule/setCitySouthernMarin.d.ts +0 -3
  205. package/definitions/rule/setCitySouthernMarin.d.ts.map +0 -1
  206. package/definitions/rule/setCommonPlaceName.d.ts +0 -3
  207. package/definitions/rule/setCommonPlaceName.d.ts.map +0 -1
  208. package/definitions/rule/setCommunicationChannelsFromRadioNames.d.ts +0 -3
  209. package/definitions/rule/setCommunicationChannelsFromRadioNames.d.ts.map +0 -1
  210. package/definitions/rule/setCrossStreets.d.ts +0 -3
  211. package/definitions/rule/setCrossStreets.d.ts.map +0 -1
  212. package/definitions/rule/setFireMapEmptyString.d.ts +0 -3
  213. package/definitions/rule/setFireMapEmptyString.d.ts.map +0 -1
  214. package/definitions/rule/setFireMapFromMapPagesSouthernMarin.d.ts +0 -3
  215. package/definitions/rule/setFireMapFromMapPagesSouthernMarin.d.ts.map +0 -1
  216. package/definitions/rule/setFireMapSantaClaraCity.d.ts +0 -3
  217. package/definitions/rule/setFireMapSantaClaraCity.d.ts.map +0 -1
  218. package/definitions/rule/setFormatUnitsPulsepoint.d.ts +0 -3
  219. package/definitions/rule/setFormatUnitsPulsepoint.d.ts.map +0 -1
  220. package/definitions/rule/setFullAddress.d.ts +0 -3
  221. package/definitions/rule/setFullAddress.d.ts.map +0 -1
  222. package/definitions/rule/setLatitudeLongitude.d.ts +0 -3
  223. package/definitions/rule/setLatitudeLongitude.d.ts.map +0 -1
  224. package/definitions/rule/setLegacyPriorIncidentChanged.d.ts +0 -3
  225. package/definitions/rule/setLegacyPriorIncidentChanged.d.ts.map +0 -1
  226. package/definitions/rule/setLegacyRenameUnit.d.ts +0 -3
  227. package/definitions/rule/setLegacyRenameUnit.d.ts.map +0 -1
  228. package/definitions/rule/setLocationPreferenceDerry.d.ts +0 -3
  229. package/definitions/rule/setLocationPreferenceDerry.d.ts.map +0 -1
  230. package/definitions/rule/setLocationPreferenceTorrance.d.ts +0 -3
  231. package/definitions/rule/setLocationPreferenceTorrance.d.ts.map +0 -1
  232. package/definitions/rule/setMapIncidentTypePulsepoint.d.ts +0 -3
  233. package/definitions/rule/setMapIncidentTypePulsepoint.d.ts.map +0 -1
  234. package/definitions/rule/setPriorIncidentCommentField.d.ts +0 -3
  235. package/definitions/rule/setPriorIncidentCommentField.d.ts.map +0 -1
  236. package/definitions/rule/setRadioChannelsFromLegacyChannels.d.ts +0 -3
  237. package/definitions/rule/setRadioChannelsFromLegacyChannels.d.ts.map +0 -1
  238. package/definitions/rule/setRadioChannelsFromRadioNames.d.ts +0 -3
  239. package/definitions/rule/setRadioChannelsFromRadioNames.d.ts.map +0 -1
  240. package/definitions/rule/setStreetNumber.d.ts +0 -3
  241. package/definitions/rule/setStreetNumber.d.ts.map +0 -1
  242. package/definitions/rule/setUnitDispatchNumberAsString.d.ts +0 -3
  243. package/definitions/rule/setUnitDispatchNumberAsString.d.ts.map +0 -1
  244. package/definitions/rule/setUnitUUID.d.ts +0 -3
  245. package/definitions/rule/setUnitUUID.d.ts.map +0 -1
  246. package/definitions/rule/translateCityVerdugo.d.ts +0 -3
  247. package/definitions/rule/translateCityVerdugo.d.ts.map +0 -1
  248. package/definitions/rule-processor.d.ts +0 -2
  249. package/definitions/rule-processor.d.ts.map +0 -1
  250. package/definitions/ruleLegacy/copyIncidentNumber.d.ts +0 -3
  251. package/definitions/ruleLegacy/copyIncidentNumber.d.ts.map +0 -1
  252. package/definitions/ruleLegacy/copyLocationComment.d.ts +0 -3
  253. package/definitions/ruleLegacy/copyLocationComment.d.ts.map +0 -1
  254. package/definitions/ruleLegacy/removePersonFromUnit.d.ts +0 -3
  255. package/definitions/ruleLegacy/removePersonFromUnit.d.ts.map +0 -1
  256. package/definitions/ruleLegacy/setAgencyCallTypeClarkCounty.d.ts +0 -3
  257. package/definitions/ruleLegacy/setAgencyCallTypeClarkCounty.d.ts.map +0 -1
  258. package/definitions/ruleLegacy/setCityAlameda.d.ts +0 -3
  259. package/definitions/ruleLegacy/setCityAlameda.d.ts.map +0 -1
  260. package/definitions/ruleLegacy/setCityCalfireLNU.d.ts +0 -3
  261. package/definitions/ruleLegacy/setCityCalfireLNU.d.ts.map +0 -1
  262. package/definitions/ruleLegacy/setCitySouthernMarin.d.ts +0 -3
  263. package/definitions/ruleLegacy/setCitySouthernMarin.d.ts.map +0 -1
  264. package/definitions/ruleLegacy/setCommonPlaceName.d.ts +0 -3
  265. package/definitions/ruleLegacy/setCommonPlaceName.d.ts.map +0 -1
  266. package/definitions/ruleLegacy/setCommunicationChannelsFromRadioNames.d.ts +0 -3
  267. package/definitions/ruleLegacy/setCommunicationChannelsFromRadioNames.d.ts.map +0 -1
  268. package/definitions/ruleLegacy/setCrossStreets.d.ts +0 -3
  269. package/definitions/ruleLegacy/setCrossStreets.d.ts.map +0 -1
  270. package/definitions/ruleLegacy/setFireMapEmptyString.d.ts +0 -3
  271. package/definitions/ruleLegacy/setFireMapEmptyString.d.ts.map +0 -1
  272. package/definitions/ruleLegacy/setFireMapFromMapPagesSouthernMarin.d.ts +0 -3
  273. package/definitions/ruleLegacy/setFireMapFromMapPagesSouthernMarin.d.ts.map +0 -1
  274. package/definitions/ruleLegacy/setFullAddress.d.ts +0 -3
  275. package/definitions/ruleLegacy/setFullAddress.d.ts.map +0 -1
  276. package/definitions/ruleLegacy/setPriorIncidentCommentField.d.ts +0 -3
  277. package/definitions/ruleLegacy/setPriorIncidentCommentField.d.ts.map +0 -1
  278. package/definitions/ruleLegacy/translateCityVerdugo.d.ts +0 -3
  279. package/definitions/ruleLegacy/translateCityVerdugo.d.ts.map +0 -1
  280. package/definitions/set-incident-type.d.ts +0 -20
  281. package/definitions/set-incident-type.d.ts.map +0 -1
  282. package/definitions/test/rules.d.ts +0 -2
  283. package/definitions/test/rules.d.ts.map +0 -1
  284. package/definitions/test/rulesCleanupCommentsFilters.d.ts +0 -2
  285. package/definitions/test/rulesCleanupCommentsFilters.d.ts.map +0 -1
  286. package/definitions/test/set-incident-type.d.ts +0 -2
  287. package/definitions/test/set-incident-type.d.ts.map +0 -1
  288. package/src/ruleLegacy/removePersonFromUnit.js +0 -37
  289. package/src/ruleLegacy/setAgencyCallTypeClarkCounty.js +0 -20
  290. package/src/ruleLegacy/setCommunicationChannelsFromRadioNames.js +0 -58
  291. package/src/ruleLegacy/setFireMapEmptyString.js +0 -15
@@ -1,6 +1,5 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
- const assert = chai.assert;
4
3
 
5
4
  import {
6
5
  IncidentRuleSetFireMapSantaClaraCity,
@@ -1,7 +1,6 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
3
  import _ from "lodash";
4
- const assert = chai.assert;
5
4
 
6
5
  import { CADUnit } from "../../types";
7
6
  import {
@@ -1,6 +1,5 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
- const assert = chai.assert;
4
3
 
5
4
  import {
6
5
  IncidentRuleSetIncidentTypeOntario,
@@ -1,6 +1,5 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
- const assert = chai.assert;
4
3
 
5
4
  import {
6
5
  IncidentRuleSetLocationPreferenceDerry,
@@ -1,6 +1,5 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
- const assert = chai.assert;
4
3
 
5
4
  import {
6
5
  IncidentRuleSetLocationPreference,
@@ -1,6 +1,5 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
- const assert = chai.assert;
4
3
 
5
4
  import {
6
5
  IncidentRuleSetMapIncidentTypePulsePoint,
@@ -1,8 +1,7 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
- import { CADIncident } from "tabletcommand-backend-models";
4
3
  import _ from "lodash";
5
- const assert = chai.assert;
4
+ import { CADIncident } from "tabletcommand-backend-models";
6
5
 
7
6
  import {
8
7
  IncidentRuleSetPriorIncidentCommentField,
@@ -1,6 +1,5 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
- const assert = chai.assert;
4
3
 
5
4
  import {
6
5
  IncidentRuleSetStreetNumber,
@@ -15,11 +15,9 @@ const closeIncidentMatchingIncidentNumber = require("../ruleLegacy/closeIncident
15
15
  const closeIncidentOfCertainType = require("../ruleLegacy/closeIncidentOfCertainType");
16
16
  const rebuildUnitDispatchNumber = require("../ruleLegacy/rebuildUnitDispatchNumber");
17
17
  const removeField = require("../ruleLegacy/removeField");
18
- const setAgencyCallTypeClarkCounty = require("../ruleLegacy/setAgencyCallTypeClarkCounty");
19
18
  const setMapIncidentTypePulsepoint = require("../ruleLegacy/setMapIncidentTypePulsepoint");
20
19
  const setFormatUnitsPulsepoint = require("../ruleLegacy/setFormatUnitsPulsepoint");
21
20
  const mapUnitDatesVerdugo = require("../ruleLegacy/mapUnitDatesVerdugo");
22
- const setCommunicationChannelsFromRadioNamesMod = require("../ruleLegacy/setCommunicationChannelsFromRadioNames");
23
21
  const setRadioChannelsFromRadioNamesMod = require("../ruleLegacy/setRadioChannelsFromRadioNames");
24
22
  const setChannelsFromRadioChannels = require("../ruleLegacy/setChannelsFromRadioChannels");
25
23
  const setLatitudeLongitude = require("../ruleLegacy/setLatitudeLongitude");
@@ -86,21 +84,6 @@ const testDeptSanDiego = {
86
84
  apikey: "sdKey"
87
85
  };
88
86
 
89
- const testDeptSMC = {
90
- _id: "5238fb0228dd530000000132",
91
- apikey: "smcKey"
92
- };
93
-
94
- const testDeptAlameda = {
95
- _id: "63695b86cd105785080ef488",
96
- apikey: "alaKey"
97
- };
98
-
99
- const testDeptLNU = {
100
- _id: "57292e6a396b8faa39000019",
101
- apikey: "lnuKey"
102
- };
103
-
104
87
  const testDeptSonoma = {
105
88
  _id: "602ef016b63b6f29d83a91d2",
106
89
  apikey: "sonomaKey"
@@ -184,6 +167,7 @@ const testMatchIncidentWithNull = {
184
167
  }],
185
168
  departmentId: "515"
186
169
  };
170
+
187
171
  const testNotMatchIncidentWithNull = {
188
172
  IncidentNumber: "i1239",
189
173
  CityOrLocality: "Main St",
@@ -292,16 +276,6 @@ const testMatchClarkCounty = {
292
276
  departmentId: "515"
293
277
  };
294
278
 
295
- const testMatchSanMateoCountyIncidentSample = {
296
- IncidentNumber: "i1236",
297
- StreetName: "Main St",
298
- StreetNumber: "123",
299
- CityOrLocality: "Main St",
300
- Longitude: "-122.3118",
301
- Latitude: "37.577",
302
- FireMap: "12C"
303
- };
304
-
305
279
  const testMatchAlamedaIncidentRadioChannels = {
306
280
  IncidentNumber: "i1237",
307
281
  Unit: [
@@ -371,33 +345,6 @@ const testMatchAlamedaIncidentRadioChannels3 = {
371
345
  }]
372
346
  };
373
347
 
374
- const testMatchSanMateoCountyIncidentCommChannels = {
375
- IncidentNumber: "i1237",
376
- Unit: [
377
- //
378
- {
379
- UnitDispatchNumber: "TAC15",
380
- UnitID: "TAC15"
381
- },
382
- {
383
- UnitDispatchNumber: "tac8",
384
- UnitID: "tac8"
385
- },
386
- {
387
- UnitDispatchNumber: "taC9",
388
- UnitID: "taC9"
389
- },
390
- {
391
- UnitDispatchNumber: "CM41X3",
392
- UnitID: "CM41X3"
393
- },
394
- {
395
- UnitDispatchNumber: "E3",
396
- UnitID: "E3"
397
- }
398
- ]
399
- };
400
-
401
348
  const testMatchMVURadioChannels = {
402
349
  IncidentNumber: "i1237",
403
350
  radioChannels: [
@@ -455,33 +402,6 @@ const testMatchCalFireFKU = {
455
402
  CommandName: "Move Up, Left, Down, Right"
456
403
  };
457
404
 
458
- const testMatchSantaCruzIncidentCommChannels = {
459
- IncidentNumber: "1234",
460
- Unit: [
461
- //
462
- {
463
- UnitDispatchNumber: "FRED",
464
- UnitID: "FRED"
465
- },
466
- {
467
- UnitDispatchNumber: "tac8",
468
- UnitID: "tac8"
469
- },
470
- {
471
- UnitDispatchNumber: "taC9",
472
- UnitID: "taC9"
473
- },
474
- {
475
- UnitDispatchNumber: "FBLK", // cSpell: disable-line
476
- UnitID: "FBLK" // cSpell: disable-line
477
- },
478
- {
479
- UnitDispatchNumber: "FRED1",
480
- UnitID: "FRED1"
481
- }
482
- ]
483
- };
484
-
485
405
  const testMatchIncidentPulsePoint = {
486
406
  "AgencyID": "11111",
487
407
  "IncidentNumber": "F1111111",
@@ -523,57 +443,6 @@ const testMatchIncidentVerdugo = {
523
443
  "CityOrLocality": "PAS"
524
444
  };
525
445
 
526
- const testMatchSanMateoCountyPersonnel = {
527
- IncidentNumber: "i1237",
528
- "Unit": [
529
- {
530
- "AlarmAtDispatch": "1",
531
- "Personnel": [
532
- {
533
- "PersonnelID": "R295",
534
- "PersonnelName": "SMITH,BOB FF/P"
535
- },
536
- {
537
- "PersonnelID": "R261",
538
- "PersonnelName": "SMITH, ROB FF/P"
539
- },
540
- {
541
- "PersonnelID": "R267",
542
- "PersonnelName": "SMITH, KYLE FF"
543
- },
544
- {
545
- "PersonnelID": "R216",
546
- "PersonnelName": "CID, JOHN CAPT"
547
- },
548
- {
549
- "PersonnelID": "T9",
550
- "PersonnelName": "Truck 9"
551
- },
552
- {
553
- "PersonnelID": "KM-TALL",
554
- "PersonnelName": "KINGS MTN VOLUNTEER ALL"
555
- },
556
- {
557
- "PersonnelID": "A0051",
558
- "PersonnelName": "RON SWANSON CAPT S/O"
559
- },
560
- {
561
- "PersonnelID": "E52",
562
- "PersonnelName": "E52"
563
- },
564
- {
565
- "PersonnelID": "BC5",
566
- "PersonnelName": "BC5 PAGER"
567
- }
568
- ],
569
- "PersonnelCount": 9,
570
- "TimeDispatched": "2021-03-18T20:45:15-0700",
571
- "UnitDispatchNumber": "T9.1616125515",
572
- "UnitID": "T9"
573
- }
574
- ]
575
- };
576
-
577
446
  const testMatchSanFrancisco = {
578
447
  IncidentNumber: "f123",
579
448
  TacticalChannel: "B53",
@@ -597,46 +466,6 @@ const testMatchSantaClaraCityLatLong = {
597
466
  Longitude: "field:-121.98726"
598
467
  };
599
468
 
600
- const testMatchSouthernMarinCityLocation = {
601
- departmentId: testDeptSouthernMarin.id,
602
- IncidentNumber: "i1238",
603
- TransactionID: 123,
604
- StreetNumber: "15",
605
- StreetName: "WOODBRIDGE",
606
- StreetSuffix: "WAY",
607
- CityOrLocality: "NOV",
608
- CrossStreet1: "ALCONBURY WAY", // cSpell: disable-line
609
- CrossStreet2: "LACONHEATH AVE", // cSpell: disable-line
610
- LocationComment: "RAFAEL CONVALESCENT",
611
- MapPages: "5159"
612
- };
613
-
614
- const testMatchAlamedaCityLocation = {
615
- departmentId: testDeptAlameda.id,
616
- IncidentNumber: "i1238",
617
- TransactionID: 123,
618
- StreetNumber: "15",
619
- StreetName: "Delta",
620
- StreetSuffix: "Way",
621
- CityOrLocality: "AA",
622
- CrossStreet1: "Delta WAY", // cSpell: disable-line
623
- CrossStreet2: "Beta AVE", // cSpell: disable-line
624
- LocationComment: "TEST",
625
- };
626
-
627
- const testMatchLNUCityLocation = {
628
- departmentId: testDeptLNU.id,
629
- IncidentNumber: "i1238",
630
- TransactionID: 123,
631
- StreetNumber: "15",
632
- StreetName: "Delta",
633
- StreetSuffix: "Way",
634
- CityOrLocality: "ST_HELENA",
635
- CrossStreet1: "Delta WAY",
636
- CrossStreet2: "Beta AVE",
637
- LocationComment: "TEST",
638
- };
639
-
640
469
  const testMatchTorranceClearComment = {
641
470
  departmentId: testDeptTorrance.id,
642
471
  IncidentNumber: "i1238",
@@ -663,12 +492,6 @@ const testMatchTorranceClearComment = {
663
492
  ]
664
493
  };
665
494
 
666
- const testSouthernMarinCloseIncidentOfType = {
667
- IncidentNumber: "i1239",
668
- AgencyIncidentCallTypeDescription: "ALARM/SPRINKLER TEST INFORMATION",
669
- departmentId: "515"
670
- };
671
-
672
495
  const testMatchWhitbyCleanupComments = {
673
496
  departmentId: testDeptWhitby.id,
674
497
  IncidentNumber: "i1238",
@@ -1065,22 +888,6 @@ describe("rule", function() {
1065
888
  return done(null);
1066
889
  });
1067
890
 
1068
- it("should set agency call type for Clark County", function(done) {
1069
- const shouldResolveTo = "setAgencyCallTypeClarkCounty";
1070
- const rule = {
1071
- setAgencyCallTypeClarkCounty: [{
1072
- is: shouldResolveTo,
1073
- use: setAgencyCallTypeClarkCounty
1074
- }]
1075
- };
1076
-
1077
- const resolver = karka.create(rule);
1078
- const testMatchIncident = _.clone(testMatchClarkCounty);
1079
- const resolvedValue = resolver.resolve("setAgencyCallTypeClarkCounty", testMatchIncident);
1080
- assert.strictEqual(resolvedValue, shouldResolveTo, "Should resolve");
1081
- assert.strictEqual(testMatchIncident.AgencyIncidentCallTypeDescription, "P2 High F3H-Building Fire");
1082
- return done(null);
1083
- });
1084
891
  /* cSpell:disable */
1085
892
  it("should set radio channels - ALCO", function(done) {
1086
893
  const shouldResolveTo = "setRadioChannelsFromRadioNames";
@@ -1198,58 +1005,6 @@ describe("rule", function() {
1198
1005
  });
1199
1006
  /* cSpell:enable */
1200
1007
 
1201
- it("should set communication channels - SMC", function(done) {
1202
- const shouldResolveTo = "setCommunicationChannelsFromRadioNames";
1203
- const setCommunicationChannelsFromRadioNamesSMC = setCommunicationChannelsFromRadioNamesMod(
1204
- ["Tac15"],
1205
- ["TAC8", "tac9"],
1206
- ["CM41x3"]
1207
- );
1208
-
1209
- const rule = {
1210
- setCommunicationChannelsFromRadioNames: [{
1211
- is: shouldResolveTo,
1212
- use: setCommunicationChannelsFromRadioNamesSMC
1213
- }]
1214
- };
1215
-
1216
- const resolver = karka.create(rule);
1217
- const testMatchIncident = _.clone(testMatchSanMateoCountyIncidentCommChannels);
1218
- const resolvedValue = resolver.resolve("setCommunicationChannelsFromRadioNames", testMatchIncident);
1219
- assert.strictEqual(resolvedValue, shouldResolveTo, "Should resolve");
1220
- assert.strictEqual(testMatchIncident.TacticalChannel, "TAC15");
1221
- assert.strictEqual(testMatchIncident.TacticalAltChannel, "TAC8/TAC9");
1222
- assert.strictEqual(testMatchIncident.CommandChannel, "CM41X3");
1223
- return done(null);
1224
- });
1225
-
1226
- it("should set communication channels - Santa Cruz", function(done) {
1227
- const shouldResolveTo = "setCommunicationChannelsFromRadioNames";
1228
- /* cSpell:disable */
1229
- const setCommunicationChannelsFromRadioNamesSCRC = setCommunicationChannelsFromRadioNamesMod(
1230
- ["FBLK", "FBLK1", "FBLK2"], // tactical
1231
- ["FBLK", "TAC8", "TAC9"], // tactical alt
1232
- ["FRED", "FRED1", "FRED2"] // command
1233
- );
1234
-
1235
- const rule = {
1236
- setCommunicationChannelsFromRadioNames: [{
1237
- is: shouldResolveTo,
1238
- use: setCommunicationChannelsFromRadioNamesSCRC
1239
- }]
1240
- };
1241
-
1242
- const resolver = karka.create(rule);
1243
- const testMatchIncident = _.clone(testMatchSantaCruzIncidentCommChannels);
1244
- const resolvedValue = resolver.resolve("setCommunicationChannelsFromRadioNames", testMatchIncident);
1245
- assert.strictEqual(resolvedValue, shouldResolveTo, "Should resolve");
1246
- assert.strictEqual(testMatchIncident.TacticalChannel, "FBLK");
1247
- assert.strictEqual(testMatchIncident.TacticalAltChannel, "FBLK/TAC8/TAC9");
1248
- assert.strictEqual(testMatchIncident.CommandChannel, "FRED/FRED1");
1249
- /* cSpell:enable */
1250
- return done(null);
1251
- });
1252
-
1253
1008
  it("should set channels from radio channels - MVU", function(done) {
1254
1009
  const shouldResolveTo = "setChannelsFromRadioChannels";
1255
1010
  const rule = {
@@ -1288,12 +1043,6 @@ describe("rule", function() {
1288
1043
  });
1289
1044
 
1290
1045
  describe("rule processor", function() {
1291
- it("Should set agency type for Clark County", function() {
1292
- const testMatchIncident = _.clone(testMatchClarkCounty);
1293
- ruleProcessor.ruleProcessor(testMatchIncident, testDeptClarkCounty);
1294
- assert.strictEqual(testMatchIncident.AgencyIncidentCallTypeDescription, "P2 High F3H-Building Fire");
1295
- });
1296
-
1297
1046
  it("Should close incident of certain type for Stockton", function() {
1298
1047
  const testMatchIncident = _.clone(testMatchIncidentSample);
1299
1048
  ruleProcessor.ruleProcessor(testMatchIncident, testDepartment);
@@ -1342,26 +1091,6 @@ describe("rule processor", function() {
1342
1091
  assert.ok(testMatchIncident.expiration_date.valueOf() / 1000.0 > 110, "expiration_date should not be 0");
1343
1092
  });
1344
1093
 
1345
- it("should set comm channels for San Mateo County", function() {
1346
- const testMatchIncident = _.clone(testMatchSanMateoCountyIncidentCommChannels);
1347
- ruleProcessor.ruleProcessor(testMatchIncident, testDeptSMC);
1348
- assert.strictEqual(testMatchIncident.TacticalChannel, "TAC15");
1349
- assert.strictEqual(testMatchIncident.CommandChannel, "CM41X3");
1350
- });
1351
-
1352
- it("should remove unit based personnel - San Mateo County", function() {
1353
- const testMatchIncident = _.clone(testMatchSanMateoCountyPersonnel);
1354
- ruleProcessor.ruleProcessor(testMatchIncident, testDeptSMC);
1355
- assert.strictEqual(testMatchIncident.units[0].Personnel.length, 6);
1356
- assert.strictEqual(testMatchIncident.units[0].PersonnelCount, 6);
1357
- });
1358
-
1359
- it("should set FireMap empty string- San Mateo County", function() {
1360
- const testMatchIncident = _.clone(testMatchSanMateoCountyIncidentSample);
1361
- ruleProcessor.ruleProcessor(testMatchIncident, testDeptSMC);
1362
- assert.strictEqual(testMatchIncident.FireMap, "");
1363
- });
1364
-
1365
1094
  it("should remove empty person: empty person for Southern Marin", function() {
1366
1095
  const testMatchIncident = _.clone(testRemoveEmptyPersonFieldSouthernMarin);
1367
1096
  ruleProcessor.ruleProcessor(testMatchIncident, testDeptSouthernMarin);
@@ -6,28 +6,6 @@ const _ = require("lodash");
6
6
  const cleanupCommentsFilters = require("../ruleLegacy/cleanupCommentsFilters")();
7
7
 
8
8
  describe("filters", function() {
9
- it("missingDate", function() {
10
- const comments = [
11
- {
12
- Comment: "State Response: Mark Was Here",
13
- CommentSource: "DeGauss",
14
- CommentDateTime: null
15
- },
16
- {
17
- Comment: "(PG) PG&E : 888-743-4911 - CHOOSE OPTION 1 FOR SAN MATEO COUNTY",
18
- CommentSource: "Special Service"
19
- },
20
- ];
21
- const filtered = cleanupCommentsFilters.missingDate(comments);
22
- assert.strictEqual(filtered.length, 2);
23
-
24
- const cSpecServer = _.first(filtered.filter((c) => { return c.CommentSource === "Special Service"; }));
25
- assert.strictEqual(cSpecServer.CommentDateTime, "2000-01-01T19:04:05-0800");
26
-
27
- const cDeGauss = _.first(filtered.filter((c) => { return c.CommentSource === "DeGauss"; }));
28
- assert.strictEqual(cDeGauss.CommentDateTime, "2000-01-01T19:04:05-0800");
29
- });
30
-
31
9
  it("Torrance", function() {
32
10
  const comments = [
33
11
  {
@@ -1,8 +1,6 @@
1
- import chai from "chai";
1
+ import { assert } from "chai";
2
2
  import "mocha";
3
3
 
4
- const assert = chai.assert;
5
-
6
4
  import _ from "lodash";
7
5
  import { CADIncident } from "tabletcommand-backend-models";
8
6
 
package/src/types.ts CHANGED
@@ -40,6 +40,7 @@ export interface CADUnit extends Record<string, unknown> {
40
40
  export interface CADRadioChannel extends Record<string, unknown> {
41
41
  name: string,
42
42
  channel: string,
43
+ channelDescription: string,
43
44
  url: string,
44
45
  }
45
46
 
@@ -0,0 +1,55 @@
1
+ // npx ts-node src/verify/correction.ts
2
+
3
+ import * as modelsModule from "tabletcommand-backend-models";
4
+ import { BackendModels } from "tabletcommand-backend-models";
5
+
6
+ import main from "../index";
7
+
8
+ const departmentId = "602ef016b63b6f29d83a91d2";
9
+ const incidentNumber = "SCY241400030";
10
+ const atDate = new Date("2024-05-20T03:54:23.730+0000");
11
+
12
+ async function runCorrection(models: BackendModels) {
13
+ const mainItem = main({
14
+ models,
15
+ });
16
+
17
+ const processor = mainItem.incidentProcessor;
18
+ const department = await models.Department.findById(departmentId);
19
+ if (!department) {
20
+ console.log(`Could not find department for ${departmentId}.`);
21
+ return;
22
+ }
23
+
24
+ const result = await processor.handleProcessIncidentRequestCorrection(incidentNumber, department, atDate);
25
+ if ("error" in result) {
26
+ console.log("Error", result.error);
27
+ return;
28
+ }
29
+
30
+ const {
31
+ incident
32
+ } = result;
33
+ console.log(
34
+ "p", incident?.AgencyIncidentCallTypeDescription,
35
+ "u", (incident?.units ?? []).length,
36
+ "c", (incident?.Comment ?? []).length,
37
+ "st", (incident?.EntryDateTime),
38
+ "cl", (incident?.ClosedDateTime),
39
+ "z"
40
+ );
41
+ }
42
+
43
+ async function run() {
44
+ const {
45
+ mongoose,
46
+ models
47
+ } = await modelsModule.connect(process.env.NODE_MONGO_URL || "");
48
+
49
+ console.log("here we go");
50
+ await runCorrection(models);
51
+ await mongoose.connection.close();
52
+ console.log("done");
53
+ }
54
+
55
+ run().catch(console.error);
@@ -1,35 +0,0 @@
1
- "use strict";
2
- module.exports = function removePersonFromUnitModule() {
3
- "use strict";
4
- const _ = require("lodash");
5
- function removePersonFromUnit(config, incident) {
6
- let ruleMatched = false;
7
- const regexHasDigits = /\d/g;
8
- if (_.has(incident, "Unit") && _.isArray(incident.Unit)) {
9
- _.each(incident.Unit, function (unit) {
10
- if (_.isArray(unit.Personnel)) {
11
- const revisedPersons = [];
12
- _.each(unit.Personnel, function (person) {
13
- if (_.isObject(person) && _.isString(person.PersonnelName) && person.PersonnelName.indexOf(",") === -1 &&
14
- (person.PersonnelName.toUpperCase().indexOf("ENGINE") !== -1 ||
15
- person.PersonnelName.toUpperCase().indexOf("TRUCK") !== -1 ||
16
- person.PersonnelName.toUpperCase().indexOf("RESCUE") !== -1 ||
17
- person.PersonnelName.toUpperCase().indexOf("BC") !== -1 ||
18
- person.PersonnelName.toUpperCase().indexOf("BATTALION") !== -1 ||
19
- regexHasDigits.test(person.PersonnelName))) {
20
- unit.PersonnelCount += -1;
21
- ruleMatched = true;
22
- }
23
- else if (_.isObject(person) && _.isString(person.PersonnelName)) {
24
- revisedPersons.push(person);
25
- }
26
- });
27
- unit.Personnel = revisedPersons;
28
- }
29
- });
30
- }
31
- return ruleMatched;
32
- }
33
- return removePersonFromUnit;
34
- };
35
- //# sourceMappingURL=removePersonFromUnit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removePersonFromUnit.js","sourceRoot":"","sources":["../../src/ruleLegacy/removePersonFromUnit.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,SAAS,0BAA0B;IAClD,YAAY,CAAC;IAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5B,SAAS,oBAAoB,CAAC,MAAM,EAAE,QAAQ;QAC5C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,cAAc,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAS,IAAI;gBACjC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC7B,MAAM,cAAc,GAAG,EAAE,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAS,MAAM;wBACpC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACnG,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC3D,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAC1D,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC3D,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCACvD,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gCAC9D,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE;4BAC9C,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;4BAC1B,WAAW,GAAG,IAAI,CAAC;yBACpB;6BAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;4BACjE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBAC7B;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- module.exports = function setAgencyCallTypeClarkCounty(config, incident) {
3
- const _ = require("lodash");
4
- let ruleMatched = true;
5
- const hasCallTypeDescription = _.isString(incident.AgencyIncidentCallTypeDescription) && _.trim(incident.AgencyIncidentCallTypeDescription) !== "";
6
- const hasPriorityDescription = _.isString(incident.AgencyIncidentPriorityDescription) && _.trim(incident.AgencyIncidentPriorityDescription) !== "";
7
- const canProcess = hasCallTypeDescription && hasPriorityDescription;
8
- if (!canProcess) {
9
- return ruleMatched;
10
- }
11
- const priorityDescription = _.trim(incident.AgencyIncidentPriorityDescription);
12
- const callTypeDescription = _.trim(incident.AgencyIncidentCallTypeDescription);
13
- const nextCallType = `${priorityDescription} ${callTypeDescription}`;
14
- incident.AgencyIncidentCallTypeDescription = nextCallType;
15
- ruleMatched = true;
16
- return ruleMatched;
17
- };
18
- //# sourceMappingURL=setAgencyCallTypeClarkCounty.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setAgencyCallTypeClarkCounty.js","sourceRoot":"","sources":["../../src/ruleLegacy/setAgencyCallTypeClarkCounty.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,MAAM,CAAC,OAAO,GAAG,SAAS,4BAA4B,CAAC,MAAM,EAAE,QAAQ;IACrE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,KAAK,EAAE,CAAC;IACnJ,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,KAAK,EAAE,CAAC;IACnJ,MAAM,UAAU,GAAG,sBAAsB,IAAI,sBAAsB,CAAC;IACpE,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAC/E,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,GAAG,mBAAmB,IAAI,mBAAmB,EAAE,CAAC;IACrE,QAAQ,CAAC,iCAAiC,GAAG,YAAY,CAAC;IAC1D,WAAW,GAAG,IAAI,CAAC;IAEnB,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- module.exports = function setCommunicationChannelsFromRadioNamesModule(tacRadioNames, tacAltRadioNames, cmdRadioNames) {
3
- const _ = require("lodash");
4
- function channelsForPurpose(incoming, purpose) {
5
- const foundRadioNames = [];
6
- for (let index = 0; index < purpose.length; index++) {
7
- const element = purpose[index].toUpperCase();
8
- if (incoming.indexOf(element) >= 0) {
9
- foundRadioNames.push(element);
10
- }
11
- }
12
- return foundRadioNames;
13
- }
14
- function setCommunicationChannels(config, incident) {
15
- let ruleMatched = false;
16
- if (!_.isArray(incident.Unit)) {
17
- return ruleMatched;
18
- }
19
- if (!_.isArray(tacRadioNames) || !_.isArray(tacAltRadioNames) || !_.isArray(cmdRadioNames)) {
20
- return ruleMatched;
21
- }
22
- const incomingRadioNames = _.map(incident.Unit, (item) => {
23
- if (!_.isString(item.UnitID)) {
24
- return "";
25
- }
26
- return item.UnitID.toUpperCase();
27
- });
28
- if (incomingRadioNames.length === 0) {
29
- return ruleMatched;
30
- }
31
- const foundTac = channelsForPurpose(incomingRadioNames, tacRadioNames);
32
- if (foundTac.length > 0) {
33
- ruleMatched = true;
34
- incident.TacticalChannel = foundTac.join("/");
35
- }
36
- const foundTacAlt = channelsForPurpose(incomingRadioNames, tacAltRadioNames);
37
- if (foundTacAlt.length > 0) {
38
- ruleMatched = true;
39
- incident.TacticalAltChannel = foundTacAlt.join("/");
40
- }
41
- const foundCmd = channelsForPurpose(incomingRadioNames, cmdRadioNames);
42
- if (foundCmd.length > 0) {
43
- ruleMatched = true;
44
- incident.CommandChannel = foundCmd.join("/");
45
- }
46
- return ruleMatched;
47
- }
48
- return setCommunicationChannels;
49
- };
50
- //# sourceMappingURL=setCommunicationChannelsFromRadioNames.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setCommunicationChannelsFromRadioNames.js","sourceRoot":"","sources":["../../src/ruleLegacy/setCommunicationChannelsFromRadioNames.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,SAAS,4CAA4C,CAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa;IACnH,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5B,SAAS,kBAAkB,CAAC,QAAQ,EAAE,OAAO;QAC3C,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;SACF;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,SAAS,wBAAwB,CAAC,MAAM,EAAE,QAAQ;QAChD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;QAED,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAC1F,OAAO,WAAW,CAAC;SACpB;QAED,MAAM,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACvD,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAC5B,OAAO,EAAE,CAAC;aACX;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,OAAO,WAAW,CAAC;SACpB;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,WAAW,GAAG,IAAI,CAAC;YACnB,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC7E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,WAAW,GAAG,IAAI,CAAC;YACnB,QAAQ,CAAC,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrD;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,WAAW,GAAG,IAAI,CAAC;YACnB,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9C;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC"}