split uploaded and generated backups

This commit is contained in:
Julian Krauser 2025-02-03 11:03:38 +01:00
parent f8fb222ebb
commit 5cb68d92ce
11 changed files with 188 additions and 21 deletions

19
src/router/backupGuard.ts Normal file
View file

@ -0,0 +1,19 @@
import { useBackupStore } from "../stores/admin/user/backup";
export async function setBackupPage(to: any, from: any, next: any) {
const backup = useBackupStore();
let uploadPage = to.name.includes("uploaded");
if (uploadPage) {
backup.page = "uploaded";
backup.backups = [];
} else {
backup.page = "generated";
backup.backups = [];
}
backup.fetchBackups();
next();
}

View file

@ -10,6 +10,7 @@ import { resetMemberStores, setMemberId } from "./memberGuard";
import { resetProtocolStores, setProtocolId } from "./protocolGuard";
import { resetNewsletterStores, setNewsletterId } from "./newsletterGuard";
import { config } from "../config";
import { setBackupPage } from "./backupGuard";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@ -636,10 +637,29 @@ const router = createRouter({
},
{
path: "backup",
name: "admin-user-backup",
component: () => import("@/views/admin/user/backup/Backup.vue"),
name: "admin-user-backup-route",
component: () => import("@/views/admin/user/backup/BackupRouting.vue"),
meta: { type: "read", section: "user", module: "backup" },
beforeEnter: [abilityAndNavUpdate],
children: [
{
path: "",
name: "admin-user-backup",
redirect: { name: "admin-user-backup-generated" },
},
{
path: "generated",
name: "admin-user-backup-generated",
component: () => import("@/views/admin/user/backup/GeneratedBackup.vue"),
beforeEnter: [setBackupPage],
},
{
path: "uploads",
name: "admin-user-backup-uploaded",
component: () => import("@/views/admin/user/backup/UploadedBackup.vue"),
beforeEnter: [setBackupPage],
},
],
},
],
},