Files
arcum42-ComfyUI_SageUtils/js/shared/api/datasetTextApi.js
T

78 lines
2.1 KiB
JavaScript

/**
* Dataset Text API Wrapper
* Centralizes calls for checking, reading, and saving dataset text files.
*/
import { api } from '../../../../scripts/api.js';
/**
* Check if a dataset text file exists for an image
* @param {string} imagePath
* @returns {Promise<{exists: boolean}>}
*/
export async function check(imagePath) {
const response = await api.fetchApi('/sage_utils/check_dataset_text', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ image_path: imagePath })
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const result = await response.json();
if (!result.success) {
throw new Error(result.error || 'Failed to check dataset text');
}
return { exists: !!result.exists };
}
/**
* Read the dataset text file for an image
* @param {string} imagePath
* @returns {Promise<{content: string}>}
*/
export async function read(imagePath) {
const response = await api.fetchApi('/sage_utils/read_dataset_text', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ image_path: imagePath })
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const result = await response.json();
if (!result.success) {
throw new Error(result.error || 'Failed to read dataset text');
}
return { content: result.content || '' };
}
/**
* Save content to the dataset text file for an image
* @param {string} imagePath
* @param {string} content
* @returns {Promise<void>}
*/
export async function save(imagePath, content) {
const response = await api.fetchApi('/sage_utils/save_dataset_text', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ image_path: imagePath, content })
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const result = await response.json();
if (!result.success) {
throw new Error(result.error || 'Failed to save dataset text');
}
}