package handlers import ( "encoding/json" "net/http" "os" "slideshowApp/utils" ) var scheduleFile = "./data/schedule.json" type Schedule map[string]any func SaveSchedule(w http.ResponseWriter, r *http.Request) { var s Schedule 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(scheduleFile) if err != nil { json.NewEncoder(w).Encode(Schedule{}) return } w.Write(data) }