commit be3b394a9509df295a82d0eae98bf004eaf05b4a
parent 70cad7826ab5ee888301f787af0ad6927b9a8ef6
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 23 May 2023 23:09:48 -0700
fix delete messages for stream
Diffstat:
4 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/pkg/database/tableChatMessages.go b/pkg/database/tableChatMessages.go
@@ -223,6 +223,12 @@ func (m *ChatMessage) MsgToDisplay() string {
return m.Message
}
+func (m *ChatMessage) Delete(db *DkfDB) error {
+ err := db.DeleteChatMessageByUUID(m.UUID)
+ MsgPubSub.Pub("room_"+m.RoomID.String(), ChatMessageType{Typ: DeleteMsg, Msg: m})
+ return err
+}
+
func (m *ChatMessage) DoSave(db *DkfDB) {
if err := db.db.Save(m).Error; err != nil {
logrus.Error(err)
diff --git a/pkg/web/handlers/api/v1/chess.go b/pkg/web/handlers/api/v1/chess.go
@@ -476,7 +476,7 @@ func (b *Chess) SendMove(gameKey string, userID database.UserID, g *ChessGame, c
chatMsg, _ := b.db.CreateMsg(msg, msg, "", config.GeneralRoomID, b.zeroID, &opponent.ID)
go func() {
time.Sleep(30 * time.Second)
- _ = b.db.DeleteChatMessageByUUID(chatMsg.UUID)
+ _ = chatMsg.Delete(b.db)
}()
}
diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go
@@ -511,12 +511,10 @@ func ChatDeleteMessageHandler(c echo.Context) error {
// If we delete message manually, also delete linked inbox if any
_ = db.DeleteChatInboxMessageByChatMessageID(msg.ID)
- if err := db.DeleteChatMessageByUUID(msg.UUID); err != nil {
+ if err := msg.Delete(db); err != nil {
logrus.Error(err)
}
- database.MsgPubSub.Pub("room_"+msg.RoomID.String(), database.ChatMessageType{Typ: database.DeleteMsg, Msg: &msg})
-
return c.Redirect(http.StatusFound, c.Request().Referer())
}
diff --git a/pkg/web/handlers/api/v1/slashInterceptor.go b/pkg/web/handlers/api/v1/slashInterceptor.go
@@ -1312,7 +1312,7 @@ func handleDeleteMsgCmd(c *Command) (handled bool) {
msg.User.GeneralMessagesCount--
msg.User.DoSave(c.db)
}
- _ = c.db.DeleteChatMessageByUUID(msg.UUID)
+ _ = msg.Delete(c.db)
}
if c.message == "/d" {
if msg, err := c.db.GetUserLastChatMessageInRoom(c.authUser.ID, c.room.ID); err != nil {
@@ -1362,7 +1362,7 @@ func handleDeleteMsgCmd(c *Command) (handled bool) {
return true
}
// Moderator
- _ = c.db.DeleteChatMessageByUUID(msg.UUID)
+ _ = msg.Delete(c.db)
c.err = ErrRedirect
return true
@@ -1405,7 +1405,7 @@ func handleDeleteMsgCmd(c *Command) (handled bool) {
c.err = errors.New("failed to find msg")
return true
}
- _ = c.db.DeleteChatMessageByUUID(msg.UUID)
+ _ = msg.Delete(c.db)
c.err = ErrRedirect
return true
}