From 91f9767949f7ef59758635704703be7e2869256f Mon Sep 17 00:00:00 2001
From: Qadzif Kamil Zahari <qadzifi@gmail.com>
Date: Fri, 10 Dec 2021 22:32:19 +0700
Subject: [PATCH] fix: fix double create because options request

---
 main.go | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/main.go b/main.go
index 1a29be9..dd1e49b 100644
--- a/main.go
+++ b/main.go
@@ -101,16 +101,18 @@ func getTaskWithStatus(status string, returnList []Task, taskList []Task) []Task
 
 func createNewTask(w http.ResponseWriter, r *http.Request) {
 	setupCORS(&w, r)
-	reqBody, _ := ioutil.ReadAll(r.Body)
-	var task Task
-	err := json.Unmarshal(reqBody, &task)
-	if err != nil {
-		fmt.Println(err)
+	if r.Method == "POST" {
+		reqBody, _ := ioutil.ReadAll(r.Body)
+		var task Task
+		err := json.Unmarshal(reqBody, &task)
+		if err != nil {
+			fmt.Println(err)
+		}
+		task.Id = FindTaskMaxId(Tasklist) + 1
+		task.Status = "waiting"
+		Tasklist = append(Tasklist, task)
+		json.NewEncoder(w).Encode(Tasklist)
 	}
-	task.Id = FindTaskMaxId(Tasklist) + 1
-	task.Status = "waiting"
-	Tasklist = append(Tasklist, task)
-	json.NewEncoder(w).Encode(Tasklist)
 }
 
 func changeTaskStatus(w http.ResponseWriter, r *http.Request) {
@@ -143,16 +145,18 @@ func deleteTask(w http.ResponseWriter, r *http.Request) {
 
 func createNewCheck(w http.ResponseWriter, r *http.Request) {
 	setupCORS(&w, r)
-	reqBody, _ := ioutil.ReadAll(r.Body)
-	var check Checklist
-	err := json.Unmarshal(reqBody, &check)
-	if err != nil {
-		fmt.Println(err)
+	if r.Method == "POST" {
+		reqBody, _ := ioutil.ReadAll(r.Body)
+		var check Checklist
+		err := json.Unmarshal(reqBody, &check)
+		if err != nil {
+			fmt.Println(err)
+		}
+		check.Id = FindCheckMaxId(Checks) + 1
+		check.Status = false
+		Checks = append(Checks, check)
+		json.NewEncoder(w).Encode(Checks)
 	}
-	check.Id = FindCheckMaxId(Checks) + 1
-	check.Status = false
-	Checks = append(Checks, check)
-	json.NewEncoder(w).Encode(Checks)
 }
 
 func changeCheckStatus(w http.ResponseWriter, r *http.Request) {
-- 
GitLab