master
bel 2020-03-16 00:48:06 +00:00
parent 8138e31e53
commit bdfdb41bba
6 changed files with 14 additions and 8 deletions

View File

@ -43,5 +43,6 @@ tbody tr:nth-child(2n+1) {
background: inherit; background: inherit;
min-width: 40%; min-width: 40%;
display: inline-block; display: inline-block;
white-space: pre;
} }

View File

@ -3,9 +3,6 @@
<link rel="stylesheet" type="text/css" href="/css/water.css"/> <link rel="stylesheet" type="text/css" href="/css/water.css"/>
</head> </head>
<body> <body>
<h1>
Firestormy
</h1>
<details> <details>
<summary>Upsert Job</summary> <summary>Upsert Job</summary>
<form id="upsert" action="#" method="get" onsubmit="upsert(); return false;"> <form id="upsert" action="#" method="get" onsubmit="upsert(); return false;">

View File

@ -164,6 +164,8 @@ function getForm() {
return document.getElementById("upsert") return document.getElementById("upsert")
} }
getForm().reset()
function getField(name) { function getField(name) {
var form = getForm() var form = getForm()
var matches = form.elements[name] var matches = form.elements[name]

View File

@ -67,7 +67,6 @@ func newBashJob(schedule, sh string, title ...string) (*Job, error) {
} }
b, err := j.Encode() b, err := j.Encode()
if err == nil { if err == nil {
// TODO webpage doenst load post SET despite this returning nil
config.Store.Set(j.Name, b, ns.Jobs...) config.Store.Set(j.Name, b, ns.Jobs...)
} }
logger.New().Info("result", fmt.Sprintf("%+v", j)) logger.New().Info("result", fmt.Sprintf("%+v", j))

View File

@ -2,7 +2,6 @@ package server
import ( import (
"local/firestormy/scheduler" "local/firestormy/scheduler"
"strings"
"time" "time"
) )
@ -21,7 +20,7 @@ func toMap(j *scheduler.Job) map[string]interface{} {
out["last"] = map[string]interface{}{ out["last"] = map[string]interface{}{
"run": j.LastRun.In(tz).Format(`2006-01-02 15:04:05 MST`), "run": j.LastRun.In(tz).Format(`2006-01-02 15:04:05 MST`),
"runtime": j.LastRuntime.String(), "runtime": j.LastRuntime.String(),
"output": strings.ReplaceAll(j.LastOutput, "\n", "<br>"), "output": j.LastOutput,
"status": j.LastStatus, "status": j.LastStatus,
} }
return out return out

View File

@ -33,7 +33,6 @@ func newUpsertRequest(r io.Reader) (upsertRequest, error) {
func (u *upsertRequest) validate() error { func (u *upsertRequest) validate() error {
if u.ID == "" { if u.ID == "" {
u.ID = uuid.New().String()
} else if _, err := config.Store.Get(u.ID, ns.Jobs...); err != nil { } else if _, err := config.Store.Get(u.ID, ns.Jobs...); err != nil {
return fmt.Errorf("ID provided but not accessible: %v", err) return fmt.Errorf("ID provided but not accessible: %v", err)
} }
@ -74,7 +73,16 @@ func (s *Server) upsert(w http.ResponseWriter, r *http.Request) {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
return return
} }
if err := scheduler.Schedule.Update(job); err != nil { if job.Name == "" {
job.Name = uuid.New().String()
if job.Title == "" {
job.Title = job.Name
}
if err := scheduler.Schedule.Add(job); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
} else if err := scheduler.Schedule.Update(job); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
return return
} }