refactor: Update Google Drive file upload to match local file upload flow

This commit is contained in:
Taylor Wilsdon (aider) 2024-12-15 19:12:33 -05:00
parent 9faa5856f5
commit 9b939e99f2

View File

@ -351,14 +351,17 @@
const uploadGoogleDriveFile = async (fileData) => { const uploadGoogleDriveFile = async (fileData) => {
console.log('Uploading Google Drive file:', fileData); console.log('Uploading Google Drive file:', fileData);
const tempItemId = uuidv4();
const fileItem = { const fileItem = {
type: 'doc', type: 'file',
file: '',
id: null,
url: fileData.url,
name: fileData.name, name: fileData.name,
collection_name: '', collection_name: '',
status: 'uploading', status: 'uploading',
url: fileData.url,
error: '', error: '',
itemId: uuidv4() itemId: tempItemId
}; };
try { try {
@ -381,20 +384,21 @@
if (res && res.collection_name) { if (res && res.collection_name) {
console.log('File processed successfully:', res); console.log('File processed successfully:', res);
fileItem.status = 'uploaded'; fileItem.status = 'uploaded';
fileItem.file = res.file;
fileItem.id = res.file.id;
fileItem.collection_name = res.collection_name; fileItem.collection_name = res.collection_name;
fileItem.file = { fileItem.url = `${WEBUI_API_BASE_URL}/files/${res.file.id}`;
...res.file,
...fileItem.file
};
files = files; files = files;
toast.success($i18n.t('File uploaded successfully')); toast.success($i18n.t('File uploaded successfully'));
} else { } else {
console.error('Invalid response from processWeb:', res); console.error('Invalid response from processWeb:', res);
files = files.filter((f) => f.itemId !== tempItemId);
throw new Error('Failed to process file: Invalid server response'); throw new Error('Failed to process file: Invalid server response');
} }
} catch (e) { } catch (e) {
console.error('Error uploading file:', e); console.error('Error uploading file:', e);
files = files.filter((f) => f.itemId !== fileItem.itemId); files = files.filter((f) => f.itemId !== tempItemId);
toast.error($i18n.t('Error uploading file: {{error}}', { toast.error($i18n.t('Error uploading file: {{error}}', {
error: e.message || 'Unknown error' error: e.message || 'Unknown error'
})); }));