dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit e12a4bcb342408ab047a789891737885bb75395a
parent 11d8d73ac78816816512589160009c9bd23bfc5e
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sun, 15 Jan 2023 21:23:54 -0800

cleanup

Diffstat:
Mpkg/database/tableUsers.go | 5+++++
Mpkg/web/handlers/admin.go | 8++++----
2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/pkg/database/tableUsers.go b/pkg/database/tableUsers.go @@ -306,6 +306,11 @@ func GetUsersByUsername(usernames []string) (out []User, err error) { return } +func DeleteUserByID(userID UserID) (err error) { + err = DB.Unscoped().Delete(User{}, "id = ?", userID).Error + return +} + func GetModeratorsUsers() (out []User, err error) { err = DB.Order("username ASC").Find(&out, "role = ? OR is_admin = 1", "moderator").Error return diff --git a/pkg/web/handlers/admin.go b/pkg/web/handlers/admin.go @@ -6,7 +6,6 @@ import ( "net/http" "os" "path/filepath" - "strconv" "strings" "dkforest/pkg/config" @@ -407,16 +406,17 @@ func AdminCaptchaHandler(c echo.Context) error { // AdminDeleteUserHandler ... func AdminDeleteUserHandler(c echo.Context) error { - id, err := strconv.Atoi(c.Param("userID")) + userID, err := dutils.ParseUserID(c.Param("userID")) if err != nil { return c.Render(http.StatusOK, "flash", FlashResponse{"user id not found", c.Request().Referer(), "alert-danger"}) } - if id == 1 { + if userID == config.RootAdminID { return c.Render(http.StatusOK, "flash", FlashResponse{"Root admin cannot be deleted", c.Request().Referer(), "alert-danger"}) } - if err := database.DB.Unscoped().Delete(database.User{}, "id = ?", id).Error; err != nil { + + if err := database.DeleteUserByID(userID); err != nil { logrus.Error(err) } return c.Redirect(http.StatusFound, c.Request().Referer())