Backup API exposed to the renderer process. Provides schedule configuration, backup triggering, file management, and restore operations.

export interface ElectronBackupApi {
getScheduleConfig: () => Promise<BackupScheduleConfig>;
setScheduleConfig: (
config: BackupScheduleConfig,
) => Promise<{ success: boolean; error?: string }>;
getBackupLocation: () => Promise<{
success: boolean;
data?: string;
error?: string;
}>;
setBackupLocation: (
location: string,
) => Promise<{ success: boolean; error?: string; code?: string }>;
openBackupLocation: () => Promise<{ success: boolean; error?: string }>;
listLocalBackups: () => Promise<{
success: boolean;
data?: Array<{ name: string; timestamp: number; size: number }>;
error?: string;
}>;
readLocalBackupFile: (
filename: string,
) => Promise<{ success: boolean; data?: string; error?: string }>;
deleteBackup: (
filename: string,
) => Promise<{ success: boolean; error?: string }>;
triggerBackup: () => Promise<{
success: boolean;
backupId?: string;
error?: string;
}>;
createNow: () => Promise<{
success: boolean;
backupId?: string;
error?: string;
}>;
getBackupStatus: () => Promise<{
isRunning: boolean;
lastBackup: number | null;
nextBackup: number | null;
}>;
getBackupHistory: () => Promise<BackupHistoryEntry[]>;
clearHistory: () => Promise<{ success: boolean; error?: string }>;
restoreFromLocal: (
filename: string,
options?: { merge?: boolean },
) => Promise<{ success: boolean; errors?: string[] }>;
onBackupComplete: (
callback: (data: { backupId: string; timestamp: number }) => void,
) => () => void;
onBackupError: (callback: (error: string) => void) => () => void;
onHistoryUpdated: (callback: () => void) => () => void;
onStatusChanged: (
callback: (status: {
isRunning: boolean;
lastBackup: number | null;
nextBackup: number | null;
}) => void,
) => () => void;
}
interface ElectronBackupApi {
    getScheduleConfig: () => Promise<BackupScheduleConfig>;
    setScheduleConfig: (
        config: BackupScheduleConfig,
    ) => Promise<{ success: boolean; error?: string }>;
    getBackupLocation: () => Promise<
        { success: boolean; data?: string; error?: string },
    >;
    setBackupLocation: (
        location: string,
    ) => Promise<{ success: boolean; error?: string; code?: string }>;
    openBackupLocation: () => Promise<{ success: boolean; error?: string }>;
    listLocalBackups: () => Promise<
        {
            success: boolean;
            data?: { name: string; timestamp: number; size: number }[];
            error?: string;
        },
    >;
    readLocalBackupFile: (
        filename: string,
    ) => Promise<{ success: boolean; data?: string; error?: string }>;
    deleteBackup: (
        filename: string,
    ) => Promise<{ success: boolean; error?: string }>;
    triggerBackup: () => Promise<
        { success: boolean; backupId?: string; error?: string },
    >;
    createNow: () => Promise<
        { success: boolean; backupId?: string; error?: string },
    >;
    getBackupStatus: () => Promise<
        {
            isRunning: boolean;
            lastBackup: null
            | number;
            nextBackup: null | number;
        },
    >;
    getBackupHistory: () => Promise<BackupHistoryEntry[]>;
    clearHistory: () => Promise<{ success: boolean; error?: string }>;
    restoreFromLocal: (
        filename: string,
        options?: { merge?: boolean },
    ) => Promise<{ success: boolean; errors?: string[] }>;
    onBackupComplete: (
        callback: (data: { backupId: string; timestamp: number }) => void,
    ) => () => void;
    onBackupError: (callback: (error: string) => void) => () => void;
    onHistoryUpdated: (callback: () => void) => () => void;
    onStatusChanged: (
        callback: (
            status: {
                isRunning: boolean;
                lastBackup: null | number;
                nextBackup: null | number;
            },
        ) => void,
    ) => () => void;
}

Properties

getScheduleConfig: () => Promise<BackupScheduleConfig>
setScheduleConfig: (
    config: BackupScheduleConfig,
) => Promise<{ success: boolean; error?: string }>
getBackupLocation: () => Promise<
    { success: boolean; data?: string; error?: string },
>
setBackupLocation: (
    location: string,
) => Promise<{ success: boolean; error?: string; code?: string }>
openBackupLocation: () => Promise<{ success: boolean; error?: string }>
listLocalBackups: () => Promise<
    {
        success: boolean;
        data?: { name: string; timestamp: number; size: number }[];
        error?: string;
    },
>
readLocalBackupFile: (
    filename: string,
) => Promise<{ success: boolean; data?: string; error?: string }>
deleteBackup: (
    filename: string,
) => Promise<{ success: boolean; error?: string }>
triggerBackup: () => Promise<
    { success: boolean; backupId?: string; error?: string },
>
createNow: () => Promise<
    { success: boolean; backupId?: string; error?: string },
>
getBackupStatus: () => Promise<
    {
        isRunning: boolean;
        lastBackup: null
        | number;
        nextBackup: null | number;
    },
>
getBackupHistory: () => Promise<BackupHistoryEntry[]>
clearHistory: () => Promise<{ success: boolean; error?: string }>
restoreFromLocal: (
    filename: string,
    options?: { merge?: boolean },
) => Promise<{ success: boolean; errors?: string[] }>
onBackupComplete: (
    callback: (data: { backupId: string; timestamp: number }) => void,
) => () => void
onBackupError: (callback: (error: string) => void) => () => void
onHistoryUpdated: (callback: () => void) => () => void
onStatusChanged: (
    callback: (
        status: {
            isRunning: boolean;
            lastBackup: null | number;
            nextBackup: null | number;
        },
    ) => void,
) => () => void