diff --git a/frontend/pages/admin/backups.vue b/frontend/pages/admin/backups.vue
index d8a32bea2d54..e3cf82d84c4a 100644
--- a/frontend/pages/admin/backups.vue
+++ b/frontend/pages/admin/backups.vue
@@ -1,6 +1,5 @@
-
-
+
{{ $globals.icons.database }}
{{ $t('settings.backup.restore-backup') }}
@@ -52,6 +51,7 @@
{{ selected }}
+
@@ -60,7 +60,16 @@
- {{ $t("settings.backup.create-heading") }}
+
+ {{ $t("settings.backup.create-heading") }}
+
+
{{ $globals.icons.delete }}
- {}" />
+ {}"/>
+
+ {{ $globals.icons.backupRestore }}
+ {{ $t("settings.backup.backup-restore") }}
+
@@ -114,6 +120,7 @@
import { computed, defineComponent, reactive, ref, toRefs, useContext, onMounted, useRoute } from "@nuxtjs/composition-api";
import { useAdminApi } from "~/composables/api";
import { AllBackups } from "~/lib/api/types/admin";
+import { alert } from "~/composables/use-toast";
export default defineComponent({
layout: "admin",
@@ -142,19 +149,23 @@ export default defineComponent({
if (!data?.error) {
refreshBackups();
+ alert.success(i18n.tc("settings.backup.backup-created"));
+ } else {
+ alert.error(i18n.tc("settings.backup.error-creating-backup-see-log-file"));
}
}
async function restoreBackup(fileName: string) {
+ state.runningRestore = true;
const { error } = await adminApi.backups.restore(fileName);
if (error) {
console.log(error);
state.importDialog = false;
- return;
+ } else {
+ alert.success(i18n.tc("settings.backup.restore-success"));
+ $auth.logout();
}
-
- $auth.logout();
}
const deleteTarget = ref("");
@@ -163,6 +174,7 @@ export default defineComponent({
const { data } = await adminApi.backups.delete(deleteTarget.value);
if (!data?.error) {
+ alert.success(i18n.tc("settings.backup.backup-deleted"));
refreshBackups();
}
}
@@ -172,6 +184,7 @@ export default defineComponent({
deleteDialog: false,
createDialog: false,
importDialog: false,
+ runningRestore: false,
search: "",
headers: [
{ text: i18n.t("general.name"), value: "name" },
@@ -186,7 +199,6 @@ export default defineComponent({
return;
}
selected.value = data.name;
- state.importDialog = true;
}
const backupsFileNameDownload = (fileName: string) => `api/admin/backups/${fileName}`;