mirror of https://github.com/halo-dev/halo-admin
perf: retry
parent
21d5fbb8c3
commit
d3875c6ff6
|
@ -14,11 +14,13 @@ import menu from "./setup-data/menu.json";
|
||||||
import menuItems from "./setup-data/menu-items.json";
|
import menuItems from "./setup-data/menu-items.json";
|
||||||
import type {
|
import type {
|
||||||
Category,
|
Category,
|
||||||
|
Plugin,
|
||||||
PostRequest,
|
PostRequest,
|
||||||
SinglePageRequest,
|
SinglePageRequest,
|
||||||
Tag,
|
Tag,
|
||||||
} from "@halo-dev/api-client";
|
} from "@halo-dev/api-client";
|
||||||
import { useThemeStore } from "@/stores/theme";
|
import { useThemeStore } from "@/stores/theme";
|
||||||
|
import { useMutation } from "@tanstack/vue-query";
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
@ -32,6 +34,24 @@ const {
|
||||||
const siteTitle = ref("");
|
const siteTitle = ref("");
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
|
|
||||||
|
const { mutate: pluginStartMutate } = useMutation({
|
||||||
|
mutationKey: ["plugin-start"],
|
||||||
|
mutationFn: async (plugin: Plugin) => {
|
||||||
|
const { data: pluginToUpdate } =
|
||||||
|
await apiClient.extension.plugin.getpluginHaloRunV1alpha1Plugin({
|
||||||
|
name: plugin.metadata.name,
|
||||||
|
});
|
||||||
|
|
||||||
|
pluginToUpdate.spec.enabled = true;
|
||||||
|
|
||||||
|
return apiClient.extension.plugin.updatepluginHaloRunV1alpha1Plugin({
|
||||||
|
name: plugin.metadata.name,
|
||||||
|
plugin: pluginToUpdate,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
retry: 3,
|
||||||
|
});
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
try {
|
try {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
|
@ -88,19 +108,7 @@ const handleSubmit = async () => {
|
||||||
|
|
||||||
for (let i = 0; i < installPluginResponses.length; i++) {
|
for (let i = 0; i < installPluginResponses.length; i++) {
|
||||||
const response = installPluginResponses[i];
|
const response = installPluginResponses[i];
|
||||||
const { data: plugin } =
|
pluginStartMutate(response.data);
|
||||||
await apiClient.extension.plugin.getpluginHaloRunV1alpha1Plugin({
|
|
||||||
name: response.data.metadata.name,
|
|
||||||
});
|
|
||||||
|
|
||||||
plugin.spec.enabled = true;
|
|
||||||
await apiClient.extension.plugin.updatepluginHaloRunV1alpha1Plugin(
|
|
||||||
{
|
|
||||||
name: response.data.metadata.name as string,
|
|
||||||
plugin,
|
|
||||||
},
|
|
||||||
{ mute: true }
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Failed to initialize preset data", error);
|
console.error("Failed to initialize preset data", error);
|
||||||
|
|
Loading…
Reference in New Issue