fix: set endpoint and instance selectors with url parameters (#264)

This commit is contained in:
Fine0830 2023-05-03 00:16:09 +08:00 committed by GitHub
parent 921c961dc1
commit 903cf8e9bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -261,6 +261,7 @@ limitations under the License. -->
await selectorStore.getService(String(params.serviceId)); await selectorStore.getService(String(params.serviceId));
states.currentService = selectorStore.currentService.value; states.currentService = selectorStore.currentService.value;
const e = String(params.entity).split("Relation")[0]; const e = String(params.entity).split("Relation")[0];
await fetchPods(e, selectorStore.currentService.id, true); await fetchPods(e, selectorStore.currentService.id, true);
} }
@ -507,10 +508,17 @@ limitations under the License. -->
let resp; let resp;
switch (type) { switch (type) {
case EntityType[2].value: case EntityType[2].value:
if (params.podId) {
if (setPod) {
await setCurrentEndpoint();
}
resp = await selectorStore.getEndpoints({ serviceId, ...param });
} else {
resp = await selectorStore.getEndpoints({ serviceId, ...param }); resp = await selectorStore.getEndpoints({ serviceId, ...param });
if (setPod) { if (setPod) {
updateCurrentPod(); updateCurrentPod();
} }
}
break; break;
case EntityType[3].value: case EntityType[3].value:
resp = await selectorStore.getServiceInstances({ serviceId }); resp = await selectorStore.getServiceInstances({ serviceId });
@ -519,6 +527,16 @@ limitations under the License. -->
} }
break; break;
case EntityType[6].value: case EntityType[6].value:
if (params.destPodId) {
if (setPod) {
await updateCurrentDestEndpoint();
}
resp = await selectorStore.getEndpoints({
serviceId,
isRelation: true,
...param,
});
} else {
resp = await selectorStore.getEndpoints({ resp = await selectorStore.getEndpoints({
serviceId, serviceId,
isRelation: true, isRelation: true,
@ -527,6 +545,7 @@ limitations under the License. -->
if (setPod) { if (setPod) {
updateCurrentDestPod(); updateCurrentDestPod();
} }
}
break; break;
case EntityType[5].value: case EntityType[5].value:
resp = await selectorStore.getServiceInstances({ resp = await selectorStore.getServiceInstances({
@ -585,6 +604,19 @@ limitations under the License. -->
} }
return resp; return resp;
} }
async function updateCurrentDestEndpoint() {
const resp = await selectorStore.getEndpoint(params.destPodId, true);
if (resp.errors) {
return ElMessage.error(resp.errors);
}
const pod = resp.data.endpoint || {};
if (!pod.id) {
ElMessage.info("The Destination endpoint ID doesn't exist.");
}
selectorStore.setCurrentDestPod(pod);
states.currentDestPod = pod.label;
}
function updateCurrentDestPod() { function updateCurrentDestPod() {
if (!(selectorStore.destPods.length && selectorStore.destPods[0])) { if (!(selectorStore.destPods.length && selectorStore.destPods[0])) {
@ -597,11 +629,27 @@ limitations under the License. -->
if (!currentDestPod) { if (!currentDestPod) {
states.currentDestPod = ""; states.currentDestPod = "";
selectorStore.setCurrentDestPod(null); selectorStore.setCurrentDestPod(null);
ElMessage.info(
`The Destination ${params.entity === EntityType[6].value ? "endpoint" : "instance"} ID doesn't exist.`,
);
return; return;
} }
selectorStore.setCurrentDestPod(currentDestPod); selectorStore.setCurrentDestPod(currentDestPod);
states.currentDestPod = currentDestPod.label; states.currentDestPod = currentDestPod.label;
} }
async function setCurrentEndpoint() {
const resp = await selectorStore.getEndpoint(params.podId);
if (resp.errors) {
return ElMessage.error(resp.errors);
}
const pod = resp.data.endpoint || {};
if (!pod.id) {
ElMessage.info("The endpoint ID doesn't exist.");
}
selectorStore.setCurrentPod(pod);
states.currentPod = pod.label || "";
}
function updateCurrentPod() { function updateCurrentPod() {
if (!(selectorStore.pods.length && selectorStore.pods[0])) { if (!(selectorStore.pods.length && selectorStore.pods[0])) {
selectorStore.setCurrentPod(null); selectorStore.setCurrentPod(null);
@ -613,6 +661,7 @@ limitations under the License. -->
if (!currentPod) { if (!currentPod) {
selectorStore.setCurrentPod(null); selectorStore.setCurrentPod(null);
states.currentPod = ""; states.currentPod = "";
ElMessage.info(`The ${params.entity === EntityType[2].value ? "endpoint" : "instance"} ID doesn't exist.`);
return; return;
} }
selectorStore.setCurrentPod(currentPod); selectorStore.setCurrentPod(currentPod);