fix: set dest endpoint and instance

This commit is contained in:
Fine 2023-05-02 22:51:30 +08:00
parent 52e55563a3
commit d267f8ae48

View File

@ -520,23 +520,23 @@ limitations under the License. -->
resp = await selectorStore.getServiceInstances({ serviceId }); resp = await selectorStore.getServiceInstances({ serviceId });
break; break;
case EntityType[6].value: case EntityType[6].value:
if (setPod) {
await updateCurrentDestPod(EntityType[6].value);
}
resp = await selectorStore.getEndpoints({ resp = await selectorStore.getEndpoints({
serviceId, serviceId,
isRelation: true, isRelation: true,
...param, ...param,
}); });
if (setPod) {
updateCurrentDestPod();
}
break; break;
case EntityType[5].value: case EntityType[5].value:
if (setPod) {
await updateCurrentDestPod(EntityType[5].value);
}
resp = await selectorStore.getServiceInstances({ resp = await selectorStore.getServiceInstances({
serviceId, serviceId,
isRelation: true, isRelation: true,
}); });
if (setPod) {
updateCurrentDestPod();
}
break; break;
case EntityType[7].value: case EntityType[7].value:
await fetchPods(EntityType[5].value, serviceId, setPod, param); await fetchPods(EntityType[5].value, serviceId, setPod, param);
@ -587,13 +587,29 @@ limitations under the License. -->
return resp; return resp;
} }
function updateCurrentDestPod() { async function updateCurrentDestPod(type: string) {
if (params.destPodId) {
let resp;
if (type === EntityType[6].value) {
resp = await selectorStore.getEndpoint(params.destPodId, true);
} else {
resp = await selectorStore.getInstance(params.destPodId, true);
}
if (resp.errors) {
return ElMessage.error(resp.errors);
}
const pod = resp.data.endpoint || resp.data.instance || {};
selectorStore.setCurrentDestPod(pod);
states.currentDestPod = pod.label;
return;
}
if (!(selectorStore.destPods.length && selectorStore.destPods[0])) { if (!(selectorStore.destPods.length && selectorStore.destPods[0])) {
selectorStore.setCurrentDestPod(null); selectorStore.setCurrentDestPod(null);
states.currentDestPod = ""; states.currentDestPod = "";
return; return;
} }
const destPod = params.destPodId || selectorStore.destPods[0].id; const destPod = selectorStore.destPods[0].id;
const currentDestPod = selectorStore.destPods.find((d: { id: string }) => d.id === destPod); const currentDestPod = selectorStore.destPods.find((d: { id: string }) => d.id === destPod);
if (!currentDestPod) { if (!currentDestPod) {
states.currentDestPod = ""; states.currentDestPod = "";