Files
diodiogod-TTS-Audio-Suite/web/character_alias_manager_api.js

39 lines
1.2 KiB
JavaScript

import { api } from "/scripts/api.js";
const ENDPOINT = "/api/tts-audio-suite/character-aliases";
async function request(path = "", options = {}) {
const response = await api.fetchApi(`${ENDPOINT}${path}`, options);
let payload = {};
try {
payload = await response.json();
} catch {
// The status below is more useful than a secondary JSON parse error.
}
if (!response.ok) {
throw new Error(payload.error || `Character alias request failed (${response.status})`);
}
return payload;
}
export function loadCharacterAliases(forceRefresh = false) {
return request(forceRefresh ? "?refresh=1" : "");
}
export function saveCharacterAliases(aliases, groups) {
return request("", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ aliases, groups }),
});
}
export function resetCharacterAliases() {
return request("/reset", { method: "POST" });
}
export function characterPreviewUrl(characterName) {
const params = new URLSearchParams({ character_name: characterName });
return api.apiURL(`/api/tts-audio-suite/character-preview?${params.toString()}`);
}