diff --git a/api/send.go b/api/send.go index eb5e8fae70b49e6d792f0a8156d962da8ceb659c..d96379005951db2f2c5fbb6f12aebf1acb9c70ca 100644 --- a/api/send.go +++ b/api/send.go @@ -12,6 +12,12 @@ import ( ) func SendHandler(w http.ResponseWriter, r *http.Request) { + u := db.GetUser(r) + if u.SchAcc == "" { + _, _ = w.Write([]byte("unauthenticated!")) + return + } + b, e := ioutil.ReadAll(r.Body) if e != nil { _, _ = w.Write([]byte(e.Error())) @@ -26,8 +32,12 @@ func SendHandler(w http.ResponseWriter, r *http.Request) { } msg.Lang = languages.Voice(strings.TrimSpace(string(msg.Lang))) + msg.Message = strings.TrimSpace(msg.Message) + if msg.Message == "" { + _, _ = w.Write([]byte("error: empty message")) + return + } - u := db.GetUser(r) msg.SchAcc = u.SchAcc u.Lang = msg.Lang @@ -55,5 +65,5 @@ func SendHandler(w http.ResponseWriter, r *http.Request) { } }() - _, _ = w.Write(b) + _, _ = w.Write([]byte("OK")) } diff --git a/docker-compose.yml b/docker-compose.yml index dadbdbbfbe946ac25d8721dab9a5e8ada7c1b51f..90b663861e676530f3c541ed8711b4e012d7188e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,6 +11,8 @@ services: - POSTGRES=vox_postgres env_file: - secrets.env + depends_on: + - postgres labels: - traefik.http.services.vox.loadbalancer.server.port=8080 - traefik.http.routers.vox.rule=Host(`vox.mikesweb.site`) diff --git a/templates/index.template.html b/templates/index.template.html index e3258ad54a73cfbd1b41ea8000495815a3146f2b..6ed282c1dfb99695ff9f3735736bbfa74f59b8ce 100644 --- a/templates/index.template.html +++ b/templates/index.template.html @@ -15,6 +15,7 @@ </div> Vox éppen beszél... </h2> + <h3 class="text-danger" id="response" style="width: 100%; text-align: center"></h3> </div> <style> #overlay { @@ -86,8 +87,14 @@ const lang = document.getElementById("langbutton"); const msg = document.getElementById("msg"); const overlay = document.getElementById("overlay"); + const resp = document.getElementById("response"); function send() { + if (!msg.value) { + alert("Empty message!"); + return ; + } + const obj = { Message: msg.value, Lang: lang.innerText, @@ -103,7 +110,12 @@ xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(JSON.stringify(obj)); xhr.onload = () => { - window.location.reload(); + if (xhr.responseText === "OK") { + window.location.reload(); + return ; + } + + resp.innerText = xhr.responseText; } }