diff --git a/src/routes/UploadRoute.ts b/src/routes/UploadRoute.ts index f8e236d..0fe3a88 100644 --- a/src/routes/UploadRoute.ts +++ b/src/routes/UploadRoute.ts @@ -63,28 +63,35 @@ export class UploadRoute extends Route { // Uploads a file to the data directory and returns the filename this.router.use(async (req, res) => { let uploadConfirmation: IUploadConfirmation; - if (req.session.userId) { - if (req.files.profilePicture) { - uploadConfirmation = await this.uploadProfilePicture(req); - } else if (req.files.groupPicture) { - uploadConfirmation = await this.uploadGroupPicture(req); - } else if (req.files.postMedia) { - uploadConfirmation = await this.uploadPostMedia(req); + try { + if (req.session.userId) { + if (req.files.profilePicture) { + uploadConfirmation = await this.uploadProfilePicture(req); + } else if (req.files.groupPicture) { + uploadConfirmation = await this.uploadGroupPicture(req); + } else if (req.files.postMedia) { + uploadConfirmation = await this.uploadPostMedia(req); + } else { + res.status(status.BAD_REQUEST); + uploadConfirmation = { + error: "You did not provide a (valid) file.", + success: false, + }; + } } else { - res.status(status.BAD_REQUEST); + res.status(status.UNAUTHORIZED); uploadConfirmation = { - error: "You did not provide a (valid) file.", + error: "You are not logged in.", success: false, }; } - } else { - res.status(status.UNAUTHORIZED); + } catch (err) { uploadConfirmation = { - error: "You are not logged in.", + error: err, success: false, }; } - if (uploadConfirmation.error) { + if (uploadConfirmation?.error) { res.status(httpStatus.BAD_REQUEST); } res.json(uploadConfirmation);