diff --git a/sam/repository/message.go b/sam/repository/message.go index bcc6cab42..8f1541033 100644 --- a/sam/repository/message.go +++ b/sam/repository/message.go @@ -67,7 +67,7 @@ const ( sqlThreadParticipantsByMessageID = "SELECT DISTINCT reply_to, rel_user FROM messages WHERE reply_to IN (?)" - sqlCountFromMessageID = "SELECT COUNT(1) AS count FROM messages WHERE rel_channel = ? AND reply_to = ? AND id > ?" + sqlCountFromMessageID = "SELECT COUNT(*) AS count FROM messages WHERE rel_channel = ? AND reply_to = ? AND id > ?" sqlMessageRepliesIncCount = `UPDATE messages SET replies = replies + 1 WHERE id = ? AND reply_to = 0` sqlMessageRepliesDecCount = `UPDATE messages SET replies = replies - 1 WHERE id = ? AND reply_to = 0` diff --git a/sam/rest/message.go b/sam/rest/message.go index de0afed85..6a053a56c 100644 --- a/sam/rest/message.go +++ b/sam/rest/message.go @@ -70,7 +70,7 @@ func (ctrl *Message) Delete(ctx context.Context, r *request.MessageDelete) (inte } func (ctrl *Message) MarkAsUnread(ctx context.Context, r *request.MessageMarkAsUnread) (interface{}, error) { - return true, ctrl.svc.msg.With(ctx).MarkAsUnread(r.MessageID) + return ctrl.svc.msg.With(ctx).MarkAsUnread(r.MessageID) } func (ctrl *Message) PinCreate(ctx context.Context, r *request.MessagePinCreate) (interface{}, error) { diff --git a/sam/service/message.go b/sam/service/message.go index 0f4c35be7..44197dbff 100644 --- a/sam/service/message.go +++ b/sam/service/message.go @@ -43,7 +43,7 @@ type ( React(messageID uint64, reaction string) error RemoveReaction(messageID uint64, reaction string) error - MarkAsUnread(messageID uint64) error + MarkAsUnread(messageID uint64) (uint32, error) Pin(messageID uint64) error RemovePin(messageID uint64) error @@ -309,13 +309,12 @@ func (svc *message) Delete(ID uint64) error { } // Pin message to the channel -func (svc *message) MarkAsUnread(messageID uint64) error { +func (svc *message) MarkAsUnread(messageID uint64) (count uint32, err error) { var currentUserID uint64 = repository.Identity(svc.ctx) - return svc.db.Transaction(func() (err error) { + return count, svc.db.Transaction(func() (err error) { // Broadcast queue var message *types.Message - var count uint32 message, err = svc.message.FindMessageByID(messageID) if err != nil {