import { getDefaultClient } from '../../factory' import type { DatasetCreateDatasetReqVO, DatasetCreateDatasetRespVO, DatasetCreateNodeReqVO, DatasetCreateNodeRespVO, DatasetDeleteRespVO, DatasetDeleteDatasetRespVO, DatasetExportRespVO, DatasetRow, DatasetGetNodeRespVO, DatasetImportReqVO, DatasetListRespVO, DatasetMoveReqVO, DatasetMoveRespVO, DatasetUpdateReqVO, DatasetUpdateRespVO } from '../../types/dataset' // @endpoint POST /apps/:app_id/dataset // @controller Dataset.CreateDataset export async function createNewDataset( endpoint: string, data: DatasetCreateDatasetReqVO ): Promise { return getDefaultClient().post(endpoint, data) } // @endpoint POST /apps/:app_id/dataset/:id/:node_id // @controller Dataset.CreateNode export async function createNewNode( endpoint: string, datasetId: string, parentId: string, data: DatasetCreateNodeReqVO ): Promise { return getDefaultClient().post(`${endpoint}/${datasetId}/${parentId}`, data) } // @endpoint DELETE /apps/:app_id/dataset/:id/:node_id // @controller Dataset.Delete export async function deleteSingleNode( endpoint: string, datasetId: string, nodeId: string ): Promise { return getDefaultClient().delete(`${endpoint}/${datasetId}/${nodeId}`) } // @endpoint DELETE /apps/:app_id/dataset/:id // @controller Dataset.DeleteDataset export async function deleteSingleDataset( endpoint: string, datasetId: string ): Promise { return getDefaultClient().delete(`${endpoint}/${datasetId}`) } // @endpoint POST /apps/:app_id/dataset/export/:id // @controller Dataset.Export export async function exportSingleDataset( endpoint: string, datasetId: string ): Promise { return getDefaultClient().post(`${endpoint}/export/${datasetId}`) } // @endpoint GET /apps/:app_id/dataset/:id/:node_id/child // @controller Dataset.GetChild export async function getChildNode( endpoint: string, datasetId: string, parentId: string ): Promise { return getDefaultClient().get(`${endpoint}/${datasetId}/${parentId}/child`) } // @endpoint GET /apps/:app_id/dataset/:id/:node_id // @controller Dataset.GetNode export async function getSingleNode( endpoint: string, datasetId: string, nodeId: string ): Promise { return getDefaultClient().get(`${endpoint}/${datasetId}/${nodeId}`) } // @endpoint POST /apps/:app_id/dataset/import // @controller Dataset.Import export async function importNewDataset( endpoint: string, data: DatasetImportReqVO ): Promise { return getDefaultClient().post(`${endpoint}/import`, data) } // Dataset import with state management (similar to entity import) export async function importDatasetWithState( endpoint: string, data: DatasetImportReqVO & { _import_action?: string; task_id?: string; config?: any } ): Promise { return getDefaultClient().post(`${endpoint}/import`, data) } // @endpoint GET /apps/:app_id/dataset // @controller Dataset.List export async function listAllDatasets( endpoint: string ): Promise { return getDefaultClient().get(endpoint) } // @endpoint PUT /apps/:app_id/dataset/:id/:node_id/move // @controller Dataset.Move export async function moveSingleNode( endpoint: string, datasetId: string, nodeId: string, data: DatasetMoveReqVO ): Promise { return getDefaultClient().put(`${endpoint}/${datasetId}/${nodeId}/move`, data) } // @endpoint PUT /apps/:app_id/dataset/:id/:node_id // @controller Dataset.Update export async function updateSingleNode( endpoint: string, datasetId: string, nodeId: string, data: DatasetUpdateReqVO ): Promise { return getDefaultClient().put(`${endpoint}/${datasetId}/${nodeId}`, data) }