diff --git a/notes/handler/notes.go b/notes/handler/notes.go index 57368bc..5c8b41f 100644 --- a/notes/handler/notes.go +++ b/notes/handler/notes.go @@ -192,26 +192,26 @@ func (h *Notes) Subscribe(ctx context.Context, req *pb.SubscribeRequest, stream return nil } - ev := msg.Message.AsMap() - if ev == nil { + v, err := msg.Message.MarshalJSON() + if err != nil { continue } - note, ok := ev["note"].(*pb.Note) - if !ok { + rsp := new(pb.SubscribeResponse) + + if err := json.Unmarshal(v, rsp); err != nil { continue } + note := rsp.Note + // filter if necessary by id if len(req.Id) > 0 && note.Id != req.Id { continue } // send back the event to the client - if err := stream.Send(&pb.SubscribeResponse{ - Event: ev["type"].(string), - Note: note, - }); err != nil { + if err := stream.Send(rsp); err != nil { return nil } }