Skip to content

Commit

Permalink
Fix reading messages in stream
Browse files Browse the repository at this point in the history
  • Loading branch information
gorobot-nz committed Apr 15, 2024
1 parent 4e6b945 commit 3ef6a86
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
7 changes: 4 additions & 3 deletions pkg/graph/messages.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (

type MessagesController struct {
log *zap.Logger
sync.Mutex
m *sync.Mutex

db driver.Database
col driver.Collection
Expand All @@ -30,6 +30,7 @@ func NewMessagesController(logger *zap.Logger, db driver.Database) *MessagesCont
log: log,
db: db,
col: col,
m: &sync.Mutex{},
}
}

Expand Down Expand Up @@ -98,8 +99,8 @@ func (c *MessagesController) Read(ctx context.Context, msg *cc.Message, reader s
log := c.log.Named("Read")
log.Debug("Req received")

c.Lock()
defer c.Unlock()
c.m.Lock()
defer c.m.Unlock()
cur, err := c.db.Query(ctx, readMessageQuery, map[string]interface{}{
"message": driver.NewDocumentID(MESSAGES_COLLECTION, msg.GetUuid()),
"reader": reader,
Expand Down
13 changes: 13 additions & 0 deletions pkg/stream/stream.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,21 @@ start_stream:
newMessage, err := s.msgCtrl.Read(ctx, message, requestor)
if err != nil {
log.Error("Failed to update readers", zap.Error(err))
return err
}
event.Item = &cc.Event_Msg{Msg: newMessage}

readEvent := &cc.Event{
Type: cc.EventType_CHAT_READ,
Item: &cc.Event_Msg{
Msg: newMessage,
},
}
err = serverStream.Send(readEvent)
if err != nil {
log.Error("Failed to send read event", zap.Error(err))
return err
}
}

err = serverStream.Send(event)
Expand Down

0 comments on commit 3ef6a86

Please sign in to comment.