import { getWithAuth, postWithAuth, patchWithAuth, deleteWithAuth } from '../fetchWithAuth'; import { extractApiError } from './apiError'; const API_BASE = `${import.meta.env.VITE_EFC_API_URL}/datastage/datastages/`; export async function fetchTaskStatus(task_id) { const url = `${import.meta.env.VITE_EFC_API_URL}/datastage/datastages/task-status/?task_id=${encodeURIComponent(task_id)}`; const res = await getWithAuth(url); if (!res.ok) throw new Error(await extractApiError(res)); return res.json(); } export async function fetchDatastages(page = 1, page_size = 10) { const url = `${API_BASE}?page=${page}&page_size=${page_size}`; const res = await getWithAuth(url); if (!res.ok) throw new Error(await extractApiError(res)); return res.json(); } export async function fetchDatastageDetail(id) { const res = await getWithAuth(`${API_BASE}${id}/`); if (!res.ok) throw new Error(await extractApiError(res)); return res.json(); } export async function createDatastage(data) { const res = await postWithAuth(API_BASE, data); if (!res.ok) throw new Error(await extractApiError(res)); return res.json(); } export async function updateDatastage(id, data) { const res = await patchWithAuth(`${API_BASE}${id}/`, data); if (!res.ok) throw new Error(await extractApiError(res)); return res.json(); } export async function deleteDatastage(id) { const res = await deleteWithAuth(`${API_BASE}${id}/`); if (!res.ok) throw new Error(await extractApiError(res)); return true; }