grm-shared-library 1.1.195 → 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 (199) 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/common/constants/service.const.js +1 -0
  6. package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
  7. package/dist/cjs/modules/partner/constants/partner-defaults.const.js +74 -0
  8. package/dist/cjs/modules/partner/constants/partner-defaults.const.js.map +1 -0
  9. package/dist/cjs/modules/partner/constants/partner-kafka.const.js +20 -0
  10. package/dist/cjs/modules/partner/constants/partner-kafka.const.js.map +1 -0
  11. package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js +101 -0
  12. package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
  13. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js +178 -0
  14. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
  15. package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js +36 -0
  16. package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
  17. package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js +230 -0
  18. package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
  19. package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js +132 -0
  20. package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
  21. package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js +9 -0
  22. package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
  23. package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js +15 -0
  24. package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
  25. package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js +30 -0
  26. package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
  27. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js +18 -0
  28. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
  29. package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js +23 -0
  30. package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
  31. package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js +51 -0
  32. package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
  33. package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js +21 -0
  34. package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
  35. package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js +52 -0
  36. package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
  37. package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js +17 -0
  38. package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
  39. package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js +23 -0
  40. package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
  41. package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js +20 -0
  42. package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
  43. package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js +28 -0
  44. package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
  45. package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js +25 -0
  46. package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
  47. package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js +29 -0
  48. package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
  49. package/dist/cjs/modules/partner/index.js +55 -0
  50. package/dist/cjs/modules/partner/index.js.map +1 -0
  51. package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js +3 -0
  52. package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
  53. package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js +3 -0
  54. package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
  55. package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js +3 -0
  56. package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
  57. package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js +3 -0
  58. package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
  59. package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js +3 -0
  60. package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
  61. package/dist/cjs/modules/partner/interfaces/partner-dispatch.js +3 -0
  62. package/dist/cjs/modules/partner/interfaces/partner-dispatch.js.map +1 -0
  63. package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js +3 -0
  64. package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
  65. package/dist/cjs/modules/partner/interfaces/partner-integration.js +3 -0
  66. package/dist/cjs/modules/partner/interfaces/partner-integration.js.map +1 -0
  67. package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js +3 -0
  68. package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
  69. package/dist/cjs/modules/partner/interfaces/partner-routing-result.js +3 -0
  70. package/dist/cjs/modules/partner/interfaces/partner-routing-result.js.map +1 -0
  71. package/dist/cjs/modules/partner/utils/partner-payload.util.js +116 -0
  72. package/dist/cjs/modules/partner/utils/partner-payload.util.js.map +1 -0
  73. package/dist/cjs/modules/partner/utils/partner-routing.util.js +137 -0
  74. package/dist/cjs/modules/partner/utils/partner-routing.util.js.map +1 -0
  75. package/dist/cjs/modules/permission/data/permissions.data.js +5 -1
  76. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  77. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +10 -0
  78. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  79. package/dist/cjs/modules/role/data/roles.data.js +26 -0
  80. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  81. package/dist/esm/index.js +1 -0
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/kafka/topics.js +3 -0
  84. package/dist/esm/kafka/topics.js.map +1 -1
  85. package/dist/esm/modules/common/constants/service.const.js +1 -0
  86. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  87. package/dist/esm/modules/partner/constants/partner-defaults.const.js +71 -0
  88. package/dist/esm/modules/partner/constants/partner-defaults.const.js.map +1 -0
  89. package/dist/esm/modules/partner/constants/partner-kafka.const.js +17 -0
  90. package/dist/esm/modules/partner/constants/partner-kafka.const.js.map +1 -0
  91. package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js +97 -0
  92. package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
  93. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js +174 -0
  94. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
  95. package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js +32 -0
  96. package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
  97. package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js +224 -0
  98. package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
  99. package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js +127 -0
  100. package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
  101. package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js +5 -0
  102. package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
  103. package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js +11 -0
  104. package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
  105. package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js +27 -0
  106. package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
  107. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js +15 -0
  108. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
  109. package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js +20 -0
  110. package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
  111. package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js +48 -0
  112. package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
  113. package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js +18 -0
  114. package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
  115. package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js +49 -0
  116. package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
  117. package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js +14 -0
  118. package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
  119. package/dist/esm/modules/partner/enums/partner-integration-status.enum.js +20 -0
  120. package/dist/esm/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
  121. package/dist/esm/modules/partner/enums/partner-location-provider.enum.js +17 -0
  122. package/dist/esm/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
  123. package/dist/esm/modules/partner/enums/partner-provider-code.enum.js +25 -0
  124. package/dist/esm/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
  125. package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js +22 -0
  126. package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
  127. package/dist/esm/modules/partner/enums/partner-service-capability.enum.js +26 -0
  128. package/dist/esm/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
  129. package/dist/esm/modules/partner/index.js +39 -0
  130. package/dist/esm/modules/partner/index.js.map +1 -0
  131. package/dist/esm/modules/partner/interfaces/incident-partner-routing.js +2 -0
  132. package/dist/esm/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
  133. package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js +2 -0
  134. package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
  135. package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js +2 -0
  136. package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
  137. package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js +2 -0
  138. package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
  139. package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js +2 -0
  140. package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
  141. package/dist/esm/modules/partner/interfaces/partner-dispatch.js +2 -0
  142. package/dist/esm/modules/partner/interfaces/partner-dispatch.js.map +1 -0
  143. package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js +2 -0
  144. package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
  145. package/dist/esm/modules/partner/interfaces/partner-integration.js +2 -0
  146. package/dist/esm/modules/partner/interfaces/partner-integration.js.map +1 -0
  147. package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js +2 -0
  148. package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
  149. package/dist/esm/modules/partner/interfaces/partner-routing-result.js +2 -0
  150. package/dist/esm/modules/partner/interfaces/partner-routing-result.js.map +1 -0
  151. package/dist/esm/modules/partner/utils/partner-payload.util.js +109 -0
  152. package/dist/esm/modules/partner/utils/partner-payload.util.js.map +1 -0
  153. package/dist/esm/modules/partner/utils/partner-routing.util.js +127 -0
  154. package/dist/esm/modules/partner/utils/partner-routing.util.js.map +1 -0
  155. package/dist/esm/modules/permission/data/permissions.data.js +5 -1
  156. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  157. package/dist/esm/modules/permission/enums/permission-actions.enum.js +10 -0
  158. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  159. package/dist/esm/modules/role/data/roles.data.js +26 -0
  160. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  161. package/dist/types/index.d.ts +1 -0
  162. package/dist/types/kafka/topics.d.ts +2 -0
  163. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  164. package/dist/types/modules/partner/constants/partner-defaults.const.d.ts +60 -0
  165. package/dist/types/modules/partner/constants/partner-kafka.const.d.ts +16 -0
  166. package/dist/types/modules/partner/dtos/create-partner-coverage-rule.dto.d.ts +24 -0
  167. package/dist/types/modules/partner/dtos/create-partner-integration.dto.d.ts +31 -0
  168. package/dist/types/modules/partner/dtos/partner-dispatch-decision.dto.d.ts +11 -0
  169. package/dist/types/modules/partner/dtos/route-incident-to-partners.dto.d.ts +52 -0
  170. package/dist/types/modules/partner/dtos/update-incident-partner-routing.dto.d.ts +34 -0
  171. package/dist/types/modules/partner/dtos/update-partner-coverage-rule.dto.d.ts +5 -0
  172. package/dist/types/modules/partner/dtos/update-partner-integration.dto.d.ts +11 -0
  173. package/dist/types/modules/partner/enums/incident-partner-routing-status.enum.d.ts +25 -0
  174. package/dist/types/modules/partner/enums/partner-adapter-operation.enum.d.ts +13 -0
  175. package/dist/types/modules/partner/enums/partner-coverage-match-type.enum.d.ts +18 -0
  176. package/dist/types/modules/partner/enums/partner-dispatch-failure-reason.enum.d.ts +37 -0
  177. package/dist/types/modules/partner/enums/partner-dispatch-scope.enum.d.ts +16 -0
  178. package/dist/types/modules/partner/enums/partner-dispatch-status.enum.d.ts +37 -0
  179. package/dist/types/modules/partner/enums/partner-integration-environment.enum.d.ts +12 -0
  180. package/dist/types/modules/partner/enums/partner-integration-status.enum.d.ts +18 -0
  181. package/dist/types/modules/partner/enums/partner-location-provider.enum.d.ts +15 -0
  182. package/dist/types/modules/partner/enums/partner-provider-code.enum.d.ts +23 -0
  183. package/dist/types/modules/partner/enums/partner-routing-mode.enum.d.ts +20 -0
  184. package/dist/types/modules/partner/enums/partner-service-capability.enum.d.ts +24 -0
  185. package/dist/types/modules/partner/index.d.ts +33 -0
  186. package/dist/types/modules/partner/interfaces/incident-partner-routing.d.ts +43 -0
  187. package/dist/types/modules/partner/interfaces/partner-connection-test-result.d.ts +22 -0
  188. package/dist/types/modules/partner/interfaces/partner-coverage-rule.d.ts +36 -0
  189. package/dist/types/modules/partner/interfaces/partner-dispatch-events.d.ts +40 -0
  190. package/dist/types/modules/partner/interfaces/partner-dispatch-location.d.ts +13 -0
  191. package/dist/types/modules/partner/interfaces/partner-dispatch.d.ts +119 -0
  192. package/dist/types/modules/partner/interfaces/partner-emergency-contact.d.ts +15 -0
  193. package/dist/types/modules/partner/interfaces/partner-integration.d.ts +63 -0
  194. package/dist/types/modules/partner/interfaces/partner-provider-descriptor.d.ts +56 -0
  195. package/dist/types/modules/partner/interfaces/partner-routing-result.d.ts +24 -0
  196. package/dist/types/modules/partner/utils/partner-payload.util.d.ts +49 -0
  197. package/dist/types/modules/partner/utils/partner-routing.util.d.ts +71 -0
  198. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +4 -0
  199. 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"}
@@ -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"}
@@ -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"}
@@ -0,0 +1,178 @@
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.CreatePartnerIntegrationDto = 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 country_code_enum_1 = require("../../country/enums/country-code.enum");
17
+ const partner_integration_environment_enum_1 = require("../enums/partner-integration-environment.enum");
18
+ const partner_provider_code_enum_1 = require("../enums/partner-provider-code.enum");
19
+ const partner_routing_mode_enum_1 = require("../enums/partner-routing-mode.enum");
20
+ const partner_service_capability_enum_1 = require("../enums/partner-service-capability.enum");
21
+ /**
22
+ * Set up an organization's partnership with a third-party service partner.
23
+ *
24
+ * `organizationId` is only honoured for a Super-Admin, who must state which
25
+ * tenant they are configuring; every other caller is pinned to their own
26
+ * organization by clarion-partner-services regardless of what they send.
27
+ */
28
+ class CreatePartnerIntegrationDto {
29
+ }
30
+ exports.CreatePartnerIntegrationDto = CreatePartnerIntegrationDto;
31
+ __decorate([
32
+ (0, swagger_1.ApiPropertyOptional)({
33
+ description: 'Tenant the partnership belongs to. Required for a Super-Admin, ignored for everyone else.',
34
+ example: 48,
35
+ }),
36
+ (0, class_transformer_1.Type)(() => Number),
37
+ (0, class_validator_1.IsInt)(),
38
+ (0, class_validator_1.IsPositive)(),
39
+ (0, class_validator_1.IsOptional)(),
40
+ __metadata("design:type", Number)
41
+ ], CreatePartnerIntegrationDto.prototype, "organizationId", void 0);
42
+ __decorate([
43
+ (0, swagger_1.ApiPropertyOptional)({
44
+ description: 'Narrows the partnership to a single control centre. Omit for organization-wide.',
45
+ example: 12,
46
+ }),
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
+ ], CreatePartnerIntegrationDto.prototype, "controlCentreId", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiProperty)({ enum: partner_provider_code_enum_1.PartnerProviderCode, description: 'The partner being integrated with.' }),
55
+ (0, class_validator_1.IsEnum)(partner_provider_code_enum_1.PartnerProviderCode),
56
+ __metadata("design:type", String)
57
+ ], CreatePartnerIntegrationDto.prototype, "providerCode", void 0);
58
+ __decorate([
59
+ (0, swagger_1.ApiProperty)({ description: 'Operator-facing label.', example: 'Rescue.co Ambulance (Production)' }),
60
+ (0, class_validator_1.IsString)(),
61
+ (0, class_validator_1.MaxLength)(200),
62
+ __metadata("design:type", String)
63
+ ], CreatePartnerIntegrationDto.prototype, "name", void 0);
64
+ __decorate([
65
+ (0, swagger_1.ApiPropertyOptional)({
66
+ enum: partner_integration_environment_enum_1.PartnerIntegrationEnvironment,
67
+ description: 'Which partner environment to talk to. Defaults to PRODUCTION.',
68
+ }),
69
+ (0, class_validator_1.IsEnum)(partner_integration_environment_enum_1.PartnerIntegrationEnvironment),
70
+ (0, class_validator_1.IsOptional)(),
71
+ __metadata("design:type", String)
72
+ ], CreatePartnerIntegrationDto.prototype, "environment", void 0);
73
+ __decorate([
74
+ (0, swagger_1.ApiPropertyOptional)({
75
+ description: 'Partner API base URL. Defaults to the adapter base URL for the chosen environment.',
76
+ example: 'https://api.rescue.co',
77
+ }),
78
+ (0, class_validator_1.IsUrl)({ require_tld: false }),
79
+ (0, class_validator_1.MaxLength)(500),
80
+ (0, class_validator_1.IsOptional)(),
81
+ __metadata("design:type", String)
82
+ ], CreatePartnerIntegrationDto.prototype, "baseUrl", void 0);
83
+ __decorate([
84
+ (0, swagger_1.ApiProperty)({
85
+ description: 'NAME of the secret holding the partner credential - a Google Secret Manager secret name or an environment variable name. NEVER the credential itself.',
86
+ example: 'RESCUE_CO_GARDAWORLD_API_KEY',
87
+ }),
88
+ (0, class_validator_1.IsString)(),
89
+ (0, class_validator_1.MaxLength)(300),
90
+ __metadata("design:type", String)
91
+ ], CreatePartnerIntegrationDto.prototype, "credentialReference", void 0);
92
+ __decorate([
93
+ (0, swagger_1.ApiPropertyOptional)({
94
+ description: 'Non-secret provider settings, e.g. { "source": "gardaworld" } for Rescue.co.',
95
+ example: { source: 'gardaworld' },
96
+ }),
97
+ (0, class_validator_1.IsObject)(),
98
+ (0, class_validator_1.IsOptional)(),
99
+ __metadata("design:type", Object)
100
+ ], CreatePartnerIntegrationDto.prototype, "configuration", void 0);
101
+ __decorate([
102
+ (0, swagger_1.ApiProperty)({
103
+ enum: partner_service_capability_enum_1.PartnerServiceCapability,
104
+ isArray: true,
105
+ description: 'Services bought from this partner. Coverage rules may only request these.',
106
+ example: [partner_service_capability_enum_1.PartnerServiceCapability.AMBULANCE],
107
+ }),
108
+ (0, class_validator_1.IsArray)(),
109
+ (0, class_validator_1.ArrayNotEmpty)(),
110
+ (0, class_validator_1.IsEnum)(partner_service_capability_enum_1.PartnerServiceCapability, { each: true }),
111
+ __metadata("design:type", Array)
112
+ ], CreatePartnerIntegrationDto.prototype, "capabilities", void 0);
113
+ __decorate([
114
+ (0, swagger_1.ApiPropertyOptional)({
115
+ enum: partner_routing_mode_enum_1.PartnerRoutingMode,
116
+ description: 'Default routing mode. Defaults to MANUAL, so a new partnership never dispatches unattended.',
117
+ }),
118
+ (0, class_validator_1.IsEnum)(partner_routing_mode_enum_1.PartnerRoutingMode),
119
+ (0, class_validator_1.IsOptional)(),
120
+ __metadata("design:type", String)
121
+ ], CreatePartnerIntegrationDto.prototype, "routingMode", void 0);
122
+ __decorate([
123
+ (0, swagger_1.ApiPropertyOptional)({
124
+ description: 'Minutes a MANUAL dispatch waits for a decision before expiring. Omit for the platform default.',
125
+ example: 60,
126
+ }),
127
+ (0, class_transformer_1.Type)(() => Number),
128
+ (0, class_validator_1.IsInt)(),
129
+ (0, class_validator_1.Min)(1),
130
+ (0, class_validator_1.Max)(1440),
131
+ (0, class_validator_1.IsOptional)(),
132
+ __metadata("design:type", Number)
133
+ ], CreatePartnerIntegrationDto.prototype, "approvalWindowMinutes", void 0);
134
+ __decorate([
135
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Operational kill switch. Defaults to true.', example: true }),
136
+ (0, class_validator_1.IsBoolean)(),
137
+ (0, class_validator_1.IsOptional)(),
138
+ __metadata("design:type", Boolean)
139
+ ], CreatePartnerIntegrationDto.prototype, "enabled", void 0);
140
+ __decorate([
141
+ (0, swagger_1.ApiPropertyOptional)({
142
+ description: 'Order used when several partnerships cover one incident. Lower goes first.',
143
+ example: 100,
144
+ }),
145
+ (0, class_transformer_1.Type)(() => Number),
146
+ (0, class_validator_1.IsInt)(),
147
+ (0, class_validator_1.Min)(0),
148
+ (0, class_validator_1.IsOptional)(),
149
+ __metadata("design:type", Number)
150
+ ], CreatePartnerIntegrationDto.prototype, "priority", void 0);
151
+ __decorate([
152
+ (0, swagger_1.ApiPropertyOptional)({ enum: country_code_enum_1.CountryCode, description: 'Country the partnership operates in. Defaults to KE.' }),
153
+ (0, class_validator_1.IsEnum)(country_code_enum_1.CountryCode),
154
+ (0, class_validator_1.IsOptional)(),
155
+ __metadata("design:type", String)
156
+ ], CreatePartnerIntegrationDto.prototype, "countryCode", void 0);
157
+ __decorate([
158
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Partner-side account manager or duty contact.', example: 'Rescue.co Control Room' }),
159
+ (0, class_validator_1.IsString)(),
160
+ (0, class_validator_1.MaxLength)(200),
161
+ (0, class_validator_1.IsOptional)(),
162
+ __metadata("design:type", String)
163
+ ], CreatePartnerIntegrationDto.prototype, "partnerContactName", void 0);
164
+ __decorate([
165
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Partner-side contact phone number.', example: '+254700000000' }),
166
+ (0, class_validator_1.IsString)(),
167
+ (0, class_validator_1.MaxLength)(30),
168
+ (0, class_validator_1.IsOptional)(),
169
+ __metadata("design:type", String)
170
+ ], CreatePartnerIntegrationDto.prototype, "partnerContactPhone", void 0);
171
+ __decorate([
172
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Partner-side contact email.', example: 'ops@rescue.co' }),
173
+ (0, class_validator_1.IsEmail)(),
174
+ (0, class_validator_1.MaxLength)(200),
175
+ (0, class_validator_1.IsOptional)(),
176
+ __metadata("design:type", String)
177
+ ], CreatePartnerIntegrationDto.prototype, "partnerContactEmail", void 0);
178
+ //# sourceMappingURL=create-partner-integration.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-partner-integration.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/create-partner-integration.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
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.PartnerDispatchDecisionDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * An operator's decision on a dispatch waiting for manual confirmation, or a
17
+ * withdrawal of one already approved.
18
+ *
19
+ * The acting user is never taken from the body - clarion-partner-services reads
20
+ * it from the trusted user context the gateway forwards, so a decision can
21
+ * always be attributed.
22
+ */
23
+ class PartnerDispatchDecisionDto {
24
+ }
25
+ exports.PartnerDispatchDecisionDto = PartnerDispatchDecisionDto;
26
+ __decorate([
27
+ (0, swagger_1.ApiPropertyOptional)({
28
+ description: 'Why the dispatch was declined or withdrawn. Shown in the audit trail.',
29
+ example: 'Reporter called back to say an ambulance is already on scene.',
30
+ }),
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.MaxLength)(500),
33
+ (0, class_validator_1.IsOptional)(),
34
+ __metadata("design:type", String)
35
+ ], PartnerDispatchDecisionDto.prototype, "reason", void 0);
36
+ //# sourceMappingURL=partner-dispatch-decision.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-dispatch-decision.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/partner-dispatch-decision.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,qDAAkE;AAElE;;;;;;;GAOG;AACH,MAAa,0BAA0B;CAStC;AATD,gEASC;AADG;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,uEAAuE;QACpF,OAAO,EAAE,+DAA+D;KAC3E,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;IACd,IAAA,4BAAU,GAAE;;0DACG"}