fix: simplify and stabilize runtime service routing
This commit is contained in:
@@ -76,22 +76,24 @@ function normalizeLeaseRow(
|
||||
reviewer_agent_type: reviewerAgentType,
|
||||
arbiter_agent_type: arbiterAgentType,
|
||||
owner_service_id:
|
||||
(row.owner_service_id ? normalizeServiceId(row.owner_service_id) : null) ??
|
||||
resolveRoleServiceShadow('owner', ownerAgentType) ??
|
||||
normalizeServiceId(row.owner_service_id),
|
||||
reviewer_service_id: reviewerAgentType
|
||||
? (resolveRoleServiceShadow('reviewer', reviewerAgentType) ??
|
||||
normalizeServiceId(row.reviewer_service_id!))
|
||||
: null,
|
||||
arbiter_service_id: arbiterAgentType
|
||||
? (resolveRoleServiceShadow('arbiter', arbiterAgentType) ??
|
||||
(row.arbiter_service_id
|
||||
? normalizeServiceId(row.arbiter_service_id)
|
||||
: null))
|
||||
: row.arbiter_service_id
|
||||
normalizeServiceId(SERVICE_ID),
|
||||
reviewer_service_id:
|
||||
(row.reviewer_service_id
|
||||
? normalizeServiceId(row.reviewer_service_id)
|
||||
: null) ??
|
||||
(reviewerAgentType
|
||||
? resolveRoleServiceShadow('reviewer', reviewerAgentType)
|
||||
: null),
|
||||
arbiter_service_id:
|
||||
(row.arbiter_service_id
|
||||
? normalizeServiceId(row.arbiter_service_id)
|
||||
: isArbiterEnabled()
|
||||
? ARBITER_SERVICE_ID
|
||||
: null,
|
||||
: null) ??
|
||||
(arbiterAgentType
|
||||
? resolveRoleServiceShadow('arbiter', arbiterAgentType)
|
||||
: null) ??
|
||||
(isArbiterEnabled() ? ARBITER_SERVICE_ID : null),
|
||||
owner_failover_active: false,
|
||||
activated_at: row.activated_at,
|
||||
reason: row.reason,
|
||||
@@ -211,31 +213,31 @@ export function resolveLeaseServiceId(
|
||||
): string | null {
|
||||
switch (role) {
|
||||
case 'owner':
|
||||
if (lease.owner_failover_active) {
|
||||
return normalizeServiceId(lease.owner_service_id);
|
||||
}
|
||||
return (
|
||||
(lease.owner_service_id
|
||||
? normalizeServiceId(lease.owner_service_id)
|
||||
: null) ??
|
||||
resolveRoleServiceShadow('owner', lease.owner_agent_type) ??
|
||||
normalizeServiceId(lease.owner_service_id)
|
||||
null
|
||||
);
|
||||
case 'reviewer':
|
||||
return lease.reviewer_agent_type
|
||||
? (resolveRoleServiceShadow('reviewer', lease.reviewer_agent_type) ??
|
||||
(lease.reviewer_service_id
|
||||
? normalizeServiceId(lease.reviewer_service_id)
|
||||
: null))
|
||||
: lease.reviewer_service_id
|
||||
return (
|
||||
(lease.reviewer_service_id
|
||||
? normalizeServiceId(lease.reviewer_service_id)
|
||||
: null;
|
||||
: null) ??
|
||||
(lease.reviewer_agent_type
|
||||
? resolveRoleServiceShadow('reviewer', lease.reviewer_agent_type)
|
||||
: null)
|
||||
);
|
||||
case 'arbiter':
|
||||
return lease.arbiter_agent_type
|
||||
? (resolveRoleServiceShadow('arbiter', lease.arbiter_agent_type) ??
|
||||
(lease.arbiter_service_id
|
||||
? normalizeServiceId(lease.arbiter_service_id)
|
||||
: null))
|
||||
: lease.arbiter_service_id
|
||||
return (
|
||||
(lease.arbiter_service_id
|
||||
? normalizeServiceId(lease.arbiter_service_id)
|
||||
: null;
|
||||
: null) ??
|
||||
(lease.arbiter_agent_type
|
||||
? resolveRoleServiceShadow('arbiter', lease.arbiter_agent_type)
|
||||
: null)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user