From c903d8cf560ff15375a2f2f12e37e1684cd3f275 Mon Sep 17 00:00:00 2001 From: Kariamos Date: Tue, 28 Oct 2025 11:09:47 +0100 Subject: [PATCH 1/2] feat: Add mimetype to media upload data structure --- src/features/TaskMediaUploader/index.ts | 1 + .../me/campaigns/campaignId/tasks/taskId/media/_post/index.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/features/TaskMediaUploader/index.ts b/src/features/TaskMediaUploader/index.ts index 91f319cf0..35bcf5ad8 100644 --- a/src/features/TaskMediaUploader/index.ts +++ b/src/features/TaskMediaUploader/index.ts @@ -105,6 +105,7 @@ class TaskMediaUploader { name: media.name, path: currentPath, size: media.size, + mimetype: media.mimeType, }); await this.createUploadedFile( currentPath, diff --git a/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.ts b/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.ts index b1b5f0177..d5d769018 100644 --- a/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.ts +++ b/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.ts @@ -88,6 +88,7 @@ export default async ( filename: file.name, size: file.size, tester_id: req.user.testerId, + mimetype: file.mimetype, }); } From d5b85191027c9365a973480ef4ae9dbb1d1f2090 Mon Sep 17 00:00:00 2001 From: Kariamos Date: Tue, 28 Oct 2025 11:09:57 +0100 Subject: [PATCH 2/2] feat: Add test to save mimetype in database for media uploads --- .../campaignId/tasks/taskId/media/_post/index.spec.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.spec.ts b/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.spec.ts index 7ebe7e5e6..3383c7997 100644 --- a/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.spec.ts +++ b/src/routes/users/me/campaigns/campaignId/tasks/taskId/media/_post/index.spec.ts @@ -181,4 +181,15 @@ describe("Route POST /users/me/campaign/{campaignId}/media", () => { "https://s3.amazonaws.com/optimized-task-bucket/CP1/UC2/T1/crypted.png" ); }); + + it("Should save the mimetype on DB", async () => { + const response = await request(app) + .post("/users/me/campaigns/1/tasks/1/media") + .attach("media", mockFileBuffer, "void.png") + .set("Authorization", "Bearer tester"); + expect(response.status).toBe(200); + const insertedMedia = await tryber.tables.WpAppqUserTaskMedia.do().select(); + expect(insertedMedia).not.toEqual(undefined); + expect(insertedMedia[0].mimetype).toEqual("image/png"); + }); });