From 9150550609b5ebfae7de17c4782ebb284126d7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Wed, 21 Jan 2026 07:28:10 +0100 Subject: [PATCH] new folder strucure and file path --- handlers/scheduler.go | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/handlers/scheduler.go b/handlers/scheduler.go index 824899a..df0e106 100644 --- a/handlers/scheduler.go +++ b/handlers/scheduler.go @@ -4,20 +4,36 @@ import ( "encoding/json" "net/http" "os" + "slideshowApp/utils" ) -type Schedule map[string]interface{} +var scheduleFile = "./data/schedule.json" + +type Schedule map[string]any func SaveSchedule(w http.ResponseWriter, r *http.Request) { var s Schedule - json.NewDecoder(r.Body).Decode(&s) - data, _ := json.Marshal(s) - os.WriteFile("schedule.json", data, 0644) + if err := json.NewDecoder(r.Body).Decode(&s); err != nil { + utils.SendJSONError(w, "Invalid input", http.StatusBadRequest) + return + } + + data, err := json.MarshalIndent(s, "", " ") + if err != nil { + utils.SendJSONError(w, "Encoding failed", http.StatusInternalServerError) + return + } + + err = os.WriteFile(scheduleFile, data, 0644) + if err != nil { + utils.SendJSONError(w, "write file failed", http.StatusInternalServerError) + return + } w.WriteHeader(http.StatusOK) } func GetSchedule(w http.ResponseWriter, r *http.Request) { - data, err := os.ReadFile("schedule.json") + data, err := os.ReadFile(scheduleFile) if err != nil { json.NewEncoder(w).Encode(Schedule{}) return