feat(jslib): add vault options functions

feat/selector-improvements
Tomáš Mládek 2023-11-08 22:14:41 +01:00
parent d8fa68f558
commit 587917fb3f
1 changed files with 30 additions and 0 deletions

View File

@ -259,4 +259,34 @@ export class UpEndApi {
await this.wasmExtensions.init();
return this.wasmExtensions.components_to_addr(components);
}
public async getVaultOptions(): Promise<VaultOptions> {
const response = await fetch(`${this.apiUrl}/options`);
return await response.json();
}
public async setVaultOptions(options: VaultOptions): Promise<void> {
const payload: Record<string, unknown> = {};
if (options.blob_mode) {
const blob_mode: Record<string, unknown> = {};
blob_mode[options.blob_mode] = null;
payload["blob_mode"] = blob_mode;
}
const response = await fetch(`${this.apiUrl}/options`, {
method: "PUT",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
if (!response.ok) {
throw Error(await response.text());
}
}
}
export type VaultBlobMode = "Flat" | "Mirror" | "Incoming";
export interface VaultOptions {
blob_mode: VaultBlobMode;
}