From 001c417ae2e59a77273f615c652e924809b72c2a Mon Sep 17 00:00:00 2001 From: Eric Doughty-Papassideris Date: Thu, 10 Oct 2024 19:46:40 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20back:=20Fix=20only=20office=20fi?= =?UTF-8?q?lename=20getting=20overwritten=20at=20session=20end=20(#683)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/services/documents/services/index.ts | 21 ++++++++++++++++--- .../documents/web/controllers/documents.ts | 2 +- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/tdrive/backend/node/src/services/documents/services/index.ts b/tdrive/backend/node/src/services/documents/services/index.ts index 27881628..0b21165e 100644 --- a/tdrive/backend/node/src/services/documents/services/index.ts +++ b/tdrive/backend/node/src/services/documents/services/index.ts @@ -1148,7 +1148,15 @@ export class DocumentsService { } if (file) { - const fileEntity = await globalResolver.services.files.save(null, file, options, context); + const fileEntity = await globalResolver.services.files.save( + null, + file, + { + ...options, + filename: options.filename ?? driveFile.name, + }, + context, + ); await globalResolver.services.documents.documents.createVersion( driveFile.id, @@ -1158,6 +1166,7 @@ export class DocumentsService { file_metadata: { external_id: fileEntity.id, source: "internal", + name: file.filename ?? driveFile.name, }, }, context, @@ -1184,8 +1193,14 @@ export class DocumentsService { )}`, ); } catch (error) { - logger.error({ error: `${error}` }, "Failed to cancel editing Drive item"); - CrudException.throwMe(error, new CrudException("Failed to cancel editing Drive item", 500)); + logger.error( + { error: `${error}` }, + `Failed to ${keepEditing ? "update" : "end"} editing Drive item`, + ); + CrudException.throwMe( + error, + new CrudException(`Failed to ${keepEditing ? "update" : "end"} editing Drive item`, 500), + ); } } }; diff --git a/tdrive/backend/node/src/services/documents/web/controllers/documents.ts b/tdrive/backend/node/src/services/documents/web/controllers/documents.ts index ae59cf45..348971fa 100644 --- a/tdrive/backend/node/src/services/documents/web/controllers/documents.ts +++ b/tdrive/backend/node/src/services/documents/web/controllers/documents.ts @@ -422,7 +422,7 @@ export class DocumentsController { totalChunks: parseInt(q.resumableTotalChunks || q.total_chunks) || 1, totalSize: parseInt(q.resumableTotalSize || q.total_size) || 0, chunkNumber: parseInt(q.resumableChunkNumber || q.chunk_number) || 1, - filename: q.resumableFilename || q.filename || file?.filename || undefined, + filename: q.filename || undefined, type: q.resumableType || q.type || file?.mimetype || undefined, waitForThumbnail: !!q.thumbnail_sync, ignoreThumbnails: false,