59 lines
1.2 KiB
TypeScript
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;
|
|
}
|