From fb396e9f472fdbeca2bfb3405da7724645c9fa00 Mon Sep 17 00:00:00 2001 From: jzunigax2 <125698953+jzunigax2@users.noreply.github.com> Date: Thu, 12 Feb 2026 14:42:59 -0600 Subject: [PATCH 1/2] fix: send resourcesToken when creating file entry in shared view --- src/app/drive/services/file.service/uploadFile.ts | 2 +- src/views/Shared/SharedView.tsx | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/drive/services/file.service/uploadFile.ts b/src/app/drive/services/file.service/uploadFile.ts index f1731e1b1..15aad35bd 100644 --- a/src/app/drive/services/file.service/uploadFile.ts +++ b/src/app/drive/services/file.service/uploadFile.ts @@ -77,7 +77,7 @@ export const createFileEntry = async ({ date: date.toISOString(), }; - return storageClient.createFileEntryByUuid(fileEntry, ownerToken); + return storageClient.createFileEntryByUuid(fileEntry, resourcesToken ?? ownerToken); } }; diff --git a/src/views/Shared/SharedView.tsx b/src/views/Shared/SharedView.tsx index c7f4f8122..bf4a0217d 100644 --- a/src/views/Shared/SharedView.tsx +++ b/src/views/Shared/SharedView.tsx @@ -405,6 +405,7 @@ function SharedView({ encryptionKey: currentUser?.mnemonic, bucketId: currentUser.bucket, token, + resourcesToken: token, }; } else { const mnemonicDecrypted = @@ -416,6 +417,7 @@ function SharedView({ encryptionKey: mnemonicDecrypted, bucketId: ownerBucket, token, + resourcesToken: token, }; } } From 526b3f9c097cbdae044275bd57bbe1f2c5966003 Mon Sep 17 00:00:00 2001 From: Xavier Abad Date: Fri, 13 Feb 2026 09:54:55 +0100 Subject: [PATCH 2/2] tests(upload): add coverage when the resource token is present --- .../services/file.service/uploadFile.test.ts | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/app/drive/services/file.service/uploadFile.test.ts b/src/app/drive/services/file.service/uploadFile.test.ts index 4c2006338..b9ae554b3 100644 --- a/src/app/drive/services/file.service/uploadFile.test.ts +++ b/src/app/drive/services/file.service/uploadFile.test.ts @@ -153,6 +153,51 @@ describe('Create File Entry', () => { ownerToken, ); }); + + test('When creating a file entry for personal storage and a resources token is present, then the file entry for personal storage should be created using that token', async () => { + const file: FileToUpload = { + name: 'personal-file', + size: 2048, + type: 'txt', + content: new File(['content'], 'personal-file.txt'), + parentFolderId: 'folder-uuid-456', + }; + const bucketId = 'personal-bucket'; + const fileId = 'personal-file-id'; + const resourcesToken = 'resources-token'; + const ownerToken = 'owner-token'; + + const expectedResponse = { id: 'personal-created-id', name: file.name }; + const mockCreateFileEntryByUuid = vi.fn().mockResolvedValue(expectedResponse); + mockSdkFactory.getNewApiInstance.mockReturnValue({ + createNewStorageClient: vi.fn(() => ({ + createFileEntryByUuid: mockCreateFileEntryByUuid, + })), + } as any); + + const result = await createFileEntry({ + bucketId, + fileId, + file, + isWorkspaceUpload: false, + resourcesToken, + ownerToken, + }); + + expect(result).toEqual(expectedResponse); + expect(mockCreateFileEntryByUuid).toHaveBeenCalledWith( + expect.objectContaining({ + fileId: fileId, + type: file.type, + size: file.size, + plainName: file.name, + bucket: bucketId, + folderUuid: file.parentFolderId, + encryptVersion: StorageTypes.EncryptionVersion.Aes03, + }), + resourcesToken, + ); + }); }); describe('Uploading a file', () => {