Queue Enable
All checks were successful
/ release (push) Successful in 42s

This commit is contained in:
Samuel Lorch 2024-07-06 18:01:51 +02:00
parent 77d7a8624c
commit b03e85db0b
7 changed files with 77 additions and 2 deletions

40
server/queue.go Normal file
View file

@ -0,0 +1,40 @@
package server
import (
"fmt"
"log/slog"
"net/http"
)
func HandleSetQueueEnable(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
http.Error(w, fmt.Sprintf("Parseing Form: %v", err), http.StatusBadRequest)
return
}
enable := r.FormValue("enable")
if enable != "true" && enable != "false" {
http.Error(w, "Enable must be true or false", http.StatusBadRequest)
return
}
worker := r.FormValue("worker")
slog.Info("Got set Queue Enable", "enable", enable, "worker", worker)
if worker == "all" {
_, err = db.Exec(r.Context(), "UPDATE workers SET queue_enable = $1", enable)
if err != nil {
http.Error(w, fmt.Sprintf("Setting Worker Queue Enable: %v", err), http.StatusInternalServerError)
return
}
} else {
_, err = db.Exec(r.Context(), "UPDATE workers SET queue_enable = $1 where id = $2", enable, worker)
if err != nil {
http.Error(w, fmt.Sprintf("Setting Worker Queue Enable: %v", err), http.StatusInternalServerError)
return
}
}
http.Redirect(w, r, r.Header.Get("Referer"), http.StatusFound)
}