dkforest

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

commit 5d1f5860416db7cfc425f4eddaf944fd660cf561
parent 08310c1217493a38200663c45150e16bffa3a628
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Fri,  9 Jun 2023 10:29:24 -0700

remove useless condition and deindent code

Diffstat:
Mpkg/web/handlers/interceptors/slashInterceptor.go | 124+++++++++++++++++++++++++++++++++++++++----------------------------------------
1 file changed, 61 insertions(+), 63 deletions(-)

diff --git a/pkg/web/handlers/interceptors/slashInterceptor.go b/pkg/web/handlers/interceptors/slashInterceptor.go @@ -1316,76 +1316,49 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { c.Err = command.ErrRedirect return true - } else if m := deleteMsgRgx.FindStringSubmatch(c.Message); len(m) >= 3 { - if len(m) == 3 { - date := m[1] - matchUsername := m[2] - dt, err := utils.ParsePrevDatetimeAt(date, clockwork.NewRealClock()) - if err != nil { - logrus.Error(err) - c.Err = err - return true - } - msgs, err := c.DB.GetRoomChatMessagesByDate(c.Room.ID, dt.UTC()) - if err != nil { - c.Err = err - return true - } - if len(msgs) == 0 { - c.Err = errors.New("failed to find msg") - return true + } else if m := deleteMsgRgx.FindStringSubmatch(c.Message); len(m) == 3 { + date := m[1] + matchUsername := m[2] + dt, err := utils.ParsePrevDatetimeAt(date, clockwork.NewRealClock()) + if err != nil { + logrus.Error(err) + c.Err = err + return true + } + msgs, err := c.DB.GetRoomChatMessagesByDate(c.Room.ID, dt.UTC()) + if err != nil { + c.Err = err + return true + } + if len(msgs) == 0 { + c.Err = errors.New("failed to find msg") + return true - } else if len(msgs) == 1 { - msg := msgs[0] - if !c.AuthUser.IsModerator() { - if msg.User.Username != c.AuthUser.Username { - c.Err = errors.New("failed to find msg") - return true - } - if msg.TooOldToDelete() { - c.Err = errors.New("message is too old to be deleted") - return true - } - delMsgFn(msg) - c.Err = command.ErrRedirect + } else if len(msgs) == 1 { + msg := msgs[0] + if !c.AuthUser.IsModerator() { + if msg.User.Username != c.AuthUser.Username { + c.Err = errors.New("failed to find msg") return true } - // Moderator - _ = msg.Delete(c.DB) - c.Err = command.ErrRedirect - return true - - } else if len(msgs) > 1 { - if !c.AuthUser.IsModerator() { - 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 - } - if msg.TooOldToDelete() { - c.Err = errors.New("message is too old to be deleted") - return true - } - delMsgFn(msg) - c.Err = command.ErrRedirect + if msg.TooOldToDelete() { + c.Err = errors.New("message is too old to be deleted") return true - } + delMsgFn(msg) + c.Err = command.ErrRedirect + return true + } + // Moderator + _ = msg.Delete(c.DB) + c.Err = command.ErrRedirect + return true - // Moderator - if matchUsername == "" { - c.Err = errors.New("more the 1 msg with this timestamp") - return true - } + } else if len(msgs) > 1 { + if !c.AuthUser.IsModerator() { var msg database.ChatMessage for _, msgTmp := range msgs { - if string(msgTmp.User.Username) == matchUsername { + if msgTmp.User.Username == c.AuthUser.Username { msg = msgTmp break } @@ -1394,10 +1367,35 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) { c.Err = errors.New("failed to find msg") return true } - _ = msg.Delete(c.DB) + if msg.TooOldToDelete() { + c.Err = errors.New("message is too old to be deleted") + return true + } + delMsgFn(msg) c.Err = command.ErrRedirect return true + } + + // Moderator + if matchUsername == "" { + c.Err = errors.New("more the 1 msg with this timestamp") + return true + } + var msg database.ChatMessage + for _, msgTmp := range msgs { + if string(msgTmp.User.Username) == matchUsername { + msg = msgTmp + break + } + } + if msg.UUID == "" { + c.Err = errors.New("failed to find msg") + return true + } + _ = msg.Delete(c.DB) + c.Err = command.ErrRedirect + return true } return true