Return Enhanced Peer Message
continuous-integration/drone/pr Build is passing Details

This commit is contained in:
Sarah Jamie Lewis 2021-05-02 20:43:28 -07:00
parent 3f07d9a134
commit aef23fde74
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))) 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 { func GetMessage(profileOnion, handle string, message_index int) string {
profile := application.GetPeer(profileOnion) profile := application.GetPeer(profileOnion)
ph := utils.NewPeerHelper(profile) ph := utils.NewPeerHelper(profile)
var message model.Message var message EnhancedMessage
if ph.IsGroup(handle) { if ph.IsGroup(handle) {
if len(profile.GetGroup(handle).Timeline.Messages) > message_index { 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 { } 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) bytes, _ := json.Marshal(message)
return string(bytes) return string(bytes)