From f791ceb99c3e4460db86dc60db9ecb4ad2b05457 Mon Sep 17 00:00:00 2001
From: rlacko <rlacko@sch.bme.hu>
Date: Thu, 11 Mar 2021 21:33:55 +0100
Subject: [PATCH] update file validation

---
 src/components/forms/AddSolutionForm.js | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/components/forms/AddSolutionForm.js b/src/components/forms/AddSolutionForm.js
index a853018..15d6939 100644
--- a/src/components/forms/AddSolutionForm.js
+++ b/src/components/forms/AddSolutionForm.js
@@ -35,6 +35,16 @@ const allowedFileTypes = [
   'application/x-zip',
 ];
 
+const allowedFileEnds = ['.zip', '.jpeg', '.jpg', '.jpe', '.png'];
+
+function validateFileName(fileNameToValidate) {
+  return (
+    allowedFileEnds.find((typeName) => {
+      return fileNameToValidate.toLowerCase().endsWith(typeName);
+    }).length > 0
+  );
+}
+
 // in megabytes
 const maxFileSize = 50;
 
@@ -211,7 +221,7 @@ class AddSolutionForm extends Component {
                     !description ||
                     (!file
                       ? false
-                      : !allowedFileTypes.includes(file.type) ||
+                      : validateFileName(file.name) ||
                         file.size > maxFileSize * 1024 ** 2)
                   }
                   inverted
-- 
GitLab