mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 01:38:44 +00:00
- waveform now has a loading state - audio library now has loading new items state - fix so that the "New" state works on both inference created audio items and uploaded audio items - fix so that uploaded audio items takes the file name as its title Co-authored-by: wil <wil@storyteller.ai>
44 lines
956 B
TypeScript
44 lines
956 B
TypeScript
import { uploadMedia } from "~/api";
|
|
|
|
export interface UploadMediaRequest {
|
|
uuid_idempotency_token: string;
|
|
file: File;
|
|
source: string;
|
|
title: string;
|
|
}
|
|
|
|
export interface UploadMediaResponse {
|
|
media_file_token: string,
|
|
success: boolean
|
|
}
|
|
|
|
|
|
export const UploadMedia = (request: UploadMediaRequest, sessionToken:string) => {
|
|
const formData = new FormData();
|
|
|
|
formData.append('uuid_idempotency_token', request.uuid_idempotency_token);
|
|
formData.append('file', request.file);
|
|
formData.append('source', request.source);
|
|
formData.append('title', request.title);
|
|
|
|
return fetch(uploadMedia, {
|
|
method: 'POST',
|
|
headers: {
|
|
Accept: 'application/json',
|
|
session: sessionToken,
|
|
},
|
|
body: formData,
|
|
})
|
|
.then(res => res.json())
|
|
.then(res => {
|
|
if (res && res.success) {
|
|
return res;
|
|
} else {
|
|
return { success : false };
|
|
}
|
|
})
|
|
.catch(e => {
|
|
return { success : false };
|
|
});
|
|
}
|