From 691afe1f8f6623238f514785386bcb46b68cd58e Mon Sep 17 00:00:00 2001 From: Anders Pitman Date: Thu, 17 Feb 2022 14:52:54 -0700 Subject: [PATCH] Implement /api/clients DELETE and fix bug Wasn't properly using user param. --- api.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/api.go b/api.go index 2140ca9..ae34dd4 100644 --- a/api.go +++ b/api.go @@ -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()))