grm-shared-library 1.1.194 → 1.1.196

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 (216) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/kafka/topics.js +3 -0
  4. package/dist/cjs/kafka/topics.js.map +1 -1
  5. package/dist/cjs/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js +15 -7
  6. package/dist/cjs/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js.map +1 -1
  7. package/dist/cjs/modules/alert-dispatch/utils/alert-dispatch.util.js +50 -15
  8. package/dist/cjs/modules/alert-dispatch/utils/alert-dispatch.util.js.map +1 -1
  9. package/dist/cjs/modules/common/constants/service.const.js +1 -0
  10. package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
  11. package/dist/cjs/modules/entitlement/enums/incident-entitlement-scope.enum.js +16 -5
  12. package/dist/cjs/modules/entitlement/enums/incident-entitlement-scope.enum.js.map +1 -1
  13. package/dist/cjs/modules/partner/constants/partner-defaults.const.js +74 -0
  14. package/dist/cjs/modules/partner/constants/partner-defaults.const.js.map +1 -0
  15. package/dist/cjs/modules/partner/constants/partner-kafka.const.js +20 -0
  16. package/dist/cjs/modules/partner/constants/partner-kafka.const.js.map +1 -0
  17. package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js +101 -0
  18. package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
  19. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js +178 -0
  20. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
  21. package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js +36 -0
  22. package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
  23. package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js +230 -0
  24. package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
  25. package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js +132 -0
  26. package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
  27. package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js +9 -0
  28. package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
  29. package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js +15 -0
  30. package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
  31. package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js +30 -0
  32. package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
  33. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js +18 -0
  34. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
  35. package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js +23 -0
  36. package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
  37. package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js +51 -0
  38. package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
  39. package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js +21 -0
  40. package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
  41. package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js +52 -0
  42. package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
  43. package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js +17 -0
  44. package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
  45. package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js +23 -0
  46. package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
  47. package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js +20 -0
  48. package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
  49. package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js +28 -0
  50. package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
  51. package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js +25 -0
  52. package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
  53. package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js +29 -0
  54. package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
  55. package/dist/cjs/modules/partner/index.js +55 -0
  56. package/dist/cjs/modules/partner/index.js.map +1 -0
  57. package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js +3 -0
  58. package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
  59. package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js +3 -0
  60. package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
  61. package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js +3 -0
  62. package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
  63. package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js +3 -0
  64. package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
  65. package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js +3 -0
  66. package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
  67. package/dist/cjs/modules/partner/interfaces/partner-dispatch.js +3 -0
  68. package/dist/cjs/modules/partner/interfaces/partner-dispatch.js.map +1 -0
  69. package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js +3 -0
  70. package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
  71. package/dist/cjs/modules/partner/interfaces/partner-integration.js +3 -0
  72. package/dist/cjs/modules/partner/interfaces/partner-integration.js.map +1 -0
  73. package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js +3 -0
  74. package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
  75. package/dist/cjs/modules/partner/interfaces/partner-routing-result.js +3 -0
  76. package/dist/cjs/modules/partner/interfaces/partner-routing-result.js.map +1 -0
  77. package/dist/cjs/modules/partner/utils/partner-payload.util.js +116 -0
  78. package/dist/cjs/modules/partner/utils/partner-payload.util.js.map +1 -0
  79. package/dist/cjs/modules/partner/utils/partner-routing.util.js +137 -0
  80. package/dist/cjs/modules/partner/utils/partner-routing.util.js.map +1 -0
  81. package/dist/cjs/modules/permission/data/permissions.data.js +5 -1
  82. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  83. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +10 -0
  84. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  85. package/dist/cjs/modules/role/data/roles.data.js +26 -0
  86. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  87. package/dist/esm/index.js +1 -0
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/kafka/topics.js +3 -0
  90. package/dist/esm/kafka/topics.js.map +1 -1
  91. package/dist/esm/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js +15 -7
  92. package/dist/esm/modules/alert-dispatch/enums/incident-dispatch-scope.enum.js.map +1 -1
  93. package/dist/esm/modules/alert-dispatch/utils/alert-dispatch.util.js +48 -15
  94. package/dist/esm/modules/alert-dispatch/utils/alert-dispatch.util.js.map +1 -1
  95. package/dist/esm/modules/common/constants/service.const.js +1 -0
  96. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  97. package/dist/esm/modules/entitlement/enums/incident-entitlement-scope.enum.js +16 -5
  98. package/dist/esm/modules/entitlement/enums/incident-entitlement-scope.enum.js.map +1 -1
  99. package/dist/esm/modules/partner/constants/partner-defaults.const.js +71 -0
  100. package/dist/esm/modules/partner/constants/partner-defaults.const.js.map +1 -0
  101. package/dist/esm/modules/partner/constants/partner-kafka.const.js +17 -0
  102. package/dist/esm/modules/partner/constants/partner-kafka.const.js.map +1 -0
  103. package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js +97 -0
  104. package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
  105. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js +174 -0
  106. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
  107. package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js +32 -0
  108. package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
  109. package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js +224 -0
  110. package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
  111. package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js +127 -0
  112. package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
  113. package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js +5 -0
  114. package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
  115. package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js +11 -0
  116. package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
  117. package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js +27 -0
  118. package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
  119. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js +15 -0
  120. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
  121. package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js +20 -0
  122. package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
  123. package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js +48 -0
  124. package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
  125. package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js +18 -0
  126. package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
  127. package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js +49 -0
  128. package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
  129. package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js +14 -0
  130. package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
  131. package/dist/esm/modules/partner/enums/partner-integration-status.enum.js +20 -0
  132. package/dist/esm/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
  133. package/dist/esm/modules/partner/enums/partner-location-provider.enum.js +17 -0
  134. package/dist/esm/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
  135. package/dist/esm/modules/partner/enums/partner-provider-code.enum.js +25 -0
  136. package/dist/esm/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
  137. package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js +22 -0
  138. package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
  139. package/dist/esm/modules/partner/enums/partner-service-capability.enum.js +26 -0
  140. package/dist/esm/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
  141. package/dist/esm/modules/partner/index.js +39 -0
  142. package/dist/esm/modules/partner/index.js.map +1 -0
  143. package/dist/esm/modules/partner/interfaces/incident-partner-routing.js +2 -0
  144. package/dist/esm/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
  145. package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js +2 -0
  146. package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
  147. package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js +2 -0
  148. package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
  149. package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js +2 -0
  150. package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
  151. package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js +2 -0
  152. package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
  153. package/dist/esm/modules/partner/interfaces/partner-dispatch.js +2 -0
  154. package/dist/esm/modules/partner/interfaces/partner-dispatch.js.map +1 -0
  155. package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js +2 -0
  156. package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
  157. package/dist/esm/modules/partner/interfaces/partner-integration.js +2 -0
  158. package/dist/esm/modules/partner/interfaces/partner-integration.js.map +1 -0
  159. package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js +2 -0
  160. package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
  161. package/dist/esm/modules/partner/interfaces/partner-routing-result.js +2 -0
  162. package/dist/esm/modules/partner/interfaces/partner-routing-result.js.map +1 -0
  163. package/dist/esm/modules/partner/utils/partner-payload.util.js +109 -0
  164. package/dist/esm/modules/partner/utils/partner-payload.util.js.map +1 -0
  165. package/dist/esm/modules/partner/utils/partner-routing.util.js +127 -0
  166. package/dist/esm/modules/partner/utils/partner-routing.util.js.map +1 -0
  167. package/dist/esm/modules/permission/data/permissions.data.js +5 -1
  168. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  169. package/dist/esm/modules/permission/enums/permission-actions.enum.js +10 -0
  170. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  171. package/dist/esm/modules/role/data/roles.data.js +26 -0
  172. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  173. package/dist/types/index.d.ts +1 -0
  174. package/dist/types/kafka/topics.d.ts +2 -0
  175. package/dist/types/modules/alert-dispatch/enums/incident-dispatch-scope.enum.d.ts +15 -7
  176. package/dist/types/modules/alert-dispatch/interfaces/alert-dispatch.d.ts +13 -0
  177. package/dist/types/modules/alert-dispatch/utils/alert-dispatch.util.d.ts +43 -15
  178. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  179. package/dist/types/modules/entitlement/enums/incident-entitlement-scope.enum.d.ts +17 -6
  180. package/dist/types/modules/incident/intefaces/incident.d.ts +15 -0
  181. package/dist/types/modules/partner/constants/partner-defaults.const.d.ts +60 -0
  182. package/dist/types/modules/partner/constants/partner-kafka.const.d.ts +16 -0
  183. package/dist/types/modules/partner/dtos/create-partner-coverage-rule.dto.d.ts +24 -0
  184. package/dist/types/modules/partner/dtos/create-partner-integration.dto.d.ts +31 -0
  185. package/dist/types/modules/partner/dtos/partner-dispatch-decision.dto.d.ts +11 -0
  186. package/dist/types/modules/partner/dtos/route-incident-to-partners.dto.d.ts +52 -0
  187. package/dist/types/modules/partner/dtos/update-incident-partner-routing.dto.d.ts +34 -0
  188. package/dist/types/modules/partner/dtos/update-partner-coverage-rule.dto.d.ts +5 -0
  189. package/dist/types/modules/partner/dtos/update-partner-integration.dto.d.ts +11 -0
  190. package/dist/types/modules/partner/enums/incident-partner-routing-status.enum.d.ts +25 -0
  191. package/dist/types/modules/partner/enums/partner-adapter-operation.enum.d.ts +13 -0
  192. package/dist/types/modules/partner/enums/partner-coverage-match-type.enum.d.ts +18 -0
  193. package/dist/types/modules/partner/enums/partner-dispatch-failure-reason.enum.d.ts +37 -0
  194. package/dist/types/modules/partner/enums/partner-dispatch-scope.enum.d.ts +16 -0
  195. package/dist/types/modules/partner/enums/partner-dispatch-status.enum.d.ts +37 -0
  196. package/dist/types/modules/partner/enums/partner-integration-environment.enum.d.ts +12 -0
  197. package/dist/types/modules/partner/enums/partner-integration-status.enum.d.ts +18 -0
  198. package/dist/types/modules/partner/enums/partner-location-provider.enum.d.ts +15 -0
  199. package/dist/types/modules/partner/enums/partner-provider-code.enum.d.ts +23 -0
  200. package/dist/types/modules/partner/enums/partner-routing-mode.enum.d.ts +20 -0
  201. package/dist/types/modules/partner/enums/partner-service-capability.enum.d.ts +24 -0
  202. package/dist/types/modules/partner/index.d.ts +33 -0
  203. package/dist/types/modules/partner/interfaces/incident-partner-routing.d.ts +43 -0
  204. package/dist/types/modules/partner/interfaces/partner-connection-test-result.d.ts +22 -0
  205. package/dist/types/modules/partner/interfaces/partner-coverage-rule.d.ts +36 -0
  206. package/dist/types/modules/partner/interfaces/partner-dispatch-events.d.ts +40 -0
  207. package/dist/types/modules/partner/interfaces/partner-dispatch-location.d.ts +13 -0
  208. package/dist/types/modules/partner/interfaces/partner-dispatch.d.ts +119 -0
  209. package/dist/types/modules/partner/interfaces/partner-emergency-contact.d.ts +15 -0
  210. package/dist/types/modules/partner/interfaces/partner-integration.d.ts +63 -0
  211. package/dist/types/modules/partner/interfaces/partner-provider-descriptor.d.ts +56 -0
  212. package/dist/types/modules/partner/interfaces/partner-routing-result.d.ts +24 -0
  213. package/dist/types/modules/partner/utils/partner-payload.util.d.ts +49 -0
  214. package/dist/types/modules/partner/utils/partner-routing.util.d.ts +71 -0
  215. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +4 -0
  216. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -39,6 +39,7 @@ __exportStar(require("./modules/tracking/index"), exports);
39
39
  __exportStar(require("./modules/entitlement/index"), exports);
40
40
  __exportStar(require("./modules/alert-dispatch/index"), exports);
41
41
  __exportStar(require("./modules/system-user/index"), exports);
42
+ __exportStar(require("./modules/partner/index"), exports);
42
43
  // Interfaces
43
44
  __exportStar(require("./interfaces/server-message"), exports);
44
45
  __exportStar(require("./interfaces/i-request-with-user"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,wDAAsC;AACtC,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AACxC,wDAAsC;AACtC,2DAAyC;AACzC,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAE5C,aAAa;AACb,8DAA4C;AAC5C,mEAAiD;AACjD,8DAA4C;AAC5C,2DAAyC;AACzC,0DAAwC;AAExC,YAAY;AACZ,2DAAyC;AAEzC,QAAQ;AACR,gDAA8B;AAE9B,YAAY;AACZ,+DAA6C;AAC7C,wFAAsE;AAEtE,aAAa;AACb,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,wDAAsC;AACtC,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AACxC,wDAAsC;AACtC,2DAAyC;AACzC,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAC5C,0DAAwC;AAExC,aAAa;AACb,8DAA4C;AAC5C,mEAAiD;AACjD,8DAA4C;AAC5C,2DAAyC;AACzC,0DAAwC;AAExC,YAAY;AACZ,2DAAyC;AAEzC,QAAQ;AACR,gDAA8B;AAE9B,YAAY;AACZ,+DAA6C;AAC7C,wFAAsE;AAEtE,aAAa;AACb,qDAAmC"}
@@ -69,5 +69,8 @@ exports.KAFKA_TOPICS = {
69
69
  ORG_RESPONSE_UNIT_DELETED: 'organization.response-unit.deleted.v1',
70
70
  ORG_RESPONSE_UNIT_CONTROL_CENTRE_CHANGED: 'organization.response-unit.control-centre-changed.v1',
71
71
  ORG_RESPONSE_UNIT_STATUS_CHANGED: 'organization.response-unit.status-changed.v1',
72
+ // Third-party partner dispatch (producer: clarion-partner-services) - versioned.
73
+ PARTNER_DISPATCH_CREATED: 'partner.dispatch.created.v1',
74
+ PARTNER_DISPATCH_STATUS_CHANGED: 'partner.dispatch.status-changed.v1',
72
75
  };
73
76
  //# sourceMappingURL=topics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IACxB,OAAO;IACP,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,6BAA6B,EAAE,+BAA+B;IAC9D,6BAA6B,EAAE,+BAA+B;IAC9D,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,MAAM;IACN,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM;IACN,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,eAAe;IAC9B,WAAW;IACX,cAAc,EAAE,gBAAgB;IAChC,WAAW;IACX,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,2BAA2B,EAAE,6BAA6B;IAC1D,yCAAyC,EAAE,2CAA2C;IACtF,OAAO;IACP,oBAAoB,EAAE,sBAAsB;IAC5C,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,OAAO;IACP,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW;IACX,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,iEAAiE;IACjE,iBAAiB,EAAE,oCAAoC;IACvD,eAAe,EAAE,kCAAkC;IACnD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wEAAwE;IACxE,+DAA+D;IAC/D,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,wCAAwC,EACpC,sDAAsD;IAC1D,gCAAgC,EAAE,8CAA8C;CACnF,CAAC"}
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IACxB,OAAO;IACP,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,6BAA6B,EAAE,+BAA+B;IAC9D,6BAA6B,EAAE,+BAA+B;IAC9D,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,MAAM;IACN,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM;IACN,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,eAAe;IAC9B,WAAW;IACX,cAAc,EAAE,gBAAgB;IAChC,WAAW;IACX,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,2BAA2B,EAAE,6BAA6B;IAC1D,yCAAyC,EAAE,2CAA2C;IACtF,OAAO;IACP,oBAAoB,EAAE,sBAAsB;IAC5C,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,OAAO;IACP,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,OAAO;IACP,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW;IACX,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,iEAAiE;IACjE,iBAAiB,EAAE,oCAAoC;IACvD,eAAe,EAAE,kCAAkC;IACnD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,wEAAwE;IACxE,+DAA+D;IAC/D,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,wCAAwC,EACpC,sDAAsD;IAC1D,gCAAgC,EAAE,8CAA8C;IAChF,iFAAiF;IACjF,wBAAwB,EAAE,6BAA6B;IACvD,+BAA+B,EAAE,oCAAoC;CACxE,CAAC"}
@@ -6,17 +6,25 @@ exports.IncidentDispatchScope = void 0;
6
6
  * whether the reporter asked for the service provider to be alerted at all.
7
7
  *
8
8
  * ALL - no dispatch filter (default; preserves legacy behaviour).
9
- * DISPATCHED - only incidents the provider was asked to receive. Used by the
10
- * primary admin incident list, map and kanban views.
9
+ * DISPATCHED - only incidents the reporter asked the provider to receive.
10
+ * Used by the primary admin incident list, map and kanban views.
11
11
  * SUPPRESSED - only incidents the reporter explicitly withheld from the
12
- * provider. Backs the "Incident List - Marked Ignore" admin
13
- * view.
12
+ * provider. Backs the "Marked Ignore" admin views.
13
+ *
14
+ * Both read what the reporter ASKED FOR, not what they got. Entitlement can
15
+ * close the provider channel on its own, and an operator looking at a
16
+ * "Marked Ignore" list wants the alerts somebody chose to withhold - not the
17
+ * ones billing withheld for them.
14
18
  *
15
19
  * Deliberately separate from {@link IncidentEntitlementScope}: entitlement is a
16
20
  * billing fact about the reporter, dispatch is a choice the reporter made on
17
- * this one alert. The two compose - the control room asks for
18
- * `ENTITLED` + `DISPATCHED`, "Marked Ignore" asks for `ENTITLED` + `SUPPRESSED`,
19
- * and "Free Users" asks for `FREE` on the entitlement dimension alone.
21
+ * this one alert. The two compose into the admin's operator views:
22
+ *
23
+ * Incidents (list/map/kanban) ENTITLED + DISPATCHED
24
+ * Incident List - Marked Ignore ENTITLED + SUPPRESSED
25
+ * Incident List - Uncovered Types UNCOVERED_TYPE + DISPATCHED
26
+ * Uncovered Types - Marked Ignore UNCOVERED_TYPE + SUPPRESSED
27
+ * Incident List - Free Users FREE
20
28
  */
21
29
  var IncidentDispatchScope;
22
30
  (function (IncidentDispatchScope) {
@@ -1 +1 @@
1
- {"version":3,"file":"incident-dispatch-scope.enum.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/enums/incident-dispatch-scope.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,oCAAW,CAAA;IACX,kDAAyB,CAAA;IACzB,kDAAyB,CAAA;AAC7B,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
1
+ {"version":3,"file":"incident-dispatch-scope.enum.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/enums/incident-dispatch-scope.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,oCAAW,CAAA;IACX,kDAAyB,CAAA;IACzB,kDAAyB,CAAA;AAC7B,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
@@ -3,9 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.reachesControlRoom = reachesControlRoom;
4
4
  exports.reachesGuardians = reachesGuardians;
5
5
  exports.isMarkedIgnore = isMarkedIgnore;
6
+ exports.isUncoveredIncidentType = isUncoveredIncidentType;
7
+ exports.isUnentitledReporter = isUnentitledReporter;
6
8
  exports.resolveIncidentAlertDispatch = resolveIncidentAlertDispatch;
7
9
  exports.reachesNobody = reachesNobody;
8
10
  exports.parseIncidentDispatchScope = parseIncidentDispatchScope;
11
+ const entitlement_decision_reason_enum_1 = require("../../entitlement/enums/entitlement-decision-reason.enum");
9
12
  const entitlement_util_1 = require("../../entitlement/utils/entitlement.util");
10
13
  const incident_dispatch_scope_enum_1 = require("../enums/incident-dispatch-scope.enum");
11
14
  /**
@@ -15,9 +18,11 @@ const incident_dispatch_scope_enum_1 = require("../enums/incident-dispatch-scope
15
18
  * Two independent reasons keep an alert out, and this is the single place both
16
19
  * are expressed so no consumer can honour one and forget the other:
17
20
  *
18
- * 1. the reporter is a Free user, so the provider was never entitled to it;
19
- * 2. the reporter explicitly unchecked the provider option ("Marked Ignore").
21
+ * 1. the reporter was not entitled to send it (no subscription, or one that
22
+ * does not cover this incident type), so the provider was never asked;
23
+ * 2. the reporter explicitly unchecked the provider option.
20
24
  *
25
+ * Reads `notifyServiceProvider`, the resolved OUTCOME - never the request.
21
26
  * A missing flag counts as dispatched: incidents written before this feature
22
27
  * existed, and every operator-created record, keep their original behaviour.
23
28
  */
@@ -33,15 +38,36 @@ function reachesGuardians(incident) {
33
38
  return !incident || incident.notifyGuardians !== false;
34
39
  }
35
40
  /**
36
- * Whether the reporter deliberately withheld this alert from the provider, as
37
- * opposed to never having been entitled to send it. Only the former belongs in
38
- * the "Marked Ignore" admin list; a Free user's alert belongs in
39
- * "Incident List - Free Users".
41
+ * Whether the reporter deliberately withheld this alert from the provider.
42
+ *
43
+ * Reads the REQUEST, not the outcome. An alert entitlement withheld is not an
44
+ * alert somebody chose to withhold, and only the second belongs in a
45
+ * "Marked Ignore" view - a free user never had the option to decline, so their
46
+ * alert is not "marked ignore" however the resolved flag ended up.
47
+ *
48
+ * Independent of entitlement, so it holds equally for a subscriber who declined
49
+ * on a covered type and one who declined on a type their package excludes.
50
+ * Which of the two Marked Ignore lists they land in is decided by pairing this
51
+ * with the entitlement scope.
40
52
  */
41
53
  function isMarkedIgnore(incident) {
42
- if (!incident)
43
- return false;
44
- return incident.notifyServiceProvider === false && !(0, entitlement_util_1.isFreeUserTier)(incident.entitlementTier);
54
+ return (incident === null || incident === void 0 ? void 0 : incident.notifyServiceProviderRequested) === false;
55
+ }
56
+ /**
57
+ * Whether the reporter pays for cover, but not for the incident type they
58
+ * raised. Distinct from having no entitlement at all: this is a paying customer
59
+ * finding a gap in their package, not someone to upsell from scratch.
60
+ */
61
+ function isUncoveredIncidentType(incident) {
62
+ return (incident === null || incident === void 0 ? void 0 : incident.entitlementReason) === entitlement_decision_reason_enum_1.EntitlementDecisionReason.INCIDENT_TYPE_NOT_COVERED;
63
+ }
64
+ /**
65
+ * Whether the reporter had no entitlement whatsoever - never subscribed,
66
+ * lapsed, or a spent/expired trial. Deliberately excludes the uncovered-type
67
+ * case, which carries the same FREE tier but is a different conversation.
68
+ */
69
+ function isUnentitledReporter(incident) {
70
+ return (0, entitlement_util_1.isFreeUserTier)(incident === null || incident === void 0 ? void 0 : incident.entitlementTier) && !isUncoveredIncidentType(incident);
45
71
  }
46
72
  /**
47
73
  * Applies dispatch policy to what the client asked for.
@@ -52,20 +78,29 @@ function isMarkedIgnore(incident) {
52
78
  * defaults to "notify", so existing callers (web admin, older app builds) are
53
79
  * unaffected.
54
80
  *
55
- * Returns resolved flags only - it deliberately does not reject the
56
- * both-off combination, so callers can decide whether that is a validation
57
- * error (the SOS path) or simply nobody to notify.
81
+ * Returns both what was asked for and what will happen, because the two diverge
82
+ * exactly when entitlement overrides the reporter - and that difference is what
83
+ * the admin's Marked Ignore views are built on.
84
+ *
85
+ * It deliberately does not reject the both-off combination, so callers can
86
+ * decide whether that is a validation error (the SOS path) or simply nobody to
87
+ * notify.
58
88
  */
59
89
  function resolveIncidentAlertDispatch(request) {
60
90
  const applies = request.applies !== false;
61
91
  if (!applies) {
62
- return { notifyServiceProvider: true, notifyGuardians: true };
92
+ return {
93
+ notifyServiceProvider: true,
94
+ notifyGuardians: true,
95
+ notifyServiceProviderRequested: true,
96
+ };
63
97
  }
64
98
  const notifyGuardians = request.notifyGuardians !== false;
99
+ const notifyServiceProviderRequested = request.notifyServiceProvider !== false;
65
100
  const notifyServiceProvider = (0, entitlement_util_1.isFreeUserTier)(request.tier)
66
101
  ? false
67
- : request.notifyServiceProvider !== false;
68
- return { notifyServiceProvider, notifyGuardians };
102
+ : notifyServiceProviderRequested;
103
+ return { notifyServiceProvider, notifyGuardians, notifyServiceProviderRequested };
69
104
  }
70
105
  /** True when an alert would reach nobody at all. */
71
106
  function reachesNobody(dispatch) {
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dispatch.util.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/utils/alert-dispatch.util.ts"],"names":[],"mappings":";;AAkBA,gDAMC;AAGD,4CAEC;AAQD,wCAKC;AAeD,oEAaC;AAGD,sCAEC;AAMD,gEAMC;AAtFD,+EAA0E;AAC1E,wFAA8E;AAG9E;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAC9B,QAA+F;IAE/F,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,IAAA,iCAAc,EAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAC;AACpD,CAAC;AAED,yEAAyE;AACzE,SAAgB,gBAAgB,CAAC,QAA+B;IAC5D,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAC1B,QAA+F;IAE/F,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,QAAQ,CAAC,qBAAqB,KAAK,KAAK,IAAI,CAAC,IAAA,iCAAc,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,4BAA4B,CAAC,OAA6B;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC;IAC1D,MAAM,qBAAqB,GAAG,IAAA,iCAAc,EAAC,OAAO,CAAC,IAAI,CAAC;QACtD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC;IAE9C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC;AACtD,CAAC;AAED,oDAAoD;AACpD,SAAgB,aAAa,CAAC,QAA+B;IACzD,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qBAAqB,MAAK,KAAK,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,KAAK,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,SAAgB,0BAA0B,CAAC,KAAqB;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,oDAAqB,CAAC,GAAG,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAQ,MAAM,CAAC,MAAM,CAAC,oDAAqB,CAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1E,CAAC,CAAE,UAAoC;QACvC,CAAC,CAAC,oDAAqB,CAAC,GAAG,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"alert-dispatch.util.js","sourceRoot":"","sources":["../../../../../src/modules/alert-dispatch/utils/alert-dispatch.util.ts"],"names":[],"mappings":";;AA4BA,gDAMC;AAGD,4CAEC;AAeD,wCAIC;AAOD,0DAEC;AAOD,oDAEC;AAmBD,oEAoBC;AAGD,sCAEC;AAMD,gEAMC;AApID,+GAAqG;AAErG,+EAA0E;AAC1E,wFAA8E;AAU9E;;;;;;;;;;;;;;GAcG;AACH,SAAgB,kBAAkB,CAC9B,QAA0D;IAE1D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,IAAA,iCAAc,EAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAC;AACpD,CAAC;AAED,yEAAyE;AACzE,SAAgB,gBAAgB,CAAC,QAA+B;IAC5D,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,cAAc,CAC1B,QAAmE;IAEnE,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,8BAA8B,MAAK,KAAK,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,QAAkC;IACtE,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,MAAK,4DAAyB,CAAC,yBAAyB,CAAC;AAC/F,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,QAAkC;IACnE,OAAO,IAAA,iCAAc,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,4BAA4B,CACxC,OAA6B;IAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO;YACH,qBAAqB,EAAE,IAAI;YAC3B,eAAe,EAAE,IAAI;YACrB,8BAA8B,EAAE,IAAI;SACvC,CAAC;IACN,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC;IAC1D,MAAM,8BAA8B,GAAG,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC;IAC/E,MAAM,qBAAqB,GAAG,IAAA,iCAAc,EAAC,OAAO,CAAC,IAAI,CAAC;QACtD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,8BAA8B,CAAC;IAErC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,8BAA8B,EAAE,CAAC;AACtF,CAAC;AAED,oDAAoD;AACpD,SAAgB,aAAa,CAAC,QAA+B;IACzD,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qBAAqB,MAAK,KAAK,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,KAAK,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,SAAgB,0BAA0B,CAAC,KAAqB;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,oDAAqB,CAAC,GAAG,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAQ,MAAM,CAAC,MAAM,CAAC,oDAAqB,CAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1E,CAAC,CAAE,UAAoC;QACvC,CAAC,CAAC,oDAAqB,CAAC,GAAG,CAAC;AACpC,CAAC"}
@@ -17,5 +17,6 @@ exports.SERVICE_CONSTS = {
17
17
  BILLING_SERVICE: { name: 'billing-service', port: 3012 },
18
18
  NEWSFEED_SERVICE: { name: 'newsfeed-service', port: 3015 },
19
19
  RESPONSE_TRACKING_SERVICE: { name: 'response-tracking-service', port: 3016 },
20
+ PARTNER_SERVICE: { name: 'partner-service', port: 3017 },
20
21
  };
21
22
  //# sourceMappingURL=service.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.const.js","sourceRoot":"","sources":["../../../../../src/modules/common/constants/service.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,wBAAwB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1E,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;IACtD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,yBAAyB,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE;CAC/E,CAAC"}
1
+ {"version":3,"file":"service.const.js","sourceRoot":"","sources":["../../../../../src/modules/common/constants/service.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,oBAAoB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAClE,wBAAwB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1E,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;IAChD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;IACtD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;IACxD,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,yBAAyB,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE;IAC5E,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;CAC3D,CAAC"}
@@ -4,16 +4,27 @@ exports.IncidentEntitlementScope = void 0;
4
4
  /**
5
5
  * List filter applied to incident queries.
6
6
  *
7
- * ALL — no entitlement filter (default; preserves legacy behaviour).
8
- * ENTITLED — everything except Free-user incidents. Used by the primary admin
9
- * incident list, map and kanban views.
10
- * FREE — only Free-user incidents. Backs the "Incident List - Free Users"
11
- * admin view.
7
+ * ALL — no entitlement filter (default; preserves legacy behaviour).
8
+ * ENTITLED — everything except incidents the reporter was not entitled
9
+ * to send. Used by the primary admin list, map and kanban.
10
+ * FREE — reporters with no entitlement at all: never subscribed,
11
+ * lapsed, or a spent/expired trial. Backs
12
+ * "Incident List - Free Users".
13
+ * UNCOVERED_TYPE — reporters who DO pay, but whose package excludes the
14
+ * incident type they raised. Backs
15
+ * "Incident List - Uncovered Types".
16
+ *
17
+ * The last two both carry tier FREE, because that is what billing stamps in
18
+ * either case, but they are very different situations for an operator: one is
19
+ * an upsell, the other is a paying customer discovering a gap in their cover.
20
+ * `FREE` therefore excludes uncovered-type incidents rather than absorbing
21
+ * them, so the three scopes partition the data with no overlap and no gaps.
12
22
  */
13
23
  var IncidentEntitlementScope;
14
24
  (function (IncidentEntitlementScope) {
15
25
  IncidentEntitlementScope["ALL"] = "ALL";
16
26
  IncidentEntitlementScope["ENTITLED"] = "ENTITLED";
17
27
  IncidentEntitlementScope["FREE"] = "FREE";
28
+ IncidentEntitlementScope["UNCOVERED_TYPE"] = "UNCOVERED_TYPE";
18
29
  })(IncidentEntitlementScope || (exports.IncidentEntitlementScope = IncidentEntitlementScope = {}));
19
30
  //# sourceMappingURL=incident-entitlement-scope.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"incident-entitlement-scope.enum.js","sourceRoot":"","sources":["../../../../../src/modules/entitlement/enums/incident-entitlement-scope.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAChC,uCAAW,CAAA;IACX,iDAAqB,CAAA;IACrB,yCAAa,CAAA;AACjB,CAAC,EAJW,wBAAwB,wCAAxB,wBAAwB,QAInC"}
1
+ {"version":3,"file":"incident-entitlement-scope.enum.js","sourceRoot":"","sources":["../../../../../src/modules/entitlement/enums/incident-entitlement-scope.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAChC,uCAAW,CAAA;IACX,iDAAqB,CAAA;IACrB,yCAAa,CAAA;IACb,6DAAiC,CAAA;AACrC,CAAC,EALW,wBAAwB,wCAAxB,wBAAwB,QAKnC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PARTNER_ROUTING_IDEMPOTENCY_HEADER = exports.PARTNER_FIELD_LIMITS = exports.PARTNER_CHANNEL_LOCATION_PROVIDER = exports.PARTNER_DISPATCH_DEFAULTS = void 0;
4
+ const incident_channel_enum_1 = require("../../incident/enums/incident-channel.enum");
5
+ const partner_location_provider_enum_1 = require("../enums/partner-location-provider.enum");
6
+ /**
7
+ * Platform defaults for third-party partner routing. A deployment overrides
8
+ * these with `PARTNER_*` environment variables and a partnership can override
9
+ * some of them again in its own configuration, so these are the last fallback,
10
+ * not policy.
11
+ */
12
+ exports.PARTNER_DISPATCH_DEFAULTS = {
13
+ /** Send attempts, including the first, before a transient failure becomes terminal. */
14
+ MAX_ATTEMPTS: 5,
15
+ /** Base of the exponential retry backoff, in seconds: 15s, 30s, 60s, 120s. */
16
+ RETRY_BASE_SECONDS: 15,
17
+ /** Ceiling for the exponential backoff, in seconds. */
18
+ RETRY_MAX_SECONDS: 300,
19
+ /** Per-request timeout for an outbound partner call, in milliseconds. */
20
+ REQUEST_TIMEOUT_MS: 10000,
21
+ /** Timeout for the partner authentication exchange, in milliseconds. */
22
+ AUTH_TIMEOUT_MS: 8000,
23
+ /**
24
+ * How long a MANUAL dispatch waits for a decision before it expires, in
25
+ * minutes. An hour is deliberately generous: an expired ambulance request is
26
+ * a worse outcome than a stale one, and an operator can always cancel.
27
+ */
28
+ APPROVAL_WINDOW_MINUTES: 60,
29
+ /** Order used when a partnership does not set its own. */
30
+ PRIORITY: 100,
31
+ /**
32
+ * Seconds subtracted from a partner token's advertised lifetime before it is
33
+ * treated as expired, so a token can never expire mid-request.
34
+ */
35
+ TOKEN_EXPIRY_SKEW_SECONDS: 60,
36
+ /** Longest a partner access token is cached, whatever lifetime the partner advertises. */
37
+ TOKEN_MAX_CACHE_SECONDS: 24 * 60 * 60,
38
+ };
39
+ /**
40
+ * How an incident's reporting channel is described to a partner.
41
+ *
42
+ * The mobile app takes a platform fused-location fix (GPS plus network and
43
+ * sensors), so APP maps to FUSED rather than the narrower GPS. Every other
44
+ * channel is either a browser geolocation or a location an operator typed in,
45
+ * and NETWORK is the closest honest description of both. A partnership can
46
+ * override the whole map through `locationProviderByChannel` in its
47
+ * configuration.
48
+ */
49
+ exports.PARTNER_CHANNEL_LOCATION_PROVIDER = {
50
+ [incident_channel_enum_1.IncidentChannel.APP]: partner_location_provider_enum_1.PartnerLocationProvider.FUSED,
51
+ [incident_channel_enum_1.IncidentChannel.WEB]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
52
+ [incident_channel_enum_1.IncidentChannel.EMAIL]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
53
+ [incident_channel_enum_1.IncidentChannel.SMS]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
54
+ [incident_channel_enum_1.IncidentChannel.PHONE]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
55
+ [incident_channel_enum_1.IncidentChannel.CHAT]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
56
+ [incident_channel_enum_1.IncidentChannel.SOCIAL_MEDIA]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
57
+ [incident_channel_enum_1.IncidentChannel.IN_PERSON]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
58
+ [incident_channel_enum_1.IncidentChannel.OTHER]: partner_location_provider_enum_1.PartnerLocationProvider.NETWORK,
59
+ };
60
+ /** Field limits partner APIs impose, applied before a payload is built. */
61
+ exports.PARTNER_FIELD_LIMITS = {
62
+ ADDRESS_MAX_LENGTH: 500,
63
+ ISSUE_MAX_LENGTH: 1000,
64
+ CONTACT_NAME_MAX_LENGTH: 250,
65
+ RELATIONSHIP_MAX_LENGTH: 50,
66
+ /** Emergency-contact numbers offered to a partner, primary guardian first. */
67
+ MAX_EMERGENCY_CONTACT_PHONE_NUMBERS: 5,
68
+ };
69
+ /**
70
+ * Header carrying a caller-supplied idempotency key on routing requests. Kept
71
+ * here so producer and consumer cannot drift.
72
+ */
73
+ exports.PARTNER_ROUTING_IDEMPOTENCY_HEADER = 'x-partner-routing-idempotency-key';
74
+ //# sourceMappingURL=partner-defaults.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-defaults.const.js","sourceRoot":"","sources":["../../../../../src/modules/partner/constants/partner-defaults.const.ts"],"names":[],"mappings":";;;AAAA,sFAA6E;AAC7E,4FAAkF;AAElF;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG;IACrC,uFAAuF;IACvF,YAAY,EAAE,CAAC;IACf,8EAA8E;IAC9E,kBAAkB,EAAE,EAAE;IACtB,uDAAuD;IACvD,iBAAiB,EAAE,GAAG;IACtB,yEAAyE;IACzE,kBAAkB,EAAE,KAAK;IACzB,wEAAwE;IACxE,eAAe,EAAE,IAAI;IACrB;;;;OAIG;IACH,uBAAuB,EAAE,EAAE;IAC3B,0DAA0D;IAC1D,QAAQ,EAAE,GAAG;IACb;;;OAGG;IACH,yBAAyB,EAAE,EAAE;IAC7B,0FAA0F;IAC1F,uBAAuB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CAC/B,CAAC;AAEX;;;;;;;;;GASG;AACU,QAAA,iCAAiC,GAA+D;IACzG,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,KAAK;IACpD,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACtD,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACxD,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACtD,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACxD,CAAC,uCAAe,CAAC,IAAI,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACvD,CAAC,uCAAe,CAAC,YAAY,CAAC,EAAE,wDAAuB,CAAC,OAAO;IAC/D,CAAC,uCAAe,CAAC,SAAS,CAAC,EAAE,wDAAuB,CAAC,OAAO;IAC5D,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;CAC3D,CAAC;AAEF,2EAA2E;AAC9D,QAAA,oBAAoB,GAAG;IAChC,kBAAkB,EAAE,GAAG;IACvB,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,GAAG;IAC5B,uBAAuB,EAAE,EAAE;IAC3B,8EAA8E;IAC9E,mCAAmC,EAAE,CAAC;CAChC,CAAC;AAEX;;;GAGG;AACU,QAAA,kCAAkC,GAAG,mCAAmC,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PARTNER_REALTIME_CHANNEL = exports.PARTNER_CONSUMER_GROUPS = void 0;
4
+ /**
5
+ * Consumer groups for the partner dispatch topics. One group per logical
6
+ * consumer, so adding a consumer never steals another's messages.
7
+ */
8
+ exports.PARTNER_CONSUMER_GROUPS = {
9
+ /** clarion-notification: tells an operator a manual dispatch needs a decision. */
10
+ NOTIFICATION: 'partner-dispatch-notification',
11
+ /** clarion-socket: pushes dispatch state to the live admin views. */
12
+ REALTIME: 'partner-dispatch-realtime',
13
+ };
14
+ /**
15
+ * Redis channel clarion-partner-services publishes live dispatch updates on,
16
+ * mirroring the tracking realtime bridge that clarion-socket already subscribes
17
+ * to.
18
+ */
19
+ exports.PARTNER_REALTIME_CHANNEL = 'partner:dispatch:events';
20
+ //# sourceMappingURL=partner-kafka.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-kafka.const.js","sourceRoot":"","sources":["../../../../../src/modules/partner/constants/partner-kafka.const.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,uBAAuB,GAAG;IACnC,kFAAkF;IAClF,YAAY,EAAE,+BAA+B;IAC7C,qEAAqE;IACrE,QAAQ,EAAE,2BAA2B;CAC/B,CAAC;AAEX;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,yBAAyB,CAAC"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreatePartnerCoverageRuleDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const incident_emergency_type_enum_1 = require("../../incident/enums/incident-emergency-type.enum");
17
+ const partner_coverage_match_type_enum_1 = require("../enums/partner-coverage-match-type.enum");
18
+ const partner_routing_mode_enum_1 = require("../enums/partner-routing-mode.enum");
19
+ const partner_service_capability_enum_1 = require("../enums/partner-service-capability.enum");
20
+ /**
21
+ * Declare that a kind of incident is covered by a partnership.
22
+ *
23
+ * The match key must agree with `matchType` - INCIDENT_TYPE needs
24
+ * `incidentTypeId`, INCIDENT_CATEGORY needs `incidentCategoryId`,
25
+ * EMERGENCY_TYPE needs `emergencyType`, ALL needs none. That cross-field rule is
26
+ * enforced by clarion-partner-services, which also checks the referenced type or
27
+ * category actually belongs to the tenant.
28
+ */
29
+ class CreatePartnerCoverageRuleDto {
30
+ }
31
+ exports.CreatePartnerCoverageRuleDto = CreatePartnerCoverageRuleDto;
32
+ __decorate([
33
+ (0, swagger_1.ApiProperty)({ enum: partner_coverage_match_type_enum_1.PartnerCoverageMatchType, description: 'What the rule matches incidents on.' }),
34
+ (0, class_validator_1.IsEnum)(partner_coverage_match_type_enum_1.PartnerCoverageMatchType),
35
+ __metadata("design:type", String)
36
+ ], CreatePartnerCoverageRuleDto.prototype, "matchType", void 0);
37
+ __decorate([
38
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Incident type id, when matchType is INCIDENT_TYPE.', example: 7 }),
39
+ (0, class_transformer_1.Type)(() => Number),
40
+ (0, class_validator_1.IsInt)(),
41
+ (0, class_validator_1.IsPositive)(),
42
+ (0, class_validator_1.IsOptional)(),
43
+ __metadata("design:type", Number)
44
+ ], CreatePartnerCoverageRuleDto.prototype, "incidentTypeId", void 0);
45
+ __decorate([
46
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Incident category id, when matchType is INCIDENT_CATEGORY.', example: 3 }),
47
+ (0, class_transformer_1.Type)(() => Number),
48
+ (0, class_validator_1.IsInt)(),
49
+ (0, class_validator_1.IsPositive)(),
50
+ (0, class_validator_1.IsOptional)(),
51
+ __metadata("design:type", Number)
52
+ ], CreatePartnerCoverageRuleDto.prototype, "incidentCategoryId", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiPropertyOptional)({
55
+ enum: incident_emergency_type_enum_1.IncidentEmergencyType,
56
+ description: 'Emergency classification, when matchType is EMERGENCY_TYPE.',
57
+ }),
58
+ (0, class_validator_1.IsEnum)(incident_emergency_type_enum_1.IncidentEmergencyType),
59
+ (0, class_validator_1.IsOptional)(),
60
+ __metadata("design:type", String)
61
+ ], CreatePartnerCoverageRuleDto.prototype, "emergencyType", void 0);
62
+ __decorate([
63
+ (0, swagger_1.ApiProperty)({
64
+ enum: partner_service_capability_enum_1.PartnerServiceCapability,
65
+ description: 'Service the partner is asked for when this rule matches. Must be one the partnership declares.',
66
+ example: partner_service_capability_enum_1.PartnerServiceCapability.AMBULANCE,
67
+ }),
68
+ (0, class_validator_1.IsEnum)(partner_service_capability_enum_1.PartnerServiceCapability),
69
+ __metadata("design:type", String)
70
+ ], CreatePartnerCoverageRuleDto.prototype, "capability", void 0);
71
+ __decorate([
72
+ (0, swagger_1.ApiPropertyOptional)({
73
+ enum: partner_routing_mode_enum_1.PartnerRoutingMode,
74
+ description: 'Overrides the partnership routing mode for incidents this rule matches.',
75
+ }),
76
+ (0, class_validator_1.IsEnum)(partner_routing_mode_enum_1.PartnerRoutingMode),
77
+ (0, class_validator_1.IsOptional)(),
78
+ __metadata("design:type", String)
79
+ ], CreatePartnerCoverageRuleDto.prototype, "routingModeOverride", void 0);
80
+ __decorate([
81
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Evaluation order. Lower goes first.', example: 100 }),
82
+ (0, class_transformer_1.Type)(() => Number),
83
+ (0, class_validator_1.IsInt)(),
84
+ (0, class_validator_1.Min)(0),
85
+ (0, class_validator_1.IsOptional)(),
86
+ __metadata("design:type", Number)
87
+ ], CreatePartnerCoverageRuleDto.prototype, "priority", void 0);
88
+ __decorate([
89
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Whether the rule is active. Defaults to true.', example: true }),
90
+ (0, class_validator_1.IsBoolean)(),
91
+ (0, class_validator_1.IsOptional)(),
92
+ __metadata("design:type", Boolean)
93
+ ], CreatePartnerCoverageRuleDto.prototype, "enabled", void 0);
94
+ __decorate([
95
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Free-text note for whoever configured it.' }),
96
+ (0, class_validator_1.IsString)(),
97
+ (0, class_validator_1.MaxLength)(500),
98
+ (0, class_validator_1.IsOptional)(),
99
+ __metadata("design:type", String)
100
+ ], CreatePartnerCoverageRuleDto.prototype, "notes", void 0);
101
+ //# sourceMappingURL=create-partner-coverage-rule.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-partner-coverage-rule.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/create-partner-coverage-rule.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,yDAAyC;AACzC,qDASyB;AACzB,oGAA0F;AAC1F,gGAAqF;AACrF,kFAAwE;AACxE,8FAAoF;AAEpF;;;;;;;;GAQG;AACH,MAAa,4BAA4B;CA4DxC;AA5DD,oEA4DC;AAzDG;IAFC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,2DAAwB,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IACnG,IAAA,wBAAM,EAAC,2DAAwB,CAAC;;+DACI;AAOrC;IALC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACtG,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;oEACW;AAOxB;IALC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,4DAA4D,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC9G,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;wEACe;AAQ5B;IANC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,oDAAqB;QAC3B,WAAW,EAAE,6DAA6D;KAC7E,CAAC;IACD,IAAA,wBAAM,EAAC,oDAAqB,CAAC;IAC7B,IAAA,4BAAU,GAAE;;mEACyB;AAQtC;IANC,IAAA,qBAAW,EAAC;QACT,IAAI,EAAE,0DAAwB;QAC9B,WAAW,EAAE,gGAAgG;QAC7G,OAAO,EAAE,0DAAwB,CAAC,SAAS;KAC9C,CAAC;IACD,IAAA,wBAAM,EAAC,0DAAwB,CAAC;;gEACK;AAQtC;IANC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,8CAAkB;QACxB,WAAW,EAAE,yEAAyE;KACzF,CAAC;IACD,IAAA,wBAAM,EAAC,8CAAkB,CAAC;IAC1B,IAAA,4BAAU,GAAE;;yEAC4B;AAOzC;IALC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,qCAAqC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACzF,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,4BAAU,GAAE;;8DACK;AAKlB;IAHC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpG,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;6DACK;AAMlB;IAJC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IACjF,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;IACd,IAAA,4BAAU,GAAE;;2DACE"}