25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
export type UploadTask = {
|
|
uri: string;
|
|
filename: string;
|
|
status: 'pending' | 'uploading' | 'success' | 'failed' | 'skipped';
|
|
progress: number; // 0-100
|
|
file_id?: string; // 后端返回的文件ID
|
|
created_at: number; // unix timestamp
|
|
};
|
|
|
|
export interface DatabaseInterface {
|
|
initUploadTable(): Promise<void>;
|
|
insertUploadTask(task: Omit<UploadTask, 'created_at'>): Promise<void>;
|
|
getUploadTaskStatus(uri: string): Promise<UploadTask | null>;
|
|
updateUploadTaskStatus(uri: string, status: UploadTask['status'], file_id?: string): Promise<void>;
|
|
updateUploadTaskProgress(uri: string, progress: number): Promise<void>;
|
|
getUploadTasks(): Promise<UploadTask[]>;
|
|
cleanUpUploadTasks(): Promise<void>;
|
|
getUploadTasksSince(timestamp: number): Promise<UploadTask[]>;
|
|
exist_pending_tasks(): Promise<boolean>;
|
|
filterExistingFiles(fileUris: string[]): Promise<string[]>;
|
|
setAppState(key: string, value: string | null): Promise<void>;
|
|
getAppState(key: string): Promise<string | null>;
|
|
executeSql(sql: string, params?: any[]): Promise<any>;
|
|
}
|