grm-shared-library 1.1.195 → 1.1.197
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 +192 -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 +127 -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 +188 -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 +119 -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 +59 -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,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.coverageRuleMatches = coverageRuleMatches;
|
|
4
|
+
exports.resolveRoutingMode = resolveRoutingMode;
|
|
5
|
+
exports.mapChannelToLocationProvider = mapChannelToLocationProvider;
|
|
6
|
+
exports.isPartnerLocationProvider = isPartnerLocationProvider;
|
|
7
|
+
exports.isPermanentDispatchFailure = isPermanentDispatchFailure;
|
|
8
|
+
exports.isDeliveredDispatchStatus = isDeliveredDispatchStatus;
|
|
9
|
+
exports.retryDelaySeconds = retryDelaySeconds;
|
|
10
|
+
exports.summarizeIncidentRoutingStatus = summarizeIncidentRoutingStatus;
|
|
11
|
+
const partner_defaults_const_1 = require("../constants/partner-defaults.const");
|
|
12
|
+
const incident_partner_routing_status_enum_1 = require("../enums/incident-partner-routing-status.enum");
|
|
13
|
+
const partner_coverage_match_type_enum_1 = require("../enums/partner-coverage-match-type.enum");
|
|
14
|
+
const partner_dispatch_failure_reason_enum_1 = require("../enums/partner-dispatch-failure-reason.enum");
|
|
15
|
+
const partner_dispatch_status_enum_1 = require("../enums/partner-dispatch-status.enum");
|
|
16
|
+
const partner_location_provider_enum_1 = require("../enums/partner-location-provider.enum");
|
|
17
|
+
const partner_routing_mode_enum_1 = require("../enums/partner-routing-mode.enum");
|
|
18
|
+
/**
|
|
19
|
+
* Whether a coverage rule applies to an incident.
|
|
20
|
+
*
|
|
21
|
+
* Shared by clarion-partner-services (which routes on it) and the web admin
|
|
22
|
+
* (which previews "what would this rule catch?"), so the two can never disagree
|
|
23
|
+
* about whether an ambulance would have been called.
|
|
24
|
+
*
|
|
25
|
+
* A disabled rule never matches, and a rule whose match key is missing on either
|
|
26
|
+
* side never matches - a rule with no incident type cannot silently become a
|
|
27
|
+
* catch-all.
|
|
28
|
+
*/
|
|
29
|
+
function coverageRuleMatches(rule, subject) {
|
|
30
|
+
if (rule.enabled === false)
|
|
31
|
+
return false;
|
|
32
|
+
switch (rule.matchType) {
|
|
33
|
+
case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.ALL:
|
|
34
|
+
return true;
|
|
35
|
+
case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.INCIDENT_TYPE:
|
|
36
|
+
return (rule.incidentTypeId != null &&
|
|
37
|
+
subject.incidentTypeId != null &&
|
|
38
|
+
rule.incidentTypeId === subject.incidentTypeId);
|
|
39
|
+
case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.INCIDENT_CATEGORY:
|
|
40
|
+
return (rule.incidentCategoryId != null &&
|
|
41
|
+
subject.incidentCategoryId != null &&
|
|
42
|
+
rule.incidentCategoryId === subject.incidentCategoryId);
|
|
43
|
+
case partner_coverage_match_type_enum_1.PartnerCoverageMatchType.EMERGENCY_TYPE:
|
|
44
|
+
return (rule.emergencyType != null &&
|
|
45
|
+
subject.emergencyType != null &&
|
|
46
|
+
String(rule.emergencyType) === String(subject.emergencyType));
|
|
47
|
+
default:
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The routing mode actually applied to a dispatch.
|
|
53
|
+
*
|
|
54
|
+
* A rule-level override wins over the partnership's default, and DISABLED at
|
|
55
|
+
* either level wins over everything - an organization that has switched routing
|
|
56
|
+
* off must not be overridden by a rule it forgot about.
|
|
57
|
+
*/
|
|
58
|
+
function resolveRoutingMode(integrationMode, ruleOverride) {
|
|
59
|
+
if (integrationMode === partner_routing_mode_enum_1.PartnerRoutingMode.DISABLED)
|
|
60
|
+
return partner_routing_mode_enum_1.PartnerRoutingMode.DISABLED;
|
|
61
|
+
if (!ruleOverride)
|
|
62
|
+
return integrationMode;
|
|
63
|
+
return ruleOverride;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* How a partner is told the incident's location was obtained, derived from the
|
|
67
|
+
* reporting channel.
|
|
68
|
+
*
|
|
69
|
+
* `overrides` accepts a partnership's `locationProviderByChannel` configuration
|
|
70
|
+
* verbatim; unknown channels and unknown provider values fall back to the
|
|
71
|
+
* platform default rather than being passed through to the partner.
|
|
72
|
+
*/
|
|
73
|
+
function mapChannelToLocationProvider(channel, overrides) {
|
|
74
|
+
const fallback = partner_location_provider_enum_1.PartnerLocationProvider.NETWORK;
|
|
75
|
+
if (!channel)
|
|
76
|
+
return fallback;
|
|
77
|
+
const override = overrides === null || overrides === void 0 ? void 0 : overrides[String(channel)];
|
|
78
|
+
if (override && isPartnerLocationProvider(override)) {
|
|
79
|
+
return override;
|
|
80
|
+
}
|
|
81
|
+
const mapped = partner_defaults_const_1.PARTNER_CHANNEL_LOCATION_PROVIDER[channel];
|
|
82
|
+
return mapped !== null && mapped !== void 0 ? mapped : fallback;
|
|
83
|
+
}
|
|
84
|
+
/** Type guard for a value claiming to be a {@link PartnerLocationProvider}. */
|
|
85
|
+
function isPartnerLocationProvider(value) {
|
|
86
|
+
return (typeof value === 'string' &&
|
|
87
|
+
Object.values(partner_location_provider_enum_1.PartnerLocationProvider).includes(value));
|
|
88
|
+
}
|
|
89
|
+
/** Whether a failure should be retried, or has no chance of succeeding. */
|
|
90
|
+
function isPermanentDispatchFailure(reason) {
|
|
91
|
+
if (!reason)
|
|
92
|
+
return false;
|
|
93
|
+
return partner_dispatch_failure_reason_enum_1.PERMANENT_PARTNER_DISPATCH_FAILURE_REASONS.includes(reason);
|
|
94
|
+
}
|
|
95
|
+
/** Whether a dispatch status means the partner has the emergency. */
|
|
96
|
+
function isDeliveredDispatchStatus(status) {
|
|
97
|
+
return partner_dispatch_status_enum_1.DELIVERED_PARTNER_DISPATCH_STATUSES.includes(status);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Seconds to wait before retry number `attemptNumber` (1-based), as an
|
|
101
|
+
* exponential backoff clamped to the configured ceiling.
|
|
102
|
+
*/
|
|
103
|
+
function retryDelaySeconds(attemptNumber, baseSeconds = partner_defaults_const_1.PARTNER_DISPATCH_DEFAULTS.RETRY_BASE_SECONDS, maxSeconds = partner_defaults_const_1.PARTNER_DISPATCH_DEFAULTS.RETRY_MAX_SECONDS) {
|
|
104
|
+
const safeAttempt = Number.isFinite(attemptNumber) && attemptNumber > 0 ? Math.floor(attemptNumber) : 1;
|
|
105
|
+
const delay = baseSeconds * Math.pow(2, safeAttempt - 1);
|
|
106
|
+
return Math.min(delay, maxSeconds);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Roll every dispatch on an incident up into the one status stored on the
|
|
110
|
+
* incident row.
|
|
111
|
+
*
|
|
112
|
+
* Order matters and encodes what an operator most needs to see first: anything
|
|
113
|
+
* still waiting on a human outranks a settled outcome, and a mix of delivered
|
|
114
|
+
* and failed is reported as PARTIALLY_ROUTED rather than rounded to either.
|
|
115
|
+
*/
|
|
116
|
+
function summarizeIncidentRoutingStatus(statuses) {
|
|
117
|
+
if (!statuses || statuses.length === 0)
|
|
118
|
+
return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.NOT_ROUTED;
|
|
119
|
+
if (statuses.some((s) => s === partner_dispatch_status_enum_1.PartnerDispatchStatus.PENDING_APPROVAL)) {
|
|
120
|
+
return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.AWAITING_APPROVAL;
|
|
121
|
+
}
|
|
122
|
+
if (statuses.some((s) => s === partner_dispatch_status_enum_1.PartnerDispatchStatus.QUEUED || s === partner_dispatch_status_enum_1.PartnerDispatchStatus.SENDING)) {
|
|
123
|
+
return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.PENDING;
|
|
124
|
+
}
|
|
125
|
+
const delivered = statuses.filter(isDeliveredDispatchStatus).length;
|
|
126
|
+
if (delivered === statuses.length)
|
|
127
|
+
return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.ROUTED;
|
|
128
|
+
if (delivered > 0)
|
|
129
|
+
return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.PARTIALLY_ROUTED;
|
|
130
|
+
const declined = statuses.filter((s) => s === partner_dispatch_status_enum_1.PartnerDispatchStatus.REJECTED ||
|
|
131
|
+
s === partner_dispatch_status_enum_1.PartnerDispatchStatus.CANCELLED ||
|
|
132
|
+
s === partner_dispatch_status_enum_1.PartnerDispatchStatus.EXPIRED).length;
|
|
133
|
+
if (declined === statuses.length)
|
|
134
|
+
return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.DECLINED;
|
|
135
|
+
return incident_partner_routing_status_enum_1.IncidentPartnerRoutingStatus.FAILED;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=partner-routing.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-routing.util.js","sourceRoot":"","sources":["../../../../../src/modules/partner/utils/partner-routing.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,11 @@ exports.PERMISSIONS_DATA = [
|
|
|
19
19
|
permission_actions_enum_1.PermissionActions.CREATE_PARTNER,
|
|
20
20
|
permission_actions_enum_1.PermissionActions.READ_PARTNER,
|
|
21
21
|
permission_actions_enum_1.PermissionActions.UPDATE_PARTNER,
|
|
22
|
-
permission_actions_enum_1.PermissionActions.DELETE_PARTNER
|
|
22
|
+
permission_actions_enum_1.PermissionActions.DELETE_PARTNER,
|
|
23
|
+
permission_actions_enum_1.PermissionActions.READ_PARTNER_DISPATCH,
|
|
24
|
+
permission_actions_enum_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
|
|
25
|
+
permission_actions_enum_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
|
|
26
|
+
permission_actions_enum_1.PermissionActions.RESEND_PARTNER_DISPATCH
|
|
23
27
|
]
|
|
24
28
|
},
|
|
25
29
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.data.js","sourceRoot":"","sources":["../../../../../src/modules/permission/data/permissions.data.ts"],"names":[],"mappings":";;;AAAA,8EAAqE;AACrE,8EAAqE;AAGxD,QAAA,gBAAgB,GAAiB;IAC1C;QACI,MAAM,EAAE,2CAAiB,CAAC,YAAY;QACtC,OAAO,EAAE;YACL,2CAAiB,CAAC,mBAAmB;YACrC,2CAAiB,CAAC,iBAAiB;YACnC,2CAAiB,CAAC,mBAAmB;YACrC,2CAAiB,CAAC,mBAAmB;SACxC;KACJ;IACD;QACI,MAAM,EAAE,2CAAiB,CAAC,OAAO;QACjC,OAAO,EAAE;YACL,2CAAiB,CAAC,cAAc;YAChC,2CAAiB,CAAC,YAAY;YAC9B,2CAAiB,CAAC,cAAc;YAChC,2CAAiB,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"permissions.data.js","sourceRoot":"","sources":["../../../../../src/modules/permission/data/permissions.data.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,20 @@ var PermissionActions;
|
|
|
9
9
|
PermissionActions["UPDATE_ORGANIZATION"] = "update:organization";
|
|
10
10
|
PermissionActions["DELETE_ORGANIZATION"] = "delete:organization";
|
|
11
11
|
// Module: Partner
|
|
12
|
+
// Configuring an organization's third-party service partnerships
|
|
13
|
+
// (clarion-partner-services). These four already existed and were dormant;
|
|
14
|
+
// they now govern partnership and coverage-rule CRUD.
|
|
12
15
|
PermissionActions["CREATE_PARTNER"] = "create:partner";
|
|
13
16
|
PermissionActions["READ_PARTNER"] = "read:partner";
|
|
14
17
|
PermissionActions["UPDATE_PARTNER"] = "update:partner";
|
|
15
18
|
PermissionActions["DELETE_PARTNER"] = "delete:partner";
|
|
19
|
+
// Acting on an individual routed emergency. Kept apart from the CRUD
|
|
20
|
+
// actions above because the people who confirm an ambulance (control-room
|
|
21
|
+
// operators) are not the people who configure the partnership.
|
|
22
|
+
PermissionActions["READ_PARTNER_DISPATCH"] = "read:partner-dispatch";
|
|
23
|
+
PermissionActions["APPROVE_PARTNER_DISPATCH"] = "approve:partner-dispatch";
|
|
24
|
+
PermissionActions["CANCEL_PARTNER_DISPATCH"] = "cancel:partner-dispatch";
|
|
25
|
+
PermissionActions["RESEND_PARTNER_DISPATCH"] = "resend:partner-dispatch";
|
|
16
26
|
// Module: ControlCentre
|
|
17
27
|
PermissionActions["CREATE_CONTROL_CENTRE"] = "create:control-centre";
|
|
18
28
|
PermissionActions["READ_CONTROL_CENTRE"] = "read:control-centre";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,11 @@ exports.ROLES_DATA = [
|
|
|
22
22
|
permission_1.PermissionActions.READ_PARTNER,
|
|
23
23
|
permission_1.PermissionActions.UPDATE_PARTNER,
|
|
24
24
|
permission_1.PermissionActions.DELETE_PARTNER,
|
|
25
|
+
//Partner dispatch
|
|
26
|
+
permission_1.PermissionActions.READ_PARTNER_DISPATCH,
|
|
27
|
+
permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
|
|
28
|
+
permission_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
|
|
29
|
+
permission_1.PermissionActions.RESEND_PARTNER_DISPATCH,
|
|
25
30
|
//control centre
|
|
26
31
|
permission_1.PermissionActions.CREATE_CONTROL_CENTRE,
|
|
27
32
|
permission_1.PermissionActions.READ_CONTROL_CENTRE,
|
|
@@ -68,6 +73,11 @@ exports.ROLES_DATA = [
|
|
|
68
73
|
permission_1.PermissionActions.READ_PARTNER,
|
|
69
74
|
permission_1.PermissionActions.UPDATE_PARTNER,
|
|
70
75
|
permission_1.PermissionActions.DELETE_PARTNER,
|
|
76
|
+
//Partner dispatch
|
|
77
|
+
permission_1.PermissionActions.READ_PARTNER_DISPATCH,
|
|
78
|
+
permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
|
|
79
|
+
permission_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
|
|
80
|
+
permission_1.PermissionActions.RESEND_PARTNER_DISPATCH,
|
|
71
81
|
//control centre
|
|
72
82
|
permission_1.PermissionActions.CREATE_CONTROL_CENTRE,
|
|
73
83
|
permission_1.PermissionActions.READ_CONTROL_CENTRE,
|
|
@@ -110,6 +120,8 @@ exports.ROLES_DATA = [
|
|
|
110
120
|
permission_1.PermissionActions.READ_ORGANIZATION,
|
|
111
121
|
//Partner
|
|
112
122
|
permission_1.PermissionActions.READ_PARTNER,
|
|
123
|
+
//Partner dispatch
|
|
124
|
+
permission_1.PermissionActions.READ_PARTNER_DISPATCH,
|
|
113
125
|
//control centre
|
|
114
126
|
permission_1.PermissionActions.READ_CONTROL_CENTRE,
|
|
115
127
|
//Zone
|
|
@@ -132,6 +144,13 @@ exports.ROLES_DATA = [
|
|
|
132
144
|
permissions: [
|
|
133
145
|
//Organization
|
|
134
146
|
permission_1.PermissionActions.READ_ORGANIZATION,
|
|
147
|
+
//Partner dispatch: the control room confirms and withdraws a routed
|
|
148
|
+
//emergency, but does not configure the partnership behind it.
|
|
149
|
+
permission_1.PermissionActions.READ_PARTNER,
|
|
150
|
+
permission_1.PermissionActions.READ_PARTNER_DISPATCH,
|
|
151
|
+
permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
|
|
152
|
+
permission_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
|
|
153
|
+
permission_1.PermissionActions.RESEND_PARTNER_DISPATCH,
|
|
135
154
|
//Control Centre
|
|
136
155
|
permission_1.PermissionActions.READ_CONTROL_CENTRE,
|
|
137
156
|
permission_1.PermissionActions.UPDATE_CONTROL_CENTRE,
|
|
@@ -166,6 +185,10 @@ exports.ROLES_DATA = [
|
|
|
166
185
|
permissions: [
|
|
167
186
|
//Organization
|
|
168
187
|
permission_1.PermissionActions.READ_ORGANIZATION,
|
|
188
|
+
//Partner dispatch: an operator on the desk may confirm a routed
|
|
189
|
+
//emergency; withdrawing one and resending it stay with their admin.
|
|
190
|
+
permission_1.PermissionActions.READ_PARTNER_DISPATCH,
|
|
191
|
+
permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
|
|
169
192
|
//Control Centre
|
|
170
193
|
permission_1.PermissionActions.READ_CONTROL_CENTRE,
|
|
171
194
|
//Zone
|
|
@@ -190,6 +213,9 @@ exports.ROLES_DATA = [
|
|
|
190
213
|
permissions: [
|
|
191
214
|
//Organization
|
|
192
215
|
permission_1.PermissionActions.READ_ORGANIZATION,
|
|
216
|
+
//Partner dispatch: a responder sees whether a partner is en route,
|
|
217
|
+
//and changes nothing about it.
|
|
218
|
+
permission_1.PermissionActions.READ_PARTNER_DISPATCH,
|
|
193
219
|
//Control Centre
|
|
194
220
|
permission_1.PermissionActions.READ_CONTROL_CENTRE,
|
|
195
221
|
//Zone
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -23,6 +23,7 @@ export * from './modules/tracking/index';
|
|
|
23
23
|
export * from './modules/entitlement/index';
|
|
24
24
|
export * from './modules/alert-dispatch/index';
|
|
25
25
|
export * from './modules/system-user/index';
|
|
26
|
+
export * from './modules/partner/index';
|
|
26
27
|
// Interfaces
|
|
27
28
|
export * from './interfaces/server-message';
|
|
28
29
|
export * from './interfaces/i-request-with-user';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAExC,aAAa;AACb,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,YAAY;AACZ,cAAc,0BAA0B,CAAC;AAEzC,QAAQ;AACR,cAAc,eAAe,CAAC;AAE9B,YAAY;AACZ,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uDAAuD,CAAC;AAEtE,aAAa;AACb,cAAc,oBAAoB,CAAC"}
|
package/dist/esm/kafka/topics.js
CHANGED
|
@@ -66,5 +66,8 @@ export const KAFKA_TOPICS = {
|
|
|
66
66
|
ORG_RESPONSE_UNIT_DELETED: 'organization.response-unit.deleted.v1',
|
|
67
67
|
ORG_RESPONSE_UNIT_CONTROL_CENTRE_CHANGED: 'organization.response-unit.control-centre-changed.v1',
|
|
68
68
|
ORG_RESPONSE_UNIT_STATUS_CHANGED: 'organization.response-unit.status-changed.v1',
|
|
69
|
+
// Third-party partner dispatch (producer: clarion-partner-services) - versioned.
|
|
70
|
+
PARTNER_DISPATCH_CREATED: 'partner.dispatch.created.v1',
|
|
71
|
+
PARTNER_DISPATCH_STATUS_CHANGED: 'partner.dispatch.status-changed.v1',
|
|
69
72
|
};
|
|
70
73
|
//# sourceMappingURL=topics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,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;
|
|
1
|
+
{"version":3,"file":"topics.js","sourceRoot":"","sources":["../../../src/kafka/topics.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,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"}
|
|
@@ -14,5 +14,6 @@ export const SERVICE_CONSTS = {
|
|
|
14
14
|
BILLING_SERVICE: { name: 'billing-service', port: 3012 },
|
|
15
15
|
NEWSFEED_SERVICE: { name: 'newsfeed-service', port: 3015 },
|
|
16
16
|
RESPONSE_TRACKING_SERVICE: { name: 'response-tracking-service', port: 3016 },
|
|
17
|
+
PARTNER_SERVICE: { name: 'partner-service', port: 3017 },
|
|
17
18
|
};
|
|
18
19
|
//# 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,MAAM,CAAC,MAAM,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;
|
|
1
|
+
{"version":3,"file":"service.const.js","sourceRoot":"","sources":["../../../../../src/modules/common/constants/service.const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,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,71 @@
|
|
|
1
|
+
import { IncidentChannel } from '../../incident/enums/incident-channel.enum';
|
|
2
|
+
import { PartnerLocationProvider } from '../enums/partner-location-provider.enum';
|
|
3
|
+
/**
|
|
4
|
+
* Platform defaults for third-party partner routing. A deployment overrides
|
|
5
|
+
* these with `PARTNER_*` environment variables and a partnership can override
|
|
6
|
+
* some of them again in its own configuration, so these are the last fallback,
|
|
7
|
+
* not policy.
|
|
8
|
+
*/
|
|
9
|
+
export const PARTNER_DISPATCH_DEFAULTS = {
|
|
10
|
+
/** Send attempts, including the first, before a transient failure becomes terminal. */
|
|
11
|
+
MAX_ATTEMPTS: 5,
|
|
12
|
+
/** Base of the exponential retry backoff, in seconds: 15s, 30s, 60s, 120s. */
|
|
13
|
+
RETRY_BASE_SECONDS: 15,
|
|
14
|
+
/** Ceiling for the exponential backoff, in seconds. */
|
|
15
|
+
RETRY_MAX_SECONDS: 300,
|
|
16
|
+
/** Per-request timeout for an outbound partner call, in milliseconds. */
|
|
17
|
+
REQUEST_TIMEOUT_MS: 10000,
|
|
18
|
+
/** Timeout for the partner authentication exchange, in milliseconds. */
|
|
19
|
+
AUTH_TIMEOUT_MS: 8000,
|
|
20
|
+
/**
|
|
21
|
+
* How long a MANUAL dispatch waits for a decision before it expires, in
|
|
22
|
+
* minutes. An hour is deliberately generous: an expired ambulance request is
|
|
23
|
+
* a worse outcome than a stale one, and an operator can always cancel.
|
|
24
|
+
*/
|
|
25
|
+
APPROVAL_WINDOW_MINUTES: 60,
|
|
26
|
+
/** Order used when a partnership does not set its own. */
|
|
27
|
+
PRIORITY: 100,
|
|
28
|
+
/**
|
|
29
|
+
* Seconds subtracted from a partner token's advertised lifetime before it is
|
|
30
|
+
* treated as expired, so a token can never expire mid-request.
|
|
31
|
+
*/
|
|
32
|
+
TOKEN_EXPIRY_SKEW_SECONDS: 60,
|
|
33
|
+
/** Longest a partner access token is cached, whatever lifetime the partner advertises. */
|
|
34
|
+
TOKEN_MAX_CACHE_SECONDS: 24 * 60 * 60,
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* How an incident's reporting channel is described to a partner.
|
|
38
|
+
*
|
|
39
|
+
* The mobile app takes a platform fused-location fix (GPS plus network and
|
|
40
|
+
* sensors), so APP maps to FUSED rather than the narrower GPS. Every other
|
|
41
|
+
* channel is either a browser geolocation or a location an operator typed in,
|
|
42
|
+
* and NETWORK is the closest honest description of both. A partnership can
|
|
43
|
+
* override the whole map through `locationProviderByChannel` in its
|
|
44
|
+
* configuration.
|
|
45
|
+
*/
|
|
46
|
+
export const PARTNER_CHANNEL_LOCATION_PROVIDER = {
|
|
47
|
+
[IncidentChannel.APP]: PartnerLocationProvider.FUSED,
|
|
48
|
+
[IncidentChannel.WEB]: PartnerLocationProvider.NETWORK,
|
|
49
|
+
[IncidentChannel.EMAIL]: PartnerLocationProvider.NETWORK,
|
|
50
|
+
[IncidentChannel.SMS]: PartnerLocationProvider.NETWORK,
|
|
51
|
+
[IncidentChannel.PHONE]: PartnerLocationProvider.NETWORK,
|
|
52
|
+
[IncidentChannel.CHAT]: PartnerLocationProvider.NETWORK,
|
|
53
|
+
[IncidentChannel.SOCIAL_MEDIA]: PartnerLocationProvider.NETWORK,
|
|
54
|
+
[IncidentChannel.IN_PERSON]: PartnerLocationProvider.NETWORK,
|
|
55
|
+
[IncidentChannel.OTHER]: PartnerLocationProvider.NETWORK,
|
|
56
|
+
};
|
|
57
|
+
/** Field limits partner APIs impose, applied before a payload is built. */
|
|
58
|
+
export const PARTNER_FIELD_LIMITS = {
|
|
59
|
+
ADDRESS_MAX_LENGTH: 500,
|
|
60
|
+
ISSUE_MAX_LENGTH: 1000,
|
|
61
|
+
CONTACT_NAME_MAX_LENGTH: 250,
|
|
62
|
+
RELATIONSHIP_MAX_LENGTH: 50,
|
|
63
|
+
/** Emergency-contact numbers offered to a partner, primary guardian first. */
|
|
64
|
+
MAX_EMERGENCY_CONTACT_PHONE_NUMBERS: 5,
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Header carrying a caller-supplied idempotency key on routing requests. Kept
|
|
68
|
+
* here so producer and consumer cannot drift.
|
|
69
|
+
*/
|
|
70
|
+
export const PARTNER_ROUTING_IDEMPOTENCY_HEADER = 'x-partner-routing-idempotency-key';
|
|
71
|
+
//# 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,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,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;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA+D;IACzG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,KAAK;IACpD,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,OAAO;IACtD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,OAAO;IACxD,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,OAAO;IACtD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,OAAO;IACxD,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,OAAO;IACvD,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC,OAAO;IAC/D,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC,OAAO;IAC5D,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,OAAO;CAC3D,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,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;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consumer groups for the partner dispatch topics. One group per logical
|
|
3
|
+
* consumer, so adding a consumer never steals another's messages.
|
|
4
|
+
*/
|
|
5
|
+
export const PARTNER_CONSUMER_GROUPS = {
|
|
6
|
+
/** clarion-notification: tells an operator a manual dispatch needs a decision. */
|
|
7
|
+
NOTIFICATION: 'partner-dispatch-notification',
|
|
8
|
+
/** clarion-socket: pushes dispatch state to the live admin views. */
|
|
9
|
+
REALTIME: 'partner-dispatch-realtime',
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Redis channel clarion-partner-services publishes live dispatch updates on,
|
|
13
|
+
* mirroring the tracking realtime bridge that clarion-socket already subscribes
|
|
14
|
+
* to.
|
|
15
|
+
*/
|
|
16
|
+
export const PARTNER_REALTIME_CHANNEL = 'partner:dispatch:events';
|
|
17
|
+
//# 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;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,kFAAkF;IAClF,YAAY,EAAE,+BAA+B;IAC7C,qEAAqE;IACrE,QAAQ,EAAE,2BAA2B;CAC/B,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
11
|
+
import { Type } from 'class-transformer';
|
|
12
|
+
import { IsBoolean, IsEnum, IsInt, IsOptional, IsPositive, IsString, MaxLength, Min, } from 'class-validator';
|
|
13
|
+
import { IncidentEmergencyType } from '../../incident/enums/incident-emergency-type.enum';
|
|
14
|
+
import { PartnerCoverageMatchType } from '../enums/partner-coverage-match-type.enum';
|
|
15
|
+
import { PartnerRoutingMode } from '../enums/partner-routing-mode.enum';
|
|
16
|
+
import { PartnerServiceCapability } from '../enums/partner-service-capability.enum';
|
|
17
|
+
/**
|
|
18
|
+
* Declare that a kind of incident is covered by a partnership.
|
|
19
|
+
*
|
|
20
|
+
* The match key must agree with `matchType` - INCIDENT_TYPE needs
|
|
21
|
+
* `incidentTypeId`, INCIDENT_CATEGORY needs `incidentCategoryId`,
|
|
22
|
+
* EMERGENCY_TYPE needs `emergencyType`, ALL needs none. That cross-field rule is
|
|
23
|
+
* enforced by clarion-partner-services, which also checks the referenced type or
|
|
24
|
+
* category actually belongs to the tenant.
|
|
25
|
+
*/
|
|
26
|
+
export class CreatePartnerCoverageRuleDto {
|
|
27
|
+
}
|
|
28
|
+
__decorate([
|
|
29
|
+
ApiProperty({ enum: PartnerCoverageMatchType, description: 'What the rule matches incidents on.' }),
|
|
30
|
+
IsEnum(PartnerCoverageMatchType),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], CreatePartnerCoverageRuleDto.prototype, "matchType", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
ApiPropertyOptional({ description: 'Incident type id, when matchType is INCIDENT_TYPE.', example: 7 }),
|
|
35
|
+
Type(() => Number),
|
|
36
|
+
IsInt(),
|
|
37
|
+
IsPositive(),
|
|
38
|
+
IsOptional(),
|
|
39
|
+
__metadata("design:type", Number)
|
|
40
|
+
], CreatePartnerCoverageRuleDto.prototype, "incidentTypeId", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
ApiPropertyOptional({ description: 'Incident category id, when matchType is INCIDENT_CATEGORY.', example: 3 }),
|
|
43
|
+
Type(() => Number),
|
|
44
|
+
IsInt(),
|
|
45
|
+
IsPositive(),
|
|
46
|
+
IsOptional(),
|
|
47
|
+
__metadata("design:type", Number)
|
|
48
|
+
], CreatePartnerCoverageRuleDto.prototype, "incidentCategoryId", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
ApiPropertyOptional({
|
|
51
|
+
enum: IncidentEmergencyType,
|
|
52
|
+
description: 'Emergency classification, when matchType is EMERGENCY_TYPE.',
|
|
53
|
+
}),
|
|
54
|
+
IsEnum(IncidentEmergencyType),
|
|
55
|
+
IsOptional(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], CreatePartnerCoverageRuleDto.prototype, "emergencyType", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
ApiProperty({
|
|
60
|
+
enum: PartnerServiceCapability,
|
|
61
|
+
description: 'Service the partner is asked for when this rule matches. Must be one the partnership declares.',
|
|
62
|
+
example: PartnerServiceCapability.AMBULANCE,
|
|
63
|
+
}),
|
|
64
|
+
IsEnum(PartnerServiceCapability),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], CreatePartnerCoverageRuleDto.prototype, "capability", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
ApiPropertyOptional({
|
|
69
|
+
enum: PartnerRoutingMode,
|
|
70
|
+
description: 'Overrides the partnership routing mode for incidents this rule matches.',
|
|
71
|
+
}),
|
|
72
|
+
IsEnum(PartnerRoutingMode),
|
|
73
|
+
IsOptional(),
|
|
74
|
+
__metadata("design:type", String)
|
|
75
|
+
], CreatePartnerCoverageRuleDto.prototype, "routingModeOverride", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
ApiPropertyOptional({ description: 'Evaluation order. Lower goes first.', example: 100 }),
|
|
78
|
+
Type(() => Number),
|
|
79
|
+
IsInt(),
|
|
80
|
+
Min(0),
|
|
81
|
+
IsOptional(),
|
|
82
|
+
__metadata("design:type", Number)
|
|
83
|
+
], CreatePartnerCoverageRuleDto.prototype, "priority", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
ApiPropertyOptional({ description: 'Whether the rule is active. Defaults to true.', example: true }),
|
|
86
|
+
IsBoolean(),
|
|
87
|
+
IsOptional(),
|
|
88
|
+
__metadata("design:type", Boolean)
|
|
89
|
+
], CreatePartnerCoverageRuleDto.prototype, "enabled", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
ApiPropertyOptional({ description: 'Free-text note for whoever configured it.' }),
|
|
92
|
+
IsString(),
|
|
93
|
+
MaxLength(500),
|
|
94
|
+
IsOptional(),
|
|
95
|
+
__metadata("design:type", String)
|
|
96
|
+
], CreatePartnerCoverageRuleDto.prototype, "notes", void 0);
|
|
97
|
+
//# 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,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EACH,SAAS,EACT,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,GAAG,GACN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF;;;;;;;;GAQG;AACH,MAAM,OAAO,4BAA4B;CA4DxC;AAzDG;IAFC,WAAW,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IACnG,MAAM,CAAC,wBAAwB,CAAC;;+DACI;AAOrC;IALC,mBAAmB,CAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACtG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,KAAK,EAAE;IACP,UAAU,EAAE;IACZ,UAAU,EAAE;;oEACW;AAOxB;IALC,mBAAmB,CAAC,EAAE,WAAW,EAAE,4DAA4D,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC9G,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,KAAK,EAAE;IACP,UAAU,EAAE;IACZ,UAAU,EAAE;;wEACe;AAQ5B;IANC,mBAAmB,CAAC;QACjB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,6DAA6D;KAC7E,CAAC;IACD,MAAM,CAAC,qBAAqB,CAAC;IAC7B,UAAU,EAAE;;mEACyB;AAQtC;IANC,WAAW,CAAC;QACT,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,gGAAgG;QAC7G,OAAO,EAAE,wBAAwB,CAAC,SAAS;KAC9C,CAAC;IACD,MAAM,CAAC,wBAAwB,CAAC;;gEACK;AAQtC;IANC,mBAAmB,CAAC;QACjB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,yEAAyE;KACzF,CAAC;IACD,MAAM,CAAC,kBAAkB,CAAC;IAC1B,UAAU,EAAE;;yEAC4B;AAOzC;IALC,mBAAmB,CAAC,EAAE,WAAW,EAAE,qCAAqC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACzF,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,UAAU,EAAE;;8DACK;AAKlB;IAHC,mBAAmB,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpG,SAAS,EAAE;IACX,UAAU,EAAE;;6DACK;AAMlB;IAJC,mBAAmB,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IACjF,QAAQ,EAAE;IACV,SAAS,CAAC,GAAG,CAAC;IACd,UAAU,EAAE;;2DACE"}
|