memowake-front/types/upload.ts
2025-06-20 18:20:31 +08:00

59 lines
1.2 KiB
TypeScript

export interface MaterialFile {
id: string;
file_name: string;
url: string;
}
export interface OutputVideoFile {
id: string;
file_name: string;
url: string;
}
export interface ManualTask {
task_id: string;
user_id: string;
status: 'Created' | 'Processing' | 'Completed' | 'Failed';
created_at: string;
started_at: string;
completed_at: string;
failure_reason: string | null;
template_id: number;
source_files: MaterialFile[];
output_video_file?: OutputVideoFile;
}
export interface Size {
value: number;
unit: 'B' | 'KB' | 'MB' | 'GB' | 'TB';
}
export interface ContentType {
value: string;
}
export interface FilePath {
value: string;
}
export interface Metadata {
[key: string]: any;
}
export type UploadStatus = 'Pending' | 'Uploading' | 'Completed' | 'Failed';
export type DeletionStatus = 'Active' | 'PendingDeletion' | 'Deleted';
export interface ConfirmUpload {
file_id: number;
name: string;
size: Size;
content_type: ContentType;
upload_time: string; // ISO date string
storage_medium: string;
file_path: FilePath;
uploader_id: number;
upload_status: UploadStatus;
deletion_status: DeletionStatus;
metadata: Metadata;
}