Adding Error Checking

This commit is contained in:
Sarah Jamie Lewis 2019-02-12 19:41:09 -08:00
parent b607293c2d
commit 27e42afbbf
1 changed files with 19 additions and 7 deletions

View File

@ -126,7 +126,6 @@ func (ps *profileStore) eventHandler() {
ps.profile.Name = ev.Data[event.ProfileName] ps.profile.Name = ev.Data[event.ProfileName]
ps.profile.SetAttribute("name", ev.Data[event.ProfileName]) ps.profile.SetAttribute("name", ev.Data[event.ProfileName])
ps.save() ps.save()
case event.SetAttribute: case event.SetAttribute:
ps.profile.SetAttribute(ev.Data[event.Key], ev.Data[event.Data]) ps.profile.SetAttribute(ev.Data[event.Key], ev.Data[event.Data])
ps.save() ps.save()
@ -135,26 +134,39 @@ func (ps *profileStore) eventHandler() {
if exists { if exists {
contact.SetAttribute(ev.Data[event.Key], ev.Data[event.Data]) contact.SetAttribute(ev.Data[event.Key], ev.Data[event.Data])
ps.save() ps.save()
} else {
log.Errorf("error setting attribute on peer %v peer does not exist", ev)
} }
case event.SetGroupAttribute: case event.SetGroupAttribute:
group, exists := ps.profile.Groups[ev.Data[event.GroupID]] group, exists := ps.profile.Groups[ev.Data[event.GroupID]]
if exists { if exists {
group.SetAttribute(ev.Data[event.Key], ev.Data[event.Data]) group.SetAttribute(ev.Data[event.Key], ev.Data[event.Data])
ps.save() ps.save()
} else {
log.Errorf("error setting attribute on group %v group does not exist", ev)
} }
case event.NewGroupInvite: case event.NewGroupInvite:
var gci protocol.GroupChatInvite var gci protocol.GroupChatInvite
proto.Unmarshal([]byte(ev.Data[event.GroupInvite]), &gci) err := proto.Unmarshal([]byte(ev.Data[event.GroupInvite]), &gci)
ps.profile.ProcessInvite(&gci, ev.Data[event.RemotePeer]) if err == nil {
ps.save() ps.profile.ProcessInvite(&gci, ev.Data[event.RemotePeer])
group := ps.profile.Groups[gci.GetGroupName()] ps.save()
ps.streamStores[group.GroupID] = NewStreamStore(ps.directory, group.LocalID, ps.password) group := ps.profile.Groups[gci.GetGroupName()]
ps.streamStores[group.GroupID] = NewStreamStore(ps.directory, group.LocalID, ps.password)
} else {
log.Errorf("error storing new group invite: %v %v", ev, err)
}
case event.NewMessageFromGroup: case event.NewMessageFromGroup:
groupid := ev.Data[event.GroupID] groupid := ev.Data[event.GroupID]
received, _ := time.Parse(time.RFC3339Nano, ev.Data[event.TimestampReceived]) received, _ := time.Parse(time.RFC3339Nano, ev.Data[event.TimestampReceived])
sent, _ := time.Parse(time.RFC3339Nano, ev.Data[event.TimestampSent]) sent, _ := time.Parse(time.RFC3339Nano, ev.Data[event.TimestampSent])
message := model.Message{Received: received, Timestamp: sent, Message: ev.Data[event.Data], PeerID: ev.Data[event.RemotePeer], Signature: []byte(ev.Data[event.Signature]), PreviousMessageSig: []byte(ev.Data[event.PreviousSignature])} message := model.Message{Received: received, Timestamp: sent, Message: ev.Data[event.Data], PeerID: ev.Data[event.RemotePeer], Signature: []byte(ev.Data[event.Signature]), PreviousMessageSig: []byte(ev.Data[event.PreviousSignature])}
ps.streamStores[groupid].Write(message) ss, exists := ps.streamStores[groupid]
if exists {
ss.Write(message)
} else {
log.Errorf("error storing new group message: %v stream store does not exist", ev)
}
default: default:
return return
} }