mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2025-06-12 12:58:02 +02:00
86 lines
2.0 KiB
TypeScript
86 lines
2.0 KiB
TypeScript
/**
|
|
* basic server health
|
|
*/
|
|
|
|
import type { ImageRequest } from "../stores/imageCreateStore";
|
|
|
|
// when we are on dev we want to specifiy 9000 as the port for the backend
|
|
// when we are on prod we want be realtive to the current url
|
|
export const API_URL = import.meta.env.DEV ? "http://localhost:9000" : "";
|
|
|
|
export const HEALTH_PING_INTERVAL = 5000; // 5 seconds
|
|
export const healthPing = async () => {
|
|
const pingUrl = `${API_URL}/ping`;
|
|
const response = await fetch(pingUrl);
|
|
const data = await response.json();
|
|
return data;
|
|
};
|
|
|
|
/**
|
|
* the local list of modifications
|
|
*/
|
|
export const loadModifications = async () => {
|
|
const response = await fetch(`${API_URL}/modifiers.json`);
|
|
const data = await response.json();
|
|
return data;
|
|
};
|
|
|
|
export const getSaveDirectory = async () => {
|
|
const response = await fetch(`${API_URL}/output_dir`);
|
|
const data = await response.json();
|
|
return data[0];
|
|
};
|
|
|
|
export const KEY_CONFIG = "config";
|
|
export const getConfig = async () => {
|
|
const response = await fetch(`${API_URL}/app_config`);
|
|
const data = await response.json();
|
|
return data;
|
|
};
|
|
|
|
export const KEY_TOGGLE_CONFIG = "toggle_config";
|
|
export const toggleBetaConfig = async (branch: string) => {
|
|
const response = await fetch(`${API_URL}/app_config`, {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
body: JSON.stringify({
|
|
update_branch: branch,
|
|
}),
|
|
});
|
|
const data = await response.json();
|
|
return data;
|
|
};
|
|
|
|
/**
|
|
* post a new request for an image
|
|
*/
|
|
// TODO; put hese some place better
|
|
export type ImageOutput = {
|
|
data: string;
|
|
path_abs: string | null;
|
|
seed: number;
|
|
};
|
|
|
|
export type ImageReturnType = {
|
|
output: ImageOutput[];
|
|
request: {};
|
|
status: string;
|
|
session_id: string;
|
|
};
|
|
|
|
export const MakeImageKey = "MakeImage";
|
|
export const doMakeImage = async (reqBody: ImageRequest) => {
|
|
const res = await fetch(`${API_URL}/image`, {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
body: JSON.stringify(reqBody),
|
|
});
|
|
|
|
const data = await res.json();
|
|
return data;
|
|
};
|