dkforest

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

commit daf3312efcaf3900c0b59a0187ac5177ff392869
parent 593e67189c0f25ff510f5bb24c0a664579fc4c8f
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Fri,  9 Jun 2023 20:15:31 -0700

simplify code

Diffstat:
Mpkg/web/handlers/interceptors/slashInterceptor.go | 47++++++++++++++++++-----------------------------
1 file changed, 18 insertions(+), 29 deletions(-)

diff --git a/pkg/web/handlers/interceptors/slashInterceptor.go b/pkg/web/handlers/interceptors/slashInterceptor.go @@ -1296,17 +1296,6 @@ func handleTutorialCmd(c *command.Command) (handled bool) { } func handleDeleteMsgCmd(c *command.Command) (handled bool) { - delMsgFn := func(msg database.ChatMessage) error { - if msg.TooOldToDelete() { - return errors.New("message is too old to be deleted") - } - if msg.RoomID == config.GeneralRoomID && msg.ToUserID == nil { - msg.User.GeneralMessagesCount-- - msg.User.DoSave(c.DB) - } - _ = msg.Delete(c.DB) - return command.ErrRedirect - } getMsgForUsername := func(msgs []database.ChatMessage, username database.Username) (database.ChatMessage, error) { var msg database.ChatMessage for _, msgTmp := range msgs { @@ -1317,6 +1306,21 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { } return msg, errors.New("failed to find msg") } + delMsgFn := func(msgs []database.ChatMessage) error { + msg, err := getMsgForUsername(msgs, c.AuthUser.Username) + if err != nil { + return err + } + if msg.TooOldToDelete() { + return errors.New("message is too old to be deleted") + } + if msg.RoomID == config.GeneralRoomID && msg.ToUserID == nil { + msg.User.GeneralMessagesCount-- + msg.User.DoSave(c.DB) + } + _ = msg.Delete(c.DB) + return command.ErrRedirect + } if c.Message == "/d" { msg1, err := c.DB.GetUserLastChatMessageInRoom(c.AuthUser.ID, c.Room.ID) if err != nil { @@ -1324,12 +1328,7 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { return true } msgs := []database.ChatMessage{msg1} - msg, err := getMsgForUsername(msgs, c.AuthUser.Username) - if err != nil { - c.Err = err - return true - } - c.Err = delMsgFn(msg) + c.Err = delMsgFn(msgs) return true } else if m := deleteMsgRgx.FindStringSubmatch(c.Message); len(m) == 3 { @@ -1352,12 +1351,7 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { } else if len(msgs) == 1 { if !c.AuthUser.IsModerator() { - msg, err := getMsgForUsername(msgs, c.AuthUser.Username) - if err != nil { - c.Err = err - return true - } - c.Err = delMsgFn(msg) + c.Err = delMsgFn(msgs) return true } // Moderator @@ -1368,12 +1362,7 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { } else if len(msgs) > 1 { if !c.AuthUser.IsModerator() { - msg, err := getMsgForUsername(msgs, c.AuthUser.Username) - if err != nil { - c.Err = err - return true - } - c.Err = delMsgFn(msg) + c.Err = delMsgFn(msgs) return true }