feat(frontend): backup jobs page

This commit is contained in:
Nicolas Meienberger
2025-11-01 17:09:43 +01:00
parent d81f3653ec
commit 18115b374c
19 changed files with 459 additions and 38 deletions

View File

@@ -670,7 +670,7 @@ export type ListRepositoriesResponses = {
}
| {
backend: "local";
path: string;
name: string;
};
createdAt: number;
id: string;
@@ -697,7 +697,7 @@ export type CreateRepositoryData = {
}
| {
backend: "local";
path: string;
name: string;
};
name: string;
compressionMode?: "auto" | "better" | "fastest" | "max" | "off";
@@ -767,7 +767,7 @@ export type GetRepositoryResponses = {
}
| {
backend: "local";
path: string;
name: string;
};
createdAt: number;
id: string;
@@ -856,7 +856,6 @@ export type RestoreSnapshotData = {
snapshotId: string;
exclude?: Array<string>;
include?: Array<string>;
path?: string;
};
path: {
name: string;
@@ -1018,6 +1017,29 @@ export type GetBackupScheduleResponses = {
lastBackupError: string | null;
lastBackupStatus: "error" | "success" | null;
nextBackupAt: number | null;
repository: {
compressionMode: "auto" | "better" | "fastest" | "max" | "off" | null;
config:
| {
accessKeyId: string;
backend: "s3";
bucket: string;
endpoint: string;
secretAccessKey: string;
}
| {
backend: "local";
name: string;
};
createdAt: number;
id: string;
lastChecked: number | null;
lastError: string | null;
name: string;
status: "error" | "healthy" | "unknown" | null;
type: "local" | "s3";
updatedAt: number;
};
repositoryId: string;
retentionPolicy: {
keepDaily?: number;
@@ -1029,6 +1051,48 @@ export type GetBackupScheduleResponses = {
keepYearly?: number;
} | null;
updatedAt: number;
volume: {
autoRemount: boolean;
config:
| {
backend: "directory";
}
| {
backend: "nfs";
exportPath: string;
server: string;
version: "3" | "4" | "4.1";
port?: number;
}
| {
backend: "smb";
password: string;
server: string;
share: string;
username: string;
vers?: "1.0" | "2.0" | "2.1" | "3.0";
port?: number;
domain?: string;
}
| {
backend: "webdav";
path: string;
server: string;
port?: number;
password?: string;
ssl?: boolean;
username?: string;
};
createdAt: number;
id: number;
lastError: string | null;
lastHealthCheck: number;
name: string;
path: string;
status: "error" | "mounted" | "unmounted";
type: "directory" | "nfs" | "smb" | "webdav";
updatedAt: number;
};
volumeId: number;
};
};