Track app backup tasks in app backup view
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user