From 6660c1e3b3fa9654485654281465b290d99f0a5d Mon Sep 17 00:00:00 2001 From: Steve White Date: Thu, 17 Oct 2024 00:08:28 -0500 Subject: [PATCH] user and database administration --- admin.go | 3 ++- test.db | Bin 73728 -> 0 bytes 2 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 test.db diff --git a/admin.go b/admin.go index c082fdf..61c8307 100644 --- a/admin.go +++ b/admin.go @@ -25,6 +25,7 @@ func CreateUserHandler(w http.ResponseWriter, r *http.Request) { http.Error(w, "Invalid request body", http.StatusBadRequest) return } + fmt.Println("creating user" + user.Username) db.Create(&user) json.NewEncoder(w).Encode(user) } @@ -105,7 +106,7 @@ func RestoreDatabaseHandler(w http.ResponseWriter, r *http.Request) { http.Error(w, "Failed to switch to new database", http.StatusInternalServerError) return } - + fmt.Println("Database restored successfully") w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(map[string]string{"message": "Database restored successfully"}) } diff --git a/test.db b/test.db deleted file mode 100644 index b44d2ad3b3871a9dd8a880bbf9d7484c53220054..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73728 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 Ir&rAX1CJX!Qvd(}