dkforest

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

commit 0eba703ff5f28aa775cba1b06e22f13382c3c69d
parent 6f05a34934eb2b27fd02646e8115bb7424a54cec
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu, 29 Aug 2024 13:20:27 -0700

fix http 500 when msg not found

Diffstat:
Mpkg/web/handlers/api/v1/handlers.go | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go @@ -346,18 +346,25 @@ func ChatDeleteMessageHandler(c echo.Context) error { authUser := c.Get("authUser").(*database.User) db := c.Get("database").(*database.DkfDB) + var returnResp error + if c.Request().Method == http.MethodGet { + returnResp = c.NoContent(http.StatusOK) + } else { + returnResp = hutils.RedirectReferer(c) + } + messageUUID := c.Param("messageUUID") var msg database.ChatMessage if err := db.DB().Where("uuid = ?", messageUUID). Preload("User"). Preload("Room"). First(&msg).Error; err != nil { - return err + return returnResp } if err := msg.UserCanDeleteErr(authUser); err != nil { logrus.Error(err) - return hutils.RedirectReferer(c) + return returnResp } // Audit when moderator/admin deletes a message he doesn't own @@ -377,11 +384,7 @@ func ChatDeleteMessageHandler(c echo.Context) error { if err := msg.Delete(db); err != nil { logrus.Error(err) } - - if c.Request().Method == http.MethodGet { - return c.NoContent(http.StatusOK) - } - return hutils.RedirectReferer(c) + return returnResp } func ClubDeleteMessageHandler(c echo.Context) error {