import { appendAPIURL, getHeaders } from "../apiUtils"; import { removeDoubleSlash } from "../../utils"; type EncryptionResult = { ciphertext: string; }; type EncryptionPayload = { plaintext: string; }; export async function transitEncrypt( baseMount: string, name: string, payload: EncryptionPayload, ): Promise { const request = new Request(appendAPIURL(removeDoubleSlash(`/v1/${baseMount}/encrypt/${name}`)), { method: "POST", headers: { "Content-Type": "application/json", ...getHeaders(), }, body: JSON.stringify(payload), }); const response = await fetch(request); const data = (await response.json()) as { errors?: string[]; data?: EncryptionResult; }; if (!response.ok) { throw new Error(data.errors[0]); } else { return data.data; } }