Track app backup tasks in app backup view

This commit is contained in:
Johannes Zellner
2025-07-18 15:53:45 +02:00
parent f7d4f9d94e
commit b03bb5a3d7
+16 -3
View File
@@ -56,6 +56,7 @@ const autoBackupsEnabled = ref(false);
const backups = ref([]);
const editDialog = useTemplateRef('editDialog');
const restoreDialog = useTemplateRef('restoreDialog');
const backupTasks = ref([]);
async function onChangeAutoBackups(value) {
const [error] = await appsModel.configure(props.app.id, 'automatic_backup', { enable: value });
@@ -71,18 +72,20 @@ async function waitForTask(taskId) {
const [error, result] = await tasksModel.get(taskId);
if (error) return console.error(error);
if (!result.active) return refresh();
if (!result.active) {
createBusy.value = false;
return refresh();
}
setTimeout(waitForTask.bind(null, taskId), 2000);
}
async function onCreate() {
createBusy.value = true;
const [error, result] = await appsModel.backup(props.app.id);
if (error) return console.error(error);
setTimeout(() => createBusy.value = false, 2000);
await waitForTask(result);
}
@@ -181,6 +184,16 @@ onMounted(async () => {
busy.value = false;
autoBackupsEnabled.value = props.app.enableBackup;
const [error, result] = await tasksModel.getByType(`appBackup_${props.app.id}`);
if (error) return console.error(error);
if (result[0] && result[0].active) {
createBusy.value = true;
waitForTask(result[0].id);
}
backupTasks.value = result;
});
</script>