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.
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/kafka/topics.js +3 -0
- package/dist/cjs/kafka/topics.js.map +1 -1
- package/dist/cjs/modules/common/constants/service.const.js +1 -0
- package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
- package/dist/cjs/modules/partner/constants/partner-defaults.const.js +74 -0
- package/dist/cjs/modules/partner/constants/partner-defaults.const.js.map +1 -0
- package/dist/cjs/modules/partner/constants/partner-kafka.const.js +20 -0
- package/dist/cjs/modules/partner/constants/partner-kafka.const.js.map +1 -0
- package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js +101 -0
- package/dist/cjs/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
- package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js +178 -0
- package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
- package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js +36 -0
- package/dist/cjs/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
- package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js +230 -0
- package/dist/cjs/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
- package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js +132 -0
- package/dist/cjs/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
- package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js +9 -0
- package/dist/cjs/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
- package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js +15 -0
- package/dist/cjs/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
- package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js +30 -0
- package/dist/cjs/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js +18 -0
- package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js +23 -0
- package/dist/cjs/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js +51 -0
- package/dist/cjs/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js +21 -0
- package/dist/cjs/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js +52 -0
- package/dist/cjs/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js +17 -0
- package/dist/cjs/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js +23 -0
- package/dist/cjs/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js +20 -0
- package/dist/cjs/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js +28 -0
- package/dist/cjs/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js +25 -0
- package/dist/cjs/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
- package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js +29 -0
- package/dist/cjs/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
- package/dist/cjs/modules/partner/index.js +55 -0
- package/dist/cjs/modules/partner/index.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js +3 -0
- package/dist/cjs/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-dispatch.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-dispatch.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-integration.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-integration.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
- package/dist/cjs/modules/partner/interfaces/partner-routing-result.js +3 -0
- package/dist/cjs/modules/partner/interfaces/partner-routing-result.js.map +1 -0
- package/dist/cjs/modules/partner/utils/partner-payload.util.js +116 -0
- package/dist/cjs/modules/partner/utils/partner-payload.util.js.map +1 -0
- package/dist/cjs/modules/partner/utils/partner-routing.util.js +137 -0
- package/dist/cjs/modules/partner/utils/partner-routing.util.js.map +1 -0
- package/dist/cjs/modules/permission/data/permissions.data.js +5 -1
- package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js +10 -0
- package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/cjs/modules/role/data/roles.data.js +26 -0
- package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/kafka/topics.js +3 -0
- package/dist/esm/kafka/topics.js.map +1 -1
- package/dist/esm/modules/common/constants/service.const.js +1 -0
- package/dist/esm/modules/common/constants/service.const.js.map +1 -1
- package/dist/esm/modules/partner/constants/partner-defaults.const.js +71 -0
- package/dist/esm/modules/partner/constants/partner-defaults.const.js.map +1 -0
- package/dist/esm/modules/partner/constants/partner-kafka.const.js +17 -0
- package/dist/esm/modules/partner/constants/partner-kafka.const.js.map +1 -0
- package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js +97 -0
- package/dist/esm/modules/partner/dtos/create-partner-coverage-rule.dto.js.map +1 -0
- package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js +174 -0
- package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js.map +1 -0
- package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js +32 -0
- package/dist/esm/modules/partner/dtos/partner-dispatch-decision.dto.js.map +1 -0
- package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js +224 -0
- package/dist/esm/modules/partner/dtos/route-incident-to-partners.dto.js.map +1 -0
- package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js +127 -0
- package/dist/esm/modules/partner/dtos/update-incident-partner-routing.dto.js.map +1 -0
- package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js +5 -0
- package/dist/esm/modules/partner/dtos/update-partner-coverage-rule.dto.js.map +1 -0
- package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js +11 -0
- package/dist/esm/modules/partner/dtos/update-partner-integration.dto.js.map +1 -0
- package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js +27 -0
- package/dist/esm/modules/partner/enums/incident-partner-routing-status.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js +15 -0
- package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js +20 -0
- package/dist/esm/modules/partner/enums/partner-coverage-match-type.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js +48 -0
- package/dist/esm/modules/partner/enums/partner-dispatch-failure-reason.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js +18 -0
- package/dist/esm/modules/partner/enums/partner-dispatch-scope.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js +49 -0
- package/dist/esm/modules/partner/enums/partner-dispatch-status.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js +14 -0
- package/dist/esm/modules/partner/enums/partner-integration-environment.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-integration-status.enum.js +20 -0
- package/dist/esm/modules/partner/enums/partner-integration-status.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-location-provider.enum.js +17 -0
- package/dist/esm/modules/partner/enums/partner-location-provider.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-provider-code.enum.js +25 -0
- package/dist/esm/modules/partner/enums/partner-provider-code.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js +22 -0
- package/dist/esm/modules/partner/enums/partner-routing-mode.enum.js.map +1 -0
- package/dist/esm/modules/partner/enums/partner-service-capability.enum.js +26 -0
- package/dist/esm/modules/partner/enums/partner-service-capability.enum.js.map +1 -0
- package/dist/esm/modules/partner/index.js +39 -0
- package/dist/esm/modules/partner/index.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/incident-partner-routing.js +2 -0
- package/dist/esm/modules/partner/interfaces/incident-partner-routing.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-connection-test-result.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-coverage-rule.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-dispatch-events.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-dispatch-location.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-dispatch.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-dispatch.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-emergency-contact.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-integration.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-integration.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-provider-descriptor.js.map +1 -0
- package/dist/esm/modules/partner/interfaces/partner-routing-result.js +2 -0
- package/dist/esm/modules/partner/interfaces/partner-routing-result.js.map +1 -0
- package/dist/esm/modules/partner/utils/partner-payload.util.js +109 -0
- package/dist/esm/modules/partner/utils/partner-payload.util.js.map +1 -0
- package/dist/esm/modules/partner/utils/partner-routing.util.js +127 -0
- package/dist/esm/modules/partner/utils/partner-routing.util.js.map +1 -0
- package/dist/esm/modules/permission/data/permissions.data.js +5 -1
- package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
- package/dist/esm/modules/permission/enums/permission-actions.enum.js +10 -0
- package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
- package/dist/esm/modules/role/data/roles.data.js +26 -0
- package/dist/esm/modules/role/data/roles.data.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/kafka/topics.d.ts +2 -0
- package/dist/types/modules/common/constants/service.const.d.ts +4 -0
- package/dist/types/modules/partner/constants/partner-defaults.const.d.ts +60 -0
- package/dist/types/modules/partner/constants/partner-kafka.const.d.ts +16 -0
- package/dist/types/modules/partner/dtos/create-partner-coverage-rule.dto.d.ts +24 -0
- package/dist/types/modules/partner/dtos/create-partner-integration.dto.d.ts +31 -0
- package/dist/types/modules/partner/dtos/partner-dispatch-decision.dto.d.ts +11 -0
- package/dist/types/modules/partner/dtos/route-incident-to-partners.dto.d.ts +52 -0
- package/dist/types/modules/partner/dtos/update-incident-partner-routing.dto.d.ts +34 -0
- package/dist/types/modules/partner/dtos/update-partner-coverage-rule.dto.d.ts +5 -0
- package/dist/types/modules/partner/dtos/update-partner-integration.dto.d.ts +11 -0
- package/dist/types/modules/partner/enums/incident-partner-routing-status.enum.d.ts +25 -0
- package/dist/types/modules/partner/enums/partner-adapter-operation.enum.d.ts +13 -0
- package/dist/types/modules/partner/enums/partner-coverage-match-type.enum.d.ts +18 -0
- package/dist/types/modules/partner/enums/partner-dispatch-failure-reason.enum.d.ts +37 -0
- package/dist/types/modules/partner/enums/partner-dispatch-scope.enum.d.ts +16 -0
- package/dist/types/modules/partner/enums/partner-dispatch-status.enum.d.ts +37 -0
- package/dist/types/modules/partner/enums/partner-integration-environment.enum.d.ts +12 -0
- package/dist/types/modules/partner/enums/partner-integration-status.enum.d.ts +18 -0
- package/dist/types/modules/partner/enums/partner-location-provider.enum.d.ts +15 -0
- package/dist/types/modules/partner/enums/partner-provider-code.enum.d.ts +23 -0
- package/dist/types/modules/partner/enums/partner-routing-mode.enum.d.ts +20 -0
- package/dist/types/modules/partner/enums/partner-service-capability.enum.d.ts +24 -0
- package/dist/types/modules/partner/index.d.ts +33 -0
- package/dist/types/modules/partner/interfaces/incident-partner-routing.d.ts +43 -0
- package/dist/types/modules/partner/interfaces/partner-connection-test-result.d.ts +22 -0
- package/dist/types/modules/partner/interfaces/partner-coverage-rule.d.ts +36 -0
- package/dist/types/modules/partner/interfaces/partner-dispatch-events.d.ts +40 -0
- package/dist/types/modules/partner/interfaces/partner-dispatch-location.d.ts +13 -0
- package/dist/types/modules/partner/interfaces/partner-dispatch.d.ts +119 -0
- package/dist/types/modules/partner/interfaces/partner-emergency-contact.d.ts +15 -0
- package/dist/types/modules/partner/interfaces/partner-integration.d.ts +63 -0
- package/dist/types/modules/partner/interfaces/partner-provider-descriptor.d.ts +56 -0
- package/dist/types/modules/partner/interfaces/partner-routing-result.d.ts +24 -0
- package/dist/types/modules/partner/utils/partner-payload.util.d.ts +49 -0
- package/dist/types/modules/partner/utils/partner-routing.util.d.ts +71 -0
- package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELIVERED_PARTNER_DISPATCH_STATUSES = exports.TERMINAL_PARTNER_DISPATCH_STATUSES = exports.PartnerDispatchStatus = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Lifecycle of one incident's routing to one partner.
|
|
6
|
+
*
|
|
7
|
+
* Terminal states are SENT/ACKNOWLEDGED (the partner has the emergency),
|
|
8
|
+
* FAILED, REJECTED, CANCELLED and EXPIRED. Everything else is in flight.
|
|
9
|
+
*
|
|
10
|
+
* MANUAL routing starts at PENDING_APPROVAL and reaches QUEUED only when an
|
|
11
|
+
* operator approves; declining gives REJECTED, withdrawing gives CANCELLED and
|
|
12
|
+
* letting the approval window elapse gives EXPIRED. AUTO routing starts at
|
|
13
|
+
* QUEUED directly. QUEUED -> SENDING -> SENT on success, or back to QUEUED for a
|
|
14
|
+
* transient retry, or FAILED when the failure is permanent or the attempts run
|
|
15
|
+
* out. SENT -> ACKNOWLEDGED when the partner later reports progress.
|
|
16
|
+
*/
|
|
17
|
+
var PartnerDispatchStatus;
|
|
18
|
+
(function (PartnerDispatchStatus) {
|
|
19
|
+
/** MANUAL routing: waiting for the organization to confirm or decline. */
|
|
20
|
+
PartnerDispatchStatus["PENDING_APPROVAL"] = "PENDING_APPROVAL";
|
|
21
|
+
/** Cleared to send - either AUTO, or approved - and waiting for a send attempt. */
|
|
22
|
+
PartnerDispatchStatus["QUEUED"] = "QUEUED";
|
|
23
|
+
/** A send attempt is in flight. */
|
|
24
|
+
PartnerDispatchStatus["SENDING"] = "SENDING";
|
|
25
|
+
/** The partner accepted the request and returned its own reference. */
|
|
26
|
+
PartnerDispatchStatus["SENT"] = "SENT";
|
|
27
|
+
/** The partner has since confirmed progress on the request (status callback). */
|
|
28
|
+
PartnerDispatchStatus["ACKNOWLEDGED"] = "ACKNOWLEDGED";
|
|
29
|
+
/** Permanently failed - rejected by the partner, or out of attempts. */
|
|
30
|
+
PartnerDispatchStatus["FAILED"] = "FAILED";
|
|
31
|
+
/** Declined by the organization instead of being sent. */
|
|
32
|
+
PartnerDispatchStatus["REJECTED"] = "REJECTED";
|
|
33
|
+
/** Withdrawn by the organization (before or after approval, never after SENT). */
|
|
34
|
+
PartnerDispatchStatus["CANCELLED"] = "CANCELLED";
|
|
35
|
+
/** The manual-approval window elapsed with no decision. */
|
|
36
|
+
PartnerDispatchStatus["EXPIRED"] = "EXPIRED";
|
|
37
|
+
})(PartnerDispatchStatus || (exports.PartnerDispatchStatus = PartnerDispatchStatus = {}));
|
|
38
|
+
/** Statuses from which no further transition happens. */
|
|
39
|
+
exports.TERMINAL_PARTNER_DISPATCH_STATUSES = [
|
|
40
|
+
PartnerDispatchStatus.SENT,
|
|
41
|
+
PartnerDispatchStatus.ACKNOWLEDGED,
|
|
42
|
+
PartnerDispatchStatus.FAILED,
|
|
43
|
+
PartnerDispatchStatus.REJECTED,
|
|
44
|
+
PartnerDispatchStatus.CANCELLED,
|
|
45
|
+
PartnerDispatchStatus.EXPIRED,
|
|
46
|
+
];
|
|
47
|
+
/** Statuses that mean the partner is (or should shortly be) working the emergency. */
|
|
48
|
+
exports.DELIVERED_PARTNER_DISPATCH_STATUSES = [
|
|
49
|
+
PartnerDispatchStatus.SENT,
|
|
50
|
+
PartnerDispatchStatus.ACKNOWLEDGED,
|
|
51
|
+
];
|
|
52
|
+
//# sourceMappingURL=partner-dispatch-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-dispatch-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/partner/enums/partner-dispatch-status.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,IAAY,qBAmBX;AAnBD,WAAY,qBAAqB;IAC7B,0EAA0E;IAC1E,8DAAqC,CAAA;IACrC,mFAAmF;IACnF,0CAAiB,CAAA;IACjB,mCAAmC;IACnC,4CAAmB,CAAA;IACnB,uEAAuE;IACvE,sCAAa,CAAA;IACb,iFAAiF;IACjF,sDAA6B,CAAA;IAC7B,wEAAwE;IACxE,0CAAiB,CAAA;IACjB,0DAA0D;IAC1D,8CAAqB,CAAA;IACrB,kFAAkF;IAClF,gDAAuB,CAAA;IACvB,2DAA2D;IAC3D,4CAAmB,CAAA;AACvB,CAAC,EAnBW,qBAAqB,qCAArB,qBAAqB,QAmBhC;AAED,yDAAyD;AAC5C,QAAA,kCAAkC,GAAqC;IAChF,qBAAqB,CAAC,IAAI;IAC1B,qBAAqB,CAAC,YAAY;IAClC,qBAAqB,CAAC,MAAM;IAC5B,qBAAqB,CAAC,QAAQ;IAC9B,qBAAqB,CAAC,SAAS;IAC/B,qBAAqB,CAAC,OAAO;CAChC,CAAC;AAEF,sFAAsF;AACzE,QAAA,mCAAmC,GAAqC;IACjF,qBAAqB,CAAC,IAAI;IAC1B,qBAAqB,CAAC,YAAY;CACrC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PartnerIntegrationEnvironment = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Which of a partner's environments a partnership points at.
|
|
6
|
+
*
|
|
7
|
+
* Kept explicit — and part of the uniqueness key of a partnership — so an
|
|
8
|
+
* organization can hold a sandbox and a production integration with the same
|
|
9
|
+
* partner side by side, and so a dispatch record always says which one an
|
|
10
|
+
* emergency was actually sent to.
|
|
11
|
+
*/
|
|
12
|
+
var PartnerIntegrationEnvironment;
|
|
13
|
+
(function (PartnerIntegrationEnvironment) {
|
|
14
|
+
PartnerIntegrationEnvironment["SANDBOX"] = "SANDBOX";
|
|
15
|
+
PartnerIntegrationEnvironment["PRODUCTION"] = "PRODUCTION";
|
|
16
|
+
})(PartnerIntegrationEnvironment || (exports.PartnerIntegrationEnvironment = PartnerIntegrationEnvironment = {}));
|
|
17
|
+
//# sourceMappingURL=partner-integration-environment.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-integration-environment.enum.js","sourceRoot":"","sources":["../../../../../src/modules/partner/enums/partner-integration-environment.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,6BAGX;AAHD,WAAY,6BAA6B;IACrC,oDAAmB,CAAA;IACnB,0DAAyB,CAAA;AAC7B,CAAC,EAHW,6BAA6B,6CAA7B,6BAA6B,QAGxC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PartnerIntegrationStatus = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Last known health of a partnership's connection to its partner, refreshed by
|
|
6
|
+
* explicit connection tests and by the outcome of real dispatches.
|
|
7
|
+
*
|
|
8
|
+
* Advisory only: it is never consulted to decide whether to attempt a dispatch —
|
|
9
|
+
* an emergency is always attempted against a live partner, whatever the last
|
|
10
|
+
* probe said.
|
|
11
|
+
*/
|
|
12
|
+
var PartnerIntegrationStatus;
|
|
13
|
+
(function (PartnerIntegrationStatus) {
|
|
14
|
+
/** Never probed, or probed before the last configuration change. */
|
|
15
|
+
PartnerIntegrationStatus["UNKNOWN"] = "UNKNOWN";
|
|
16
|
+
/** Last probe or dispatch succeeded. */
|
|
17
|
+
PartnerIntegrationStatus["HEALTHY"] = "HEALTHY";
|
|
18
|
+
/** Reachable but erroring — e.g. authentication succeeds, dispatches reject. */
|
|
19
|
+
PartnerIntegrationStatus["DEGRADED"] = "DEGRADED";
|
|
20
|
+
/** Last probe or dispatch could not reach the partner at all. */
|
|
21
|
+
PartnerIntegrationStatus["UNREACHABLE"] = "UNREACHABLE";
|
|
22
|
+
})(PartnerIntegrationStatus || (exports.PartnerIntegrationStatus = PartnerIntegrationStatus = {}));
|
|
23
|
+
//# sourceMappingURL=partner-integration-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-integration-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/partner/enums/partner-integration-status.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,wBASX;AATD,WAAY,wBAAwB;IAChC,oEAAoE;IACpE,+CAAmB,CAAA;IACnB,wCAAwC;IACxC,+CAAmB,CAAA;IACnB,gFAAgF;IAChF,iDAAqB,CAAA;IACrB,iEAAiE;IACjE,uDAA2B,CAAA;AAC/B,CAAC,EATW,wBAAwB,wCAAxB,wBAAwB,QASnC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PartnerLocationProvider = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* How the location attached to a partner dispatch was obtained.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors the vocabulary emergency-service APIs expect (Rescue.co among them)
|
|
8
|
+
* and is derived from the incident's reporting channel rather than asked for -
|
|
9
|
+
* see `mapChannelToLocationProvider`.
|
|
10
|
+
*/
|
|
11
|
+
var PartnerLocationProvider;
|
|
12
|
+
(function (PartnerLocationProvider) {
|
|
13
|
+
/** A satellite fix. */
|
|
14
|
+
PartnerLocationProvider["GPS"] = "GPS";
|
|
15
|
+
/** Derived from cell/Wi-Fi network positioning, or entered by an operator. */
|
|
16
|
+
PartnerLocationProvider["NETWORK"] = "NETWORK";
|
|
17
|
+
/** A platform fused-location fix combining GPS, network and sensors. */
|
|
18
|
+
PartnerLocationProvider["FUSED"] = "FUSED";
|
|
19
|
+
})(PartnerLocationProvider || (exports.PartnerLocationProvider = PartnerLocationProvider = {}));
|
|
20
|
+
//# sourceMappingURL=partner-location-provider.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-location-provider.enum.js","sourceRoot":"","sources":["../../../../../src/modules/partner/enums/partner-location-provider.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,uBAOX;AAPD,WAAY,uBAAuB;IAC/B,uBAAuB;IACvB,sCAAW,CAAA;IACX,8EAA8E;IAC9E,8CAAmB,CAAA;IACnB,wEAAwE;IACxE,0CAAe,CAAA;AACnB,CAAC,EAPW,uBAAuB,uCAAvB,uBAAuB,QAOlC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PartnerProviderCode = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Identifies the third-party service partner an organization has integrated
|
|
6
|
+
* with.
|
|
7
|
+
*
|
|
8
|
+
* Provider-neutral by design: the partnership model, coverage rules, dispatch
|
|
9
|
+
* records, audit trail and REST surface in clarion-partner-services never branch
|
|
10
|
+
* on a specific partner — only the per-provider adapter inside that service
|
|
11
|
+
* understands a partner's wire format, authentication and payload shape.
|
|
12
|
+
*
|
|
13
|
+
* Only {@link PartnerProviderCode.RESCUE_CO} has a working adapter today. The
|
|
14
|
+
* remaining values are reserved so a new partner can be added without changing
|
|
15
|
+
* the shared contracts, database columns or Kafka events.
|
|
16
|
+
*/
|
|
17
|
+
var PartnerProviderCode;
|
|
18
|
+
(function (PartnerProviderCode) {
|
|
19
|
+
/** Rescue.co — ambulance / emergency medical response (Kenya). */
|
|
20
|
+
PartnerProviderCode["RESCUE_CO"] = "RESCUE_CO";
|
|
21
|
+
/** AAR Healthcare emergency medical response (reserved — no adapter yet). */
|
|
22
|
+
PartnerProviderCode["AAR"] = "AAR";
|
|
23
|
+
/** St John Ambulance (reserved — no adapter yet). */
|
|
24
|
+
PartnerProviderCode["ST_JOHN"] = "ST_JOHN";
|
|
25
|
+
/** Generic REST partner driven purely by configuration (reserved). */
|
|
26
|
+
PartnerProviderCode["GENERIC_REST"] = "GENERIC_REST";
|
|
27
|
+
})(PartnerProviderCode || (exports.PartnerProviderCode = PartnerProviderCode = {}));
|
|
28
|
+
//# sourceMappingURL=partner-provider-code.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/partner/enums/partner-provider-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC3B,kEAAkE;IAClE,8CAAuB,CAAA;IACvB,6EAA6E;IAC7E,kCAAW,CAAA;IACX,qDAAqD;IACrD,0CAAmB,CAAA;IACnB,sEAAsE;IACtE,oDAA6B,CAAA;AACjC,CAAC,EATW,mBAAmB,mCAAnB,mBAAmB,QAS9B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PartnerRoutingMode = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* How an incident that a partnership covers reaches the partner.
|
|
6
|
+
*
|
|
7
|
+
* The distinction is deliberately a stored fact rather than a runtime policy:
|
|
8
|
+
* an organization that wants a human in the loop before an ambulance is
|
|
9
|
+
* requested on its behalf sets MANUAL, and every covered incident then waits in
|
|
10
|
+
* PENDING_APPROVAL until an operator confirms it.
|
|
11
|
+
*/
|
|
12
|
+
var PartnerRoutingMode;
|
|
13
|
+
(function (PartnerRoutingMode) {
|
|
14
|
+
/** Send to the partner as soon as the incident is created. */
|
|
15
|
+
PartnerRoutingMode["AUTO"] = "AUTO";
|
|
16
|
+
/** Hold for explicit confirmation by the organization before sending. */
|
|
17
|
+
PartnerRoutingMode["MANUAL"] = "MANUAL";
|
|
18
|
+
/**
|
|
19
|
+
* Keep the configuration but route nothing. Distinct from deleting the
|
|
20
|
+
* partnership (which loses its coverage rules and history) and from
|
|
21
|
+
* `enabled = false` (which is the operational kill switch).
|
|
22
|
+
*/
|
|
23
|
+
PartnerRoutingMode["DISABLED"] = "DISABLED";
|
|
24
|
+
})(PartnerRoutingMode || (exports.PartnerRoutingMode = PartnerRoutingMode = {}));
|
|
25
|
+
//# sourceMappingURL=partner-routing-mode.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-routing-mode.enum.js","sourceRoot":"","sources":["../../../../../src/modules/partner/enums/partner-routing-mode.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC1B,8DAA8D;IAC9D,mCAAa,CAAA;IACb,yEAAyE;IACzE,uCAAiB,CAAA;IACjB;;;;OAIG;IACH,2CAAqB,CAAA;AACzB,CAAC,EAXW,kBAAkB,kCAAlB,kBAAkB,QAW7B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PartnerServiceCapability = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A class of emergency service a partner can be asked to provide.
|
|
6
|
+
*
|
|
7
|
+
* A partnership declares which capabilities it buys from a partner, and every
|
|
8
|
+
* coverage rule names the capability an incident should be routed for. This is
|
|
9
|
+
* what makes "GardaWorld sends medical incidents to Rescue.co" expressible
|
|
10
|
+
* without either side hard-coding the other.
|
|
11
|
+
*/
|
|
12
|
+
var PartnerServiceCapability;
|
|
13
|
+
(function (PartnerServiceCapability) {
|
|
14
|
+
/** Ground ambulance dispatch to a scene. */
|
|
15
|
+
PartnerServiceCapability["AMBULANCE"] = "AMBULANCE";
|
|
16
|
+
/** Air or long-distance medical evacuation. */
|
|
17
|
+
PartnerServiceCapability["MEDICAL_EVACUATION"] = "MEDICAL_EVACUATION";
|
|
18
|
+
/** Fire and rescue response. */
|
|
19
|
+
PartnerServiceCapability["FIRE_RESPONSE"] = "FIRE_RESPONSE";
|
|
20
|
+
/** Armed or unarmed security response to a scene. */
|
|
21
|
+
PartnerServiceCapability["SECURITY_RESPONSE"] = "SECURITY_RESPONSE";
|
|
22
|
+
/** Roadside/breakdown assistance. */
|
|
23
|
+
PartnerServiceCapability["ROADSIDE_ASSISTANCE"] = "ROADSIDE_ASSISTANCE";
|
|
24
|
+
/** Vehicle recovery / towing. */
|
|
25
|
+
PartnerServiceCapability["TOWING"] = "TOWING";
|
|
26
|
+
/** Anything the list above does not describe. */
|
|
27
|
+
PartnerServiceCapability["OTHER"] = "OTHER";
|
|
28
|
+
})(PartnerServiceCapability || (exports.PartnerServiceCapability = PartnerServiceCapability = {}));
|
|
29
|
+
//# sourceMappingURL=partner-service-capability.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-service-capability.enum.js","sourceRoot":"","sources":["../../../../../src/modules/partner/enums/partner-service-capability.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,wBAeX;AAfD,WAAY,wBAAwB;IAChC,4CAA4C;IAC5C,mDAAuB,CAAA;IACvB,+CAA+C;IAC/C,qEAAyC,CAAA;IACzC,gCAAgC;IAChC,2DAA+B,CAAA;IAC/B,qDAAqD;IACrD,mEAAuC,CAAA;IACvC,qCAAqC;IACrC,uEAA2C,CAAA;IAC3C,iCAAiC;IACjC,6CAAiB,CAAA;IACjB,iDAAiD;IACjD,2CAAe,CAAA;AACnB,CAAC,EAfW,wBAAwB,wCAAxB,wBAAwB,QAenC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Enums
|
|
18
|
+
__exportStar(require("./enums/partner-provider-code.enum"), exports);
|
|
19
|
+
__exportStar(require("./enums/partner-service-capability.enum"), exports);
|
|
20
|
+
__exportStar(require("./enums/partner-routing-mode.enum"), exports);
|
|
21
|
+
__exportStar(require("./enums/partner-integration-environment.enum"), exports);
|
|
22
|
+
__exportStar(require("./enums/partner-integration-status.enum"), exports);
|
|
23
|
+
__exportStar(require("./enums/partner-coverage-match-type.enum"), exports);
|
|
24
|
+
__exportStar(require("./enums/partner-dispatch-status.enum"), exports);
|
|
25
|
+
__exportStar(require("./enums/partner-dispatch-failure-reason.enum"), exports);
|
|
26
|
+
__exportStar(require("./enums/partner-location-provider.enum"), exports);
|
|
27
|
+
__exportStar(require("./enums/partner-adapter-operation.enum"), exports);
|
|
28
|
+
__exportStar(require("./enums/incident-partner-routing-status.enum"), exports);
|
|
29
|
+
__exportStar(require("./enums/partner-dispatch-scope.enum"), exports);
|
|
30
|
+
// Interfaces
|
|
31
|
+
__exportStar(require("./interfaces/partner-provider-descriptor"), exports);
|
|
32
|
+
__exportStar(require("./interfaces/partner-integration"), exports);
|
|
33
|
+
__exportStar(require("./interfaces/partner-coverage-rule"), exports);
|
|
34
|
+
__exportStar(require("./interfaces/partner-dispatch-location"), exports);
|
|
35
|
+
__exportStar(require("./interfaces/partner-emergency-contact"), exports);
|
|
36
|
+
__exportStar(require("./interfaces/partner-dispatch"), exports);
|
|
37
|
+
__exportStar(require("./interfaces/incident-partner-routing"), exports);
|
|
38
|
+
__exportStar(require("./interfaces/partner-routing-result"), exports);
|
|
39
|
+
__exportStar(require("./interfaces/partner-connection-test-result"), exports);
|
|
40
|
+
__exportStar(require("./interfaces/partner-dispatch-events"), exports);
|
|
41
|
+
// Constants
|
|
42
|
+
__exportStar(require("./constants/partner-defaults.const"), exports);
|
|
43
|
+
__exportStar(require("./constants/partner-kafka.const"), exports);
|
|
44
|
+
// DTOs
|
|
45
|
+
__exportStar(require("./dtos/create-partner-integration.dto"), exports);
|
|
46
|
+
__exportStar(require("./dtos/update-partner-integration.dto"), exports);
|
|
47
|
+
__exportStar(require("./dtos/create-partner-coverage-rule.dto"), exports);
|
|
48
|
+
__exportStar(require("./dtos/update-partner-coverage-rule.dto"), exports);
|
|
49
|
+
__exportStar(require("./dtos/route-incident-to-partners.dto"), exports);
|
|
50
|
+
__exportStar(require("./dtos/partner-dispatch-decision.dto"), exports);
|
|
51
|
+
__exportStar(require("./dtos/update-incident-partner-routing.dto"), exports);
|
|
52
|
+
// Utilities
|
|
53
|
+
__exportStar(require("./utils/partner-routing.util"), exports);
|
|
54
|
+
__exportStar(require("./utils/partner-payload.util"), exports);
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/partner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,qEAAmD;AACnD,0EAAwD;AACxD,oEAAkD;AAClD,+EAA6D;AAC7D,0EAAwD;AACxD,2EAAyD;AACzD,uEAAqD;AACrD,+EAA6D;AAC7D,yEAAuD;AACvD,yEAAuD;AACvD,+EAA6D;AAC7D,sEAAoD;AAEpD,aAAa;AACb,2EAAyD;AACzD,mEAAiD;AACjD,qEAAmD;AACnD,yEAAuD;AACvD,yEAAuD;AACvD,gEAA8C;AAC9C,wEAAsD;AACtD,sEAAoD;AACpD,8EAA4D;AAC5D,uEAAqD;AAErD,YAAY;AACZ,qEAAmD;AACnD,kEAAgD;AAEhD,OAAO;AACP,wEAAsD;AACtD,wEAAsD;AACtD,0EAAwD;AACxD,0EAAwD;AACxD,wEAAsD;AACtD,uEAAqD;AACrD,6EAA2D;AAE3D,YAAY;AACZ,+DAA6C;AAC7C,+DAA6C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incident-partner-routing.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/incident-partner-routing.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-connection-test-result.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-connection-test-result.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-coverage-rule.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-coverage-rule.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-dispatch-events.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-dispatch-events.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-dispatch-location.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-dispatch-location.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-dispatch.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-dispatch.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-emergency-contact.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-emergency-contact.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-integration.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-integration.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-provider-descriptor.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-provider-descriptor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-routing-result.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-routing-result.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.truncateForPartner = truncateForPartner;
|
|
4
|
+
exports.buildPartnerIssueText = buildPartnerIssueText;
|
|
5
|
+
exports.maskPartnerIdentifier = maskPartnerIdentifier;
|
|
6
|
+
exports.sanitizePartnerPayload = sanitizePartnerPayload;
|
|
7
|
+
exports.maskPartnerUrl = maskPartnerUrl;
|
|
8
|
+
const partner_defaults_const_1 = require("../constants/partner-defaults.const");
|
|
9
|
+
/**
|
|
10
|
+
* Trim a value to a partner's field limit without ever throwing.
|
|
11
|
+
*
|
|
12
|
+
* Partner APIs reject an over-long field outright, and refusing to send an
|
|
13
|
+
* emergency because a description ran long is never the right trade - so the
|
|
14
|
+
* value is truncated and the emergency still goes.
|
|
15
|
+
*/
|
|
16
|
+
function truncateForPartner(value, maxLength) {
|
|
17
|
+
if (value == null)
|
|
18
|
+
return undefined;
|
|
19
|
+
const trimmed = String(value).trim();
|
|
20
|
+
if (trimmed === '')
|
|
21
|
+
return undefined;
|
|
22
|
+
return trimmed.length <= maxLength ? trimmed : trimmed.slice(0, maxLength);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Build the free-text description of what is wrong, from the incident's type,
|
|
26
|
+
* category and description.
|
|
27
|
+
*
|
|
28
|
+
* Ordered most-specific-first so a partner reading only the opening words still
|
|
29
|
+
* learns the useful part, and clamped to the partner's limit.
|
|
30
|
+
*/
|
|
31
|
+
function buildPartnerIssueText(parts) {
|
|
32
|
+
var _a;
|
|
33
|
+
const maxLength = (_a = parts.maxLength) !== null && _a !== void 0 ? _a : partner_defaults_const_1.PARTNER_FIELD_LIMITS.ISSUE_MAX_LENGTH;
|
|
34
|
+
const headline = [parts.typeName, parts.categoryName]
|
|
35
|
+
.map((v) => (v == null ? '' : String(v).trim()))
|
|
36
|
+
.filter((v) => v !== '')
|
|
37
|
+
.join(' / ');
|
|
38
|
+
const description = parts.description == null ? '' : String(parts.description).trim();
|
|
39
|
+
const combined = [headline, description].filter((v) => v !== '').join(' - ');
|
|
40
|
+
return truncateForPartner(combined, maxLength);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Mask an identifier for logging: keeps enough to correlate, never enough to
|
|
44
|
+
* reuse. `+254712345678` becomes `+254***5678`.
|
|
45
|
+
*
|
|
46
|
+
* Every log line in the partner pipeline goes through this - a dispatch carries
|
|
47
|
+
* a reporter's phone number and a partner's reference, and neither belongs in
|
|
48
|
+
* plaintext in a log aggregator.
|
|
49
|
+
*/
|
|
50
|
+
function maskPartnerIdentifier(value) {
|
|
51
|
+
if (value == null)
|
|
52
|
+
return 'unknown';
|
|
53
|
+
const raw = String(value).trim();
|
|
54
|
+
if (raw === '')
|
|
55
|
+
return 'unknown';
|
|
56
|
+
if (raw.length <= 8)
|
|
57
|
+
return `${raw.slice(0, 2)}***`;
|
|
58
|
+
return `${raw.slice(0, 4)}***${raw.slice(-4)}`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Strip anything credential-shaped out of a value before it is persisted on a
|
|
62
|
+
* dispatch or written to a log.
|
|
63
|
+
*
|
|
64
|
+
* Applied to every partner request and response body the service stores.
|
|
65
|
+
* Matching is on the KEY, case-insensitively and by substring, because partners
|
|
66
|
+
* do not agree on a name for a secret (`apiKey`, `api_key`, `access_token`,
|
|
67
|
+
* `Authorization`, ...). The shape of the payload is preserved so an audit still
|
|
68
|
+
* shows what was sent.
|
|
69
|
+
*/
|
|
70
|
+
function sanitizePartnerPayload(value, depth = 0) {
|
|
71
|
+
if (depth > 8 || value == null)
|
|
72
|
+
return value;
|
|
73
|
+
if (Array.isArray(value))
|
|
74
|
+
return value.map((item) => sanitizePartnerPayload(item, depth + 1));
|
|
75
|
+
if (typeof value !== 'object')
|
|
76
|
+
return value;
|
|
77
|
+
const result = {};
|
|
78
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
79
|
+
result[key] = isSecretKey(key) ? '[REDACTED]' : sanitizePartnerPayload(entry, depth + 1);
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
/** Substrings that mark a key as carrying a secret. */
|
|
84
|
+
const SECRET_KEY_FRAGMENTS = [
|
|
85
|
+
'apikey',
|
|
86
|
+
'api_key',
|
|
87
|
+
'secret',
|
|
88
|
+
'password',
|
|
89
|
+
'passwd',
|
|
90
|
+
'token',
|
|
91
|
+
'authorization',
|
|
92
|
+
'auth',
|
|
93
|
+
'credential',
|
|
94
|
+
'signature',
|
|
95
|
+
'privatekey',
|
|
96
|
+
'private_key',
|
|
97
|
+
];
|
|
98
|
+
function isSecretKey(key) {
|
|
99
|
+
const normalized = key.toLowerCase();
|
|
100
|
+
return SECRET_KEY_FRAGMENTS.some((fragment) => normalized.includes(fragment));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A URL safe to store on an attempt record: origin and path only, with any
|
|
104
|
+
* query string replaced.
|
|
105
|
+
*
|
|
106
|
+
* Partner APIs put credentials in query strings often enough that keeping one
|
|
107
|
+
* verbatim in an audit table is a real exposure.
|
|
108
|
+
*/
|
|
109
|
+
function maskPartnerUrl(url) {
|
|
110
|
+
if (url == null)
|
|
111
|
+
return '';
|
|
112
|
+
const raw = String(url);
|
|
113
|
+
const queryStart = raw.indexOf('?');
|
|
114
|
+
return queryStart === -1 ? raw : `${raw.slice(0, queryStart)}?[REDACTED]`;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=partner-payload.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-payload.util.js","sourceRoot":"","sources":["../../../../../src/modules/partner/utils/partner-payload.util.ts"],"names":[],"mappings":"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"}
|