From 2696b7284466b6351901a40061d760df065038a0 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 19 Feb 2024 13:16:38 +0100 Subject: [PATCH] Add button to delete client --- client.go | 10 ++++++++++ db.go | 5 +++++ template/manage-client.html | 3 +++ diff --git a/client.go b/client.go index 718eeefaf0ed2fe504a09bb97852fdf3f2662005..ba9b59b5e92bb279f2915cd1e8af5d0333adf514 100644 --- a/client.go +++ b/client.go @@ -56,6 +56,16 @@ } return } + _ = req.ParseForm() + if _, ok := req.PostForm["delete"]; ok { + if err := db.DeleteClient(ctx, client.ID); err != nil { + httpError(w, err) + return + } + http.Redirect(w, req, "/", http.StatusFound) + return + } + client.ClientName = req.PostFormValue("client_name") client.ClientURI = req.PostFormValue("client_uri") client.RedirectURIs = req.PostFormValue("redirect_uris") diff --git a/db.go b/db.go index 10e55f21304fdd1e3db2d4e4d4bcfd3a9dcbd1a2..277fd646cfcb8601263db4bfed9f4d60d7968865 100644 --- a/db.go +++ b/db.go @@ -145,6 +145,11 @@ return l, rows.Close() } +func (db *DB) DeleteClient(ctx context.Context, id ID[*Client]) error { + _, err := db.db.ExecContext(ctx, "DELETE FROM Client WHERE id = ?", id) + return err +} + func (db *DB) FetchAccessToken(ctx context.Context, id ID[*AccessToken]) (*AccessToken, error) { rows, err := db.db.QueryContext(ctx, "SELECT * FROM AccessToken WHERE id = ?", id) if err != nil { diff --git a/template/manage-client.html b/template/manage-client.html index 8d52e2c45baa75c7c7367b181527e31e237e8221..e73ac17f82b95a5d954940a63cfd71776280d01c 100644 --- a/template/manage-client.html +++ b/template/manage-client.html @@ -23,6 +23,9 @@ {{ else }} Create client {{ end }} + {{ if .Client.ID }} + + {{ end }} -- 2.48.1