Merge pull request 'Return Enhanced Peer Message' (#32) from groups into trunk
continuous-integration/drone/push Build is passing Details

Reviewed-on: #32
This commit is contained in:
erinn 2021-05-02 20:49:50 -07:00
commit d5e9907ca4
1 changed files with 11 additions and 3 deletions

14
lib.go
View File

@ -447,16 +447,24 @@ func c_GetMessage(profile_ptr *C.char, profile_len C.int, handle_ptr *C.char, ha
return C.CString(GetMessage(profile, handle, int(message_index)))
}
// EnhancedMessage wraps a Cwtch model.Message with some additional data to reduce calls from the UI.
type EnhancedMessage struct {
model.Message
ContactImage string
}
func GetMessage(profileOnion, handle string, message_index int) string {
profile := application.GetPeer(profileOnion)
ph := utils.NewPeerHelper(profile)
var message model.Message
var message EnhancedMessage
if ph.IsGroup(handle) {
if len(profile.GetGroup(handle).Timeline.Messages) > message_index {
message = profile.GetGroup(handle).Timeline.Messages[message_index]
message.Message = profile.GetGroup(handle).Timeline.Messages[message_index]
message.ContactImage = ph.GetProfilePic(message.Message.PeerID)
}
} else {
message = profile.GetContact(handle).Timeline.Messages[message_index]
message.Message = profile.GetContact(handle).Timeline.Messages[message_index]
message.ContactImage = ph.GetProfilePic(handle)
}
bytes, _ := json.Marshal(message)
return string(bytes)