From 1f3b243da2a02a0b9e9048a1e84d89b463229352 Mon Sep 17 00:00:00 2001 From: Rapturate Date: Tue, 28 Apr 2026 16:34:46 -0400 Subject: [PATCH] final polishing --- docs/Testing/Testing.docx | Bin 33833 -> 39939 bytes docs/openapi.yaml | 4 ++++ src/controllers/projectsController.js | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/Testing/Testing.docx b/docs/Testing/Testing.docx index 718e4cb6c4dec21ff626fb20cf4816d91d069ce4..152bda356b490c7066c619b83b151263f67eefec 100644 GIT binary patch delta 28535 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 MB7;6j`{&;O1Hbd#OaK4? delta 22311 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 I|26i%08m#Z1poj5 diff --git a/docs/openapi.yaml b/docs/openapi.yaml index f9fe880..539dc2b 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -390,6 +390,10 @@ paths: schema: type: string format: binary + '404': + description: Not Found or Unauthorized + '400': + description: Bad Request - Id not a positive integer /api/materials: get: diff --git a/src/controllers/projectsController.js b/src/controllers/projectsController.js index dbe5eac..8120778 100644 --- a/src/controllers/projectsController.js +++ b/src/controllers/projectsController.js @@ -110,7 +110,7 @@ export async function deleteProjectFileHandler(req, res) { return res.status(404).json({ error: 'File not found or unauthorized' }); } - res.status(200).json({ message: 'File deleted successfully' }); + res.status(204).json({ message: 'File deleted successfully' }); } catch (error) { res.status(400).json({ error: 'Invalid file ID' }); }