mirror of
https://github.com/AlchemillaHQ/Sylve.git
synced 2026-06-14 00:46:34 +03:00
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { APIResponseSchema, type APIResponse } from '$lib/types/common';
|
|
import { DiskSchema, type Disk } from '$lib/types/disk/disk';
|
|
import { apiRequest } from '$lib/utils/http';
|
|
import { z } from 'zod/v4';
|
|
|
|
export async function listDisks(): Promise<Disk[]> {
|
|
return await apiRequest('/disk/list', z.array(DiskSchema), 'GET');
|
|
}
|
|
|
|
export async function destroyDisk(disk: string): Promise<APIResponse> {
|
|
return await apiRequest(`/disk/wipe`, APIResponseSchema, 'POST', {
|
|
device: disk
|
|
});
|
|
}
|
|
|
|
export async function destroyPartition(partition: string): Promise<APIResponse> {
|
|
return await apiRequest(`/disk/delete-partition`, APIResponseSchema, 'POST', {
|
|
device: partition
|
|
});
|
|
}
|
|
|
|
export async function initializeGPT(disk: string): Promise<APIResponse> {
|
|
return await apiRequest(`/disk/initialize-gpt`, APIResponseSchema, 'POST', {
|
|
device: disk
|
|
});
|
|
}
|
|
|
|
export async function createPartitions(disk: string, sizes: number[]): Promise<APIResponse> {
|
|
return await apiRequest(`/disk/create-partitions`, APIResponseSchema, 'POST', {
|
|
device: disk,
|
|
sizes
|
|
});
|
|
}
|