Private
Public Access
1
0

server: implements /markConversation

This commit is contained in:
2023-07-19 12:10:25 -06:00
parent 1fce2c7cb3
commit b77020e23c
3 changed files with 88 additions and 6 deletions

View File

@@ -151,21 +151,27 @@ func (s *Server) AppendMessageToConversation(conversation *model.Conversation, m
func (s *Server) SendMessage(conversation *model.Conversation, message model.Message) {
s.AppendMessageToConversation(conversation, message)
conversation.LastMessagePreview = message.Text
conversation.Date = message.Date
// Update Conversation
ourConversation, _ := s.ConversationForGUID(conversation.Guid)
ourConversation.LastMessagePreview = message.Text
ourConversation.Date = message.Date
log.Info().EmbedObject(message).Msgf("Sent message to conversation %s", conversation.Guid)
}
func (s *Server) ReceiveMessage(conversation *model.Conversation, message model.Message) {
s.AppendMessageToConversation(conversation, message)
conversation.LastMessagePreview = message.Text
conversation.Date = message.Date
conversation.UnreadCount += 1
// Update conversation
ourConversation, _ := s.ConversationForGUID(conversation.Guid)
ourConversation.LastMessagePreview = message.Text
ourConversation.Date = message.Date
ourConversation.UnreadCount += 1
// Enqueue Update
s.EnqueueUpdateItem(model.UpdateItem{
Conversation: conversation,
Conversation: ourConversation,
Message: &message,
})
@@ -209,6 +215,15 @@ func (s *Server) FetchUpdatesBlocking(since int) []model.UpdateItem {
}
}
func (s *Server) MarkConversationAsRead(conversation *model.Conversation) {
conversation.UnreadCount = 0
// enqueue update
s.EnqueueUpdateItem(model.UpdateItem{
Conversation: conversation,
})
}
// Private
func (s *Server) registerAuthToken(token *model.AuthToken) {