// @ts-nocheck // This file is auto-generated by @hey-api/openapi-ts import type { Client, Options as Options2, TDataShape } from './client'; import { client } from './client.gen'; import type { BrowseFilesystemData, BrowseFilesystemResponses, CancelDoctorData, CancelDoctorErrors, CancelDoctorResponses, CreateBackupScheduleData, CreateBackupScheduleResponses, CreateNotificationDestinationData, CreateNotificationDestinationResponses, CreateRepositoryData, CreateRepositoryResponses, CreateVolumeData, CreateVolumeResponses, DeleteBackupScheduleData, DeleteBackupScheduleResponses, DeleteNotificationDestinationData, DeleteNotificationDestinationErrors, DeleteNotificationDestinationResponses, DeleteRepositoryData, DeleteRepositoryResponses, DeleteSnapshotData, DeleteSnapshotResponses, DeleteSnapshotsData, DeleteSnapshotsResponses, DeleteSsoInvitationData, DeleteSsoInvitationErrors, DeleteSsoInvitationResponses, DeleteSsoProviderData, DeleteSsoProviderErrors, DeleteSsoProviderResponses, DeleteUserAccountData, DeleteUserAccountErrors, DeleteUserAccountResponses, DeleteVolumeData, DeleteVolumeResponses, DevPanelExecData, DevPanelExecErrors, DevPanelExecResponse, DevPanelExecResponses, DownloadResticPasswordData, DownloadResticPasswordResponses, DumpSnapshotData, DumpSnapshotResponses, GetAdminUsersData, GetAdminUsersResponses, GetBackupProgressData, GetBackupProgressResponses, GetBackupScheduleData, GetBackupScheduleForVolumeData, GetBackupScheduleForVolumeResponses, GetBackupScheduleResponses, GetDevPanelData, GetDevPanelResponses, GetMirrorCompatibilityData, GetMirrorCompatibilityResponses, GetMirrorSyncStatusData, GetMirrorSyncStatusResponses, GetNotificationDestinationData, GetNotificationDestinationErrors, GetNotificationDestinationResponses, GetOrgMembersData, GetOrgMembersResponses, GetPublicSsoProvidersData, GetPublicSsoProvidersResponses, GetRegistrationStatusData, GetRegistrationStatusResponses, GetRepositoryData, GetRepositoryResponses, GetRepositoryStatsData, GetRepositoryStatsResponses, GetScheduleMirrorsData, GetScheduleMirrorsResponses, GetScheduleNotificationsData, GetScheduleNotificationsResponses, GetSnapshotDetailsData, GetSnapshotDetailsResponses, GetSsoSettingsData, GetSsoSettingsResponses, GetStatusData, GetStatusResponses, GetSystemInfoData, GetSystemInfoResponses, GetUpdatesData, GetUpdatesResponses, GetUserDeletionImpactData, GetUserDeletionImpactResponses, GetVolumeData, GetVolumeErrors, GetVolumeResponses, HealthCheckVolumeData, HealthCheckVolumeErrors, HealthCheckVolumeResponses, ListBackupSchedulesData, ListBackupSchedulesResponses, ListFilesData, ListFilesResponses, ListNotificationDestinationsData, ListNotificationDestinationsResponses, ListRcloneRemotesData, ListRcloneRemotesResponses, ListRepositoriesData, ListRepositoriesResponses, ListSnapshotFilesData, ListSnapshotFilesResponses, ListSnapshotsData, ListSnapshotsResponses, ListVolumesData, ListVolumesResponses, MountVolumeData, MountVolumeResponses, RefreshRepositoryStatsData, RefreshRepositoryStatsResponses, RefreshSnapshotsData, RefreshSnapshotsResponses, RemoveOrgMemberData, RemoveOrgMemberErrors, RemoveOrgMemberResponses, ReorderBackupSchedulesData, ReorderBackupSchedulesResponses, RestoreSnapshotData, RestoreSnapshotResponses, RunBackupNowData, RunBackupNowResponses, RunForgetData, RunForgetResponses, SetRegistrationStatusData, SetRegistrationStatusResponses, StartDoctorData, StartDoctorErrors, StartDoctorResponses, StopBackupData, StopBackupErrors, StopBackupResponses, SyncMirrorData, SyncMirrorErrors, SyncMirrorResponses, TagSnapshotsData, TagSnapshotsResponses, TestConnectionData, TestConnectionResponses, TestNotificationDestinationData, TestNotificationDestinationErrors, TestNotificationDestinationResponses, UnlockRepositoryData, UnlockRepositoryResponses, UnmountVolumeData, UnmountVolumeResponses, UpdateBackupScheduleData, UpdateBackupScheduleResponses, UpdateMemberRoleData, UpdateMemberRoleErrors, UpdateMemberRoleResponses, UpdateNotificationDestinationData, UpdateNotificationDestinationErrors, UpdateNotificationDestinationResponses, UpdateRepositoryData, UpdateRepositoryErrors, UpdateRepositoryResponses, UpdateScheduleMirrorsData, UpdateScheduleMirrorsResponses, UpdateScheduleNotificationsData, UpdateScheduleNotificationsResponses, UpdateSsoProviderAutoLinkingData, UpdateSsoProviderAutoLinkingErrors, UpdateSsoProviderAutoLinkingResponses, UpdateVolumeData, UpdateVolumeErrors, UpdateVolumeResponses } from './types.gen'; export type Options = Options2 & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a * custom client. */ client?: Client; /** * You can pass arbitrary values through the `meta` object. This can be * used to access values that aren't defined as part of the SDK function. */ meta?: Record; }; /** * Get authentication system status */ export const getStatus = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/auth/status', ...options }); /** * List admin users for settings management */ export const getAdminUsers = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/auth/admin-users', ...options }); /** * Delete an account linked to a user */ export const deleteUserAccount = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/auth/admin-users/{userId}/accounts/{accountId}', ...options }); /** * Get impact of deleting a user */ export const getUserDeletionImpact = (options: Options) => (options.client ?? client).get({ url: '/api/v1/auth/deletion-impact/{userId}', ...options }); /** * Get members of the active organization */ export const getOrgMembers = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/auth/org-members', ...options }); /** * Update a member's role in the active organization */ export const updateMemberRole = (options: Options) => (options.client ?? client).patch({ url: '/api/v1/auth/org-members/{memberId}/role', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Remove a member from the active organization */ export const removeOrgMember = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/auth/org-members/{memberId}', ...options }); /** * Get public SSO providers for the instance */ export const getPublicSsoProviders = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/auth/sso-providers', ...options }); /** * Get SSO providers and invitations for the active organization */ export const getSsoSettings = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/auth/sso-settings', ...options }); /** * Delete an SSO provider */ export const deleteSsoProvider = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/auth/sso-providers/{providerId}', ...options }); /** * Update whether SSO sign-in can auto-link existing accounts by email */ export const updateSsoProviderAutoLinking = (options: Options) => (options.client ?? client).patch({ url: '/api/v1/auth/sso-providers/{providerId}/auto-linking', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Delete an SSO invitation */ export const deleteSsoInvitation = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/auth/sso-invitations/{invitationId}', ...options }); /** * List all volumes */ export const listVolumes = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/volumes', ...options }); /** * Create a new volume */ export const createVolume = (options: Options) => (options.client ?? client).post({ url: '/api/v1/volumes', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Test connection to backend */ export const testConnection = (options: Options) => (options.client ?? client).post({ url: '/api/v1/volumes/test-connection', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Delete a volume */ export const deleteVolume = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/volumes/{shortId}', ...options }); /** * Get a volume by name */ export const getVolume = (options: Options) => (options.client ?? client).get({ url: '/api/v1/volumes/{shortId}', ...options }); /** * Update a volume's configuration */ export const updateVolume = (options: Options) => (options.client ?? client).put({ url: '/api/v1/volumes/{shortId}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Mount a volume */ export const mountVolume = (options: Options) => (options.client ?? client).post({ url: '/api/v1/volumes/{shortId}/mount', ...options }); /** * Unmount a volume */ export const unmountVolume = (options: Options) => (options.client ?? client).post({ url: '/api/v1/volumes/{shortId}/unmount', ...options }); /** * Perform a health check on a volume */ export const healthCheckVolume = (options: Options) => (options.client ?? client).post({ url: '/api/v1/volumes/{shortId}/health-check', ...options }); /** * List files in a volume directory */ export const listFiles = (options: Options) => (options.client ?? client).get({ url: '/api/v1/volumes/{shortId}/files', ...options }); /** * Browse directories on the host filesystem */ export const browseFilesystem = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/volumes/filesystem/browse', ...options }); /** * List all repositories */ export const listRepositories = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/repositories', ...options }); /** * Create a new restic repository */ export const createRepository = (options: Options) => (options.client ?? client).post({ url: '/api/v1/repositories', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * List all configured rclone remotes on the host system */ export const listRcloneRemotes = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/repositories/rclone-remotes', ...options }); /** * Delete a repository */ export const deleteRepository = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/repositories/{shortId}', ...options }); /** * Get a single repository by ID */ export const getRepository = (options: Options) => (options.client ?? client).get({ url: '/api/v1/repositories/{shortId}', ...options }); /** * Update a repository's name or settings */ export const updateRepository = (options: Options) => (options.client ?? client).patch({ url: '/api/v1/repositories/{shortId}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Get repository storage and compression statistics */ export const getRepositoryStats = (options: Options) => (options.client ?? client).get({ url: '/api/v1/repositories/{shortId}/stats', ...options }); /** * Refresh repository storage and compression statistics */ export const refreshRepositoryStats = (options: Options) => (options.client ?? client).post({ url: '/api/v1/repositories/{shortId}/stats/refresh', ...options }); /** * Delete multiple snapshots from a repository */ export const deleteSnapshots = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/repositories/{shortId}/snapshots', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * List all snapshots in a repository */ export const listSnapshots = (options: Options) => (options.client ?? client).get({ url: '/api/v1/repositories/{shortId}/snapshots', ...options }); /** * Clear snapshot cache and force refresh from repository */ export const refreshSnapshots = (options: Options) => (options.client ?? client).post({ url: '/api/v1/repositories/{shortId}/snapshots/refresh', ...options }); /** * Delete a specific snapshot from a repository */ export const deleteSnapshot = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/repositories/{shortId}/snapshots/{snapshotId}', ...options }); /** * Get details of a specific snapshot */ export const getSnapshotDetails = (options: Options) => (options.client ?? client).get({ url: '/api/v1/repositories/{shortId}/snapshots/{snapshotId}', ...options }); /** * List files and directories in a snapshot */ export const listSnapshotFiles = (options: Options) => (options.client ?? client).get({ url: '/api/v1/repositories/{shortId}/snapshots/{snapshotId}/files', ...options }); /** * Download a snapshot path as a tar archive (folders) or raw file stream (single files) */ export const dumpSnapshot = (options: Options) => (options.client ?? client).get({ url: '/api/v1/repositories/{shortId}/snapshots/{snapshotId}/dump', ...options }); /** * Restore a snapshot to a target path on the filesystem */ export const restoreSnapshot = (options: Options) => (options.client ?? client).post({ url: '/api/v1/repositories/{shortId}/restore', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Cancel a running doctor operation on a repository */ export const cancelDoctor = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/repositories/{shortId}/doctor', ...options }); /** * Start an asynchronous doctor operation on a repository to fix common issues (unlock, check, repair index). The operation runs in the background and sends results via SSE events. */ export const startDoctor = (options: Options) => (options.client ?? client).post({ url: '/api/v1/repositories/{shortId}/doctor', ...options }); /** * Unlock a repository by removing all stale locks */ export const unlockRepository = (options: Options) => (options.client ?? client).post({ url: '/api/v1/repositories/{shortId}/unlock', ...options }); /** * Tag multiple snapshots in a repository */ export const tagSnapshots = (options: Options) => (options.client ?? client).post({ url: '/api/v1/repositories/{shortId}/snapshots/tag', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Execute a restic command against a repository (dev panel only) */ export const devPanelExec = (options: Options) => (options.client ?? client).sse.post({ url: '/api/v1/repositories/{shortId}/exec', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * List all backup schedules */ export const listBackupSchedules = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/backups', ...options }); /** * Create a new backup schedule for a volume */ export const createBackupSchedule = (options: Options) => (options.client ?? client).post({ url: '/api/v1/backups', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Delete a backup schedule */ export const deleteBackupSchedule = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/backups/{shortId}', ...options }); /** * Get a backup schedule by ID */ export const getBackupSchedule = (options: Options) => (options.client ?? client).get({ url: '/api/v1/backups/{shortId}', ...options }); /** * Update a backup schedule */ export const updateBackupSchedule = (options: Options) => (options.client ?? client).patch({ url: '/api/v1/backups/{shortId}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Get a backup schedule for a specific volume */ export const getBackupScheduleForVolume = (options: Options) => (options.client ?? client).get({ url: '/api/v1/backups/volume/{volumeShortId}', ...options }); /** * Trigger a backup immediately for a schedule */ export const runBackupNow = (options: Options) => (options.client ?? client).post({ url: '/api/v1/backups/{shortId}/run', ...options }); /** * Stop a backup that is currently in progress */ export const stopBackup = (options: Options) => (options.client ?? client).post({ url: '/api/v1/backups/{shortId}/stop', ...options }); /** * Manually apply retention policy to clean up old snapshots */ export const runForget = (options: Options) => (options.client ?? client).post({ url: '/api/v1/backups/{shortId}/forget', ...options }); /** * Get notification assignments for a backup schedule */ export const getScheduleNotifications = (options: Options) => (options.client ?? client).get({ url: '/api/v1/backups/{shortId}/notifications', ...options }); /** * Update notification assignments for a backup schedule */ export const updateScheduleNotifications = (options: Options) => (options.client ?? client).put({ url: '/api/v1/backups/{shortId}/notifications', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Get mirror repository assignments for a backup schedule */ export const getScheduleMirrors = (options: Options) => (options.client ?? client).get({ url: '/api/v1/backups/{shortId}/mirrors', ...options }); /** * Update mirror repository assignments for a backup schedule */ export const updateScheduleMirrors = (options: Options) => (options.client ?? client).put({ url: '/api/v1/backups/{shortId}/mirrors', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Get sync status for a specific mirror, including missing snapshots */ export const getMirrorSyncStatus = (options: Options) => (options.client ?? client).get({ url: '/api/v1/backups/{shortId}/mirrors/{mirrorShortId}/status', ...options }); /** * Sync selected snapshots to a specific mirror repository */ export const syncMirror = (options: Options) => (options.client ?? client).post({ url: '/api/v1/backups/{shortId}/mirrors/{mirrorShortId}/sync', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Get mirror compatibility info for all repositories relative to a backup schedule's primary repository */ export const getMirrorCompatibility = (options: Options) => (options.client ?? client).get({ url: '/api/v1/backups/{shortId}/mirrors/compatibility', ...options }); /** * Reorder backup schedules by providing an array of schedule short IDs in the desired order */ export const reorderBackupSchedules = (options: Options) => (options.client ?? client).post({ url: '/api/v1/backups/reorder', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Get the last known progress for a currently running backup. Returns null if no progress has been reported yet. */ export const getBackupProgress = (options: Options) => (options.client ?? client).get({ url: '/api/v1/backups/{shortId}/progress', ...options }); /** * List all notification destinations */ export const listNotificationDestinations = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/notifications/destinations', ...options }); /** * Create a new notification destination */ export const createNotificationDestination = (options: Options) => (options.client ?? client).post({ url: '/api/v1/notifications/destinations', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Delete a notification destination */ export const deleteNotificationDestination = (options: Options) => (options.client ?? client).delete({ url: '/api/v1/notifications/destinations/{id}', ...options }); /** * Get a notification destination by ID */ export const getNotificationDestination = (options: Options) => (options.client ?? client).get({ url: '/api/v1/notifications/destinations/{id}', ...options }); /** * Update a notification destination */ export const updateNotificationDestination = (options: Options) => (options.client ?? client).patch({ url: '/api/v1/notifications/destinations/{id}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Test a notification destination by sending a test message */ export const testNotificationDestination = (options: Options) => (options.client ?? client).post({ url: '/api/v1/notifications/destinations/{id}/test', ...options }); /** * Get system information including available capabilities */ export const getSystemInfo = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/system/info', ...options }); /** * Check for application updates from GitHub */ export const getUpdates = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/system/updates', ...options }); /** * Get the current registration status for new users */ export const getRegistrationStatus = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/system/registration-status', ...options }); /** * Update the registration status for new users. Requires global admin role. */ export const setRegistrationStatus = (options: Options) => (options.client ?? client).put({ url: '/api/v1/system/registration-status', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Download the organization's Restic password for backup recovery. Requires organization owner or admin role and password re-authentication. */ export const downloadResticPassword = (options: Options) => (options.client ?? client).post({ url: '/api/v1/system/restic-password', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); /** * Get the dev panel status */ export const getDevPanel = (options?: Options) => (options?.client ?? client).get({ url: '/api/v1/system/dev-panel', ...options });