mirror of
https://github.com/nicotsx/ironmount.git
synced 2025-12-10 12:10:51 +01:00
472 lines
13 KiB
TypeScript
472 lines
13 KiB
TypeScript
// This file is auto-generated by @hey-api/openapi-ts
|
|
|
|
import type { Options as ClientOptions, TDataShape, Client } from "./client";
|
|
import type {
|
|
RegisterData,
|
|
RegisterResponses,
|
|
RegisterErrors,
|
|
LoginData,
|
|
LoginResponses,
|
|
LoginErrors,
|
|
LogoutData,
|
|
LogoutResponses,
|
|
GetMeData,
|
|
GetMeResponses,
|
|
GetStatusData,
|
|
GetStatusResponses,
|
|
ListVolumesData,
|
|
ListVolumesResponses,
|
|
CreateVolumeData,
|
|
CreateVolumeResponses,
|
|
TestConnectionData,
|
|
TestConnectionResponses,
|
|
DeleteVolumeData,
|
|
DeleteVolumeResponses,
|
|
GetVolumeData,
|
|
GetVolumeResponses,
|
|
GetVolumeErrors,
|
|
UpdateVolumeData,
|
|
UpdateVolumeResponses,
|
|
UpdateVolumeErrors,
|
|
GetContainersUsingVolumeData,
|
|
GetContainersUsingVolumeResponses,
|
|
GetContainersUsingVolumeErrors,
|
|
MountVolumeData,
|
|
MountVolumeResponses,
|
|
UnmountVolumeData,
|
|
UnmountVolumeResponses,
|
|
HealthCheckVolumeData,
|
|
HealthCheckVolumeResponses,
|
|
HealthCheckVolumeErrors,
|
|
ListFilesData,
|
|
ListFilesResponses,
|
|
ListRepositoriesData,
|
|
ListRepositoriesResponses,
|
|
CreateRepositoryData,
|
|
CreateRepositoryResponses,
|
|
DeleteRepositoryData,
|
|
DeleteRepositoryResponses,
|
|
GetRepositoryData,
|
|
GetRepositoryResponses,
|
|
ListSnapshotsData,
|
|
ListSnapshotsResponses,
|
|
ListSnapshotFilesData,
|
|
ListSnapshotFilesResponses,
|
|
ListBackupSchedulesData,
|
|
ListBackupSchedulesResponses,
|
|
CreateBackupScheduleData,
|
|
CreateBackupScheduleResponses,
|
|
DeleteBackupScheduleData,
|
|
DeleteBackupScheduleResponses,
|
|
GetBackupScheduleData,
|
|
GetBackupScheduleResponses,
|
|
UpdateBackupScheduleData,
|
|
UpdateBackupScheduleResponses,
|
|
GetBackupScheduleForVolumeData,
|
|
GetBackupScheduleForVolumeResponses,
|
|
UpsertBackupScheduleData,
|
|
UpsertBackupScheduleResponses,
|
|
RunBackupNowData,
|
|
RunBackupNowResponses,
|
|
} from "./types.gen";
|
|
import { client as _heyApiClient } from "./client.gen";
|
|
|
|
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<
|
|
TData,
|
|
ThrowOnError
|
|
> & {
|
|
/**
|
|
* 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<string, unknown>;
|
|
};
|
|
|
|
/**
|
|
* Register a new user
|
|
*/
|
|
export const register = <ThrowOnError extends boolean = false>(options?: Options<RegisterData, ThrowOnError>) => {
|
|
return (options?.client ?? _heyApiClient).post<RegisterResponses, RegisterErrors, ThrowOnError>({
|
|
url: "/api/v1/auth/register",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options?.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Login with username and password
|
|
*/
|
|
export const login = <ThrowOnError extends boolean = false>(options?: Options<LoginData, ThrowOnError>) => {
|
|
return (options?.client ?? _heyApiClient).post<LoginResponses, LoginErrors, ThrowOnError>({
|
|
url: "/api/v1/auth/login",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options?.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Logout current user
|
|
*/
|
|
export const logout = <ThrowOnError extends boolean = false>(options?: Options<LogoutData, ThrowOnError>) => {
|
|
return (options?.client ?? _heyApiClient).post<LogoutResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/auth/logout",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Get current authenticated user
|
|
*/
|
|
export const getMe = <ThrowOnError extends boolean = false>(options?: Options<GetMeData, ThrowOnError>) => {
|
|
return (options?.client ?? _heyApiClient).get<GetMeResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/auth/me",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Get authentication system status
|
|
*/
|
|
export const getStatus = <ThrowOnError extends boolean = false>(options?: Options<GetStatusData, ThrowOnError>) => {
|
|
return (options?.client ?? _heyApiClient).get<GetStatusResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/auth/status",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* List all volumes
|
|
*/
|
|
export const listVolumes = <ThrowOnError extends boolean = false>(options?: Options<ListVolumesData, ThrowOnError>) => {
|
|
return (options?.client ?? _heyApiClient).get<ListVolumesResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/volumes",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Create a new volume
|
|
*/
|
|
export const createVolume = <ThrowOnError extends boolean = false>(
|
|
options?: Options<CreateVolumeData, ThrowOnError>,
|
|
) => {
|
|
return (options?.client ?? _heyApiClient).post<CreateVolumeResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/volumes",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options?.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Test connection to backend
|
|
*/
|
|
export const testConnection = <ThrowOnError extends boolean = false>(
|
|
options?: Options<TestConnectionData, ThrowOnError>,
|
|
) => {
|
|
return (options?.client ?? _heyApiClient).post<TestConnectionResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/volumes/test-connection",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options?.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Delete a volume
|
|
*/
|
|
export const deleteVolume = <ThrowOnError extends boolean = false>(
|
|
options: Options<DeleteVolumeData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).delete<DeleteVolumeResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/volumes/{name}",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Get a volume by name
|
|
*/
|
|
export const getVolume = <ThrowOnError extends boolean = false>(options: Options<GetVolumeData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).get<GetVolumeResponses, GetVolumeErrors, ThrowOnError>({
|
|
url: "/api/v1/volumes/{name}",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Update a volume's configuration
|
|
*/
|
|
export const updateVolume = <ThrowOnError extends boolean = false>(
|
|
options: Options<UpdateVolumeData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).put<UpdateVolumeResponses, UpdateVolumeErrors, ThrowOnError>({
|
|
url: "/api/v1/volumes/{name}",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Get containers using a volume by name
|
|
*/
|
|
export const getContainersUsingVolume = <ThrowOnError extends boolean = false>(
|
|
options: Options<GetContainersUsingVolumeData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).get<
|
|
GetContainersUsingVolumeResponses,
|
|
GetContainersUsingVolumeErrors,
|
|
ThrowOnError
|
|
>({
|
|
url: "/api/v1/volumes/{name}/containers",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Mount a volume
|
|
*/
|
|
export const mountVolume = <ThrowOnError extends boolean = false>(options: Options<MountVolumeData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).post<MountVolumeResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/volumes/{name}/mount",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Unmount a volume
|
|
*/
|
|
export const unmountVolume = <ThrowOnError extends boolean = false>(
|
|
options: Options<UnmountVolumeData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).post<UnmountVolumeResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/volumes/{name}/unmount",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Perform a health check on a volume
|
|
*/
|
|
export const healthCheckVolume = <ThrowOnError extends boolean = false>(
|
|
options: Options<HealthCheckVolumeData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).post<HealthCheckVolumeResponses, HealthCheckVolumeErrors, ThrowOnError>({
|
|
url: "/api/v1/volumes/{name}/health-check",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* List files in a volume directory
|
|
*/
|
|
export const listFiles = <ThrowOnError extends boolean = false>(options: Options<ListFilesData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).get<ListFilesResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/volumes/{name}/files",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* List all repositories
|
|
*/
|
|
export const listRepositories = <ThrowOnError extends boolean = false>(
|
|
options?: Options<ListRepositoriesData, ThrowOnError>,
|
|
) => {
|
|
return (options?.client ?? _heyApiClient).get<ListRepositoriesResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/repositories",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Create a new restic repository
|
|
*/
|
|
export const createRepository = <ThrowOnError extends boolean = false>(
|
|
options?: Options<CreateRepositoryData, ThrowOnError>,
|
|
) => {
|
|
return (options?.client ?? _heyApiClient).post<CreateRepositoryResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/repositories",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options?.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Delete a repository
|
|
*/
|
|
export const deleteRepository = <ThrowOnError extends boolean = false>(
|
|
options: Options<DeleteRepositoryData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).delete<DeleteRepositoryResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/repositories/{name}",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Get a single repository by name
|
|
*/
|
|
export const getRepository = <ThrowOnError extends boolean = false>(
|
|
options: Options<GetRepositoryData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).get<GetRepositoryResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/repositories/{name}",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* List all snapshots in a repository
|
|
*/
|
|
export const listSnapshots = <ThrowOnError extends boolean = false>(
|
|
options: Options<ListSnapshotsData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).get<ListSnapshotsResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/repositories/{name}/snapshots",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* List files and directories in a snapshot
|
|
*/
|
|
export const listSnapshotFiles = <ThrowOnError extends boolean = false>(
|
|
options: Options<ListSnapshotFilesData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).get<ListSnapshotFilesResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/repositories/{name}/snapshots/{snapshotId}/files",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* List all backup schedules
|
|
*/
|
|
export const listBackupSchedules = <ThrowOnError extends boolean = false>(
|
|
options?: Options<ListBackupSchedulesData, ThrowOnError>,
|
|
) => {
|
|
return (options?.client ?? _heyApiClient).get<ListBackupSchedulesResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Create a new backup schedule for a volume
|
|
*/
|
|
export const createBackupSchedule = <ThrowOnError extends boolean = false>(
|
|
options?: Options<CreateBackupScheduleData, ThrowOnError>,
|
|
) => {
|
|
return (options?.client ?? _heyApiClient).post<CreateBackupScheduleResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options?.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Delete a backup schedule
|
|
*/
|
|
export const deleteBackupSchedule = <ThrowOnError extends boolean = false>(
|
|
options: Options<DeleteBackupScheduleData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).delete<DeleteBackupScheduleResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups/{scheduleId}",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Get a backup schedule by ID
|
|
*/
|
|
export const getBackupSchedule = <ThrowOnError extends boolean = false>(
|
|
options: Options<GetBackupScheduleData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).get<GetBackupScheduleResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups/{scheduleId}",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Update a backup schedule
|
|
*/
|
|
export const updateBackupSchedule = <ThrowOnError extends boolean = false>(
|
|
options: Options<UpdateBackupScheduleData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).patch<UpdateBackupScheduleResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups/{scheduleId}",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Get a backup schedule for a specific volume
|
|
*/
|
|
export const getBackupScheduleForVolume = <ThrowOnError extends boolean = false>(
|
|
options: Options<GetBackupScheduleForVolumeData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).get<GetBackupScheduleForVolumeResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups/volume/{volumeId}",
|
|
...options,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Create or update a backup schedule for a volume
|
|
*/
|
|
export const upsertBackupSchedule = <ThrowOnError extends boolean = false>(
|
|
options?: Options<UpsertBackupScheduleData, ThrowOnError>,
|
|
) => {
|
|
return (options?.client ?? _heyApiClient).put<UpsertBackupScheduleResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups/upsert",
|
|
...options,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
...options?.headers,
|
|
},
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Trigger a backup immediately for a schedule
|
|
*/
|
|
export const runBackupNow = <ThrowOnError extends boolean = false>(
|
|
options: Options<RunBackupNowData, ThrowOnError>,
|
|
) => {
|
|
return (options.client ?? _heyApiClient).post<RunBackupNowResponses, unknown, ThrowOnError>({
|
|
url: "/api/v1/backups/{scheduleId}/run",
|
|
...options,
|
|
});
|
|
};
|