|
|
import axios from 'axios'; |
|
|
|
|
|
const BASE_URL = "https://joey7938-stt.hf.space" |
|
|
|
|
|
|
|
|
interface FileNameListResponse { |
|
|
files: string[]; |
|
|
} |
|
|
interface FileUploadResponse { |
|
|
message: string; |
|
|
} |
|
|
interface FileDeleteResponse { |
|
|
message: string; |
|
|
} |
|
|
|
|
|
|
|
|
async function getFileNameList(): Promise<FileNameListResponse> { |
|
|
try { |
|
|
const response = await axios.get<FileNameListResponse>(`${BASE_URL}/file/getFileNameList`); |
|
|
return response.data; |
|
|
} catch (error: any) { |
|
|
throw new Error(error.response?.data?.error); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
async function uploadFile(buffer: Buffer, fileName: string): Promise<FileUploadResponse> { |
|
|
try { |
|
|
const response = await axios.post<FileUploadResponse>(`${BASE_URL}/file/uploadFile`, buffer, { |
|
|
headers: { |
|
|
'Content-Type': 'application/octet-stream', |
|
|
'Content-Disposition': `attachment; filename=${fileName}`, |
|
|
}, |
|
|
}); |
|
|
|
|
|
return response.data; |
|
|
} catch (error: any) { |
|
|
throw new Error(error.response?.data?.error); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
async function deleteFile(fileName: string): Promise<FileDeleteResponse> { |
|
|
try { |
|
|
const response = await axios.post<FileDeleteResponse>(`${BASE_URL}/file/deleteFile`, { fileName }); |
|
|
return response.data; |
|
|
} catch (error: any) { |
|
|
throw new Error(error.response?.data?.error); |
|
|
} |
|
|
} |
|
|
|
|
|
export { getFileNameList, uploadFile, deleteFile }; |
|
|
|