package webui import ( "encoding/json" "fmt" "net/http" "gitea.armuli.eu/museum-digital/museum-digital-webdav-uploader/src/configloader" "gitea.armuli.eu/museum-digital/museum-digital-webdav-uploader/src/meta" ) type getSettingsApiResponse struct { Version string `json:"version"` SetupRequired bool `json:"setup_required"` Settings configloader.MDWebDavUploaderConfig `json:"settings"` NextAutoUpload string `json:"next_auto_upload"` } // Generates the API output for listing current settings. func serveApiGetSettings(w http.ResponseWriter, r *http.Request) { var nextAutoUpOut string nextAutoUp, err := scheduledUpload.NextRun() if err != nil { nextAutoUpOut = ""; } else { nextAutoUpOut = nextAutoUp.Format("2006-01-02 15:04:05") } setHeadersForJson(w) output := getSettingsApiResponse{SetupRequired: setupRequired, Settings: config, Version: meta.GetVersion(), NextAutoUpload: nextAutoUpOut} outputJson, encodeErr := json.Marshal(output) if encodeErr != nil { panic("Failed to create JSON") } fmt.Fprint(w, string(outputJson)) }