commit 0ad4ddc85f60c5f74f50eba778e268a5688cf221
parent 5c44f5b18660b3ee9438cd6a6a36bbeba595cb68
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 9 Jun 2023 20:09:58 -0700
cleanup
Diffstat:
1 file changed, 17 insertions(+), 25 deletions(-)
diff --git a/pkg/web/handlers/interceptors/slashInterceptor.go b/pkg/web/handlers/interceptors/slashInterceptor.go
@@ -1307,6 +1307,16 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) {
_ = 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 {
+ if msgTmp.User.Username == c.AuthUser.Username {
+ msg = msgTmp
+ return msg, nil
+ }
+ }
+ return msg, errors.New("failed to find msg")
+ }
if c.Message == "/d" {
msg1, err := c.DB.GetUserLastChatMessageInRoom(c.AuthUser.ID, c.Room.ID)
if err != nil {
@@ -1314,15 +1324,9 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) {
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")
+ msg, err := getMsgForUsername(msgs, c.AuthUser.Username)
+ if err != nil {
+ c.Err = err
return true
}
c.Err = delMsgFn(msg)
@@ -1348,14 +1352,8 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) {
} 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 == "" {
+ msg, err := getMsgForUsername(msgs, c.AuthUser.Username)
+ if err != nil {
c.Err = errors.New("failed to find msg")
return true
}
@@ -1370,14 +1368,8 @@ func handleDeleteMsgCmd(c *command.Command) (handled bool) {
} 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 == "" {
+ msg, err := getMsgForUsername(msgs, c.AuthUser.Username)
+ if err != nil {
c.Err = errors.New("failed to find msg")
return true
}