dkforest

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

commit 5c44f5b18660b3ee9438cd6a6a36bbeba595cb68
parent 9148cffc32b2a830950fee4153753af3199e87aa
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Fri,  9 Jun 2023 20:07:17 -0700

cleanup

Diffstat:
Mpkg/web/handlers/interceptors/slashInterceptor.go | 25++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/pkg/web/handlers/interceptors/slashInterceptor.go b/pkg/web/handlers/interceptors/slashInterceptor.go @@ -1308,11 +1308,23 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { return command.ErrRedirect } if c.Message == "/d" { - msg, err := c.DB.GetUserLastChatMessageInRoom(c.AuthUser.ID, c.Room.ID) + msg1, err := c.DB.GetUserLastChatMessageInRoom(c.AuthUser.ID, c.Room.ID) if err != nil { c.Err = errors.New("unable to find last message") return true } + msgs := []database.ChatMessage{msg1} + var msg database.ChatMessage + for _, msgTmp := range msgs { + if msgTmp.User.Username == c.AuthUser.Username { + msg = msgTmp + break + } + } + if msg.UUID == "" { + c.Err = errors.New("failed to find msg") + return true + } c.Err = delMsgFn(msg) return true @@ -1335,9 +1347,15 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { return true } else if len(msgs) == 1 { - msg := msgs[0] if !c.AuthUser.IsModerator() { - if msg.User.Username != c.AuthUser.Username { + var msg database.ChatMessage + for _, msgTmp := range msgs { + if msgTmp.User.Username == c.AuthUser.Username { + msg = msgTmp + break + } + } + if msg.UUID == "" { c.Err = errors.New("failed to find msg") return true } @@ -1345,6 +1363,7 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { return true } // Moderator + msg := msgs[0] _ = msg.Delete(c.DB) c.Err = command.ErrRedirect return true