Implement /api/clients DELETE and fix bug

Wasn't properly using user param.
This commit is contained in:
Anders Pitman 2022-02-17 14:52:54 -07:00
parent 0eab8db4d6
commit 691afe1f8f

16
api.go
View File

@ -265,8 +265,6 @@ func (a *Api) handleClients(w http.ResponseWriter, r *http.Request) {
clientName := r.Form.Get("client-name")
if clientName == "" {
clientName = tokenData.Client
if tokenData.Client == "" {
w.WriteHeader(400)
w.Write([]byte("Missing client-name parameter"))
@ -282,13 +280,25 @@ func (a *Api) handleClients(w http.ResponseWriter, r *http.Request) {
return
}
user := r.Form.Get("user")
if user == "" {
user = tokenData.Owner
}
switch r.Method {
case "POST":
err := a.SetClient(tokenData, r.Form, tokenData.Owner, clientName)
err := a.SetClient(tokenData, r.Form, user, clientName)
if err != nil {
w.WriteHeader(500)
w.Write([]byte(err.Error()))
}
case "DELETE":
err := a.DeleteClient(tokenData, user, clientName)
if err != nil {
w.WriteHeader(500)
io.WriteString(w, err.Error())
return
}
default:
w.WriteHeader(405)
w.Write([]byte(err.Error()))