Remove PushNotificationRegister as we can use ApplicationMessage as a wrapper

This commit is contained in:
Andrea Maria Piana 2020-06-30 15:14:25 +02:00
parent 4ded7bf74c
commit e19c799be2
No known key found for this signature in database
GPG Key ID: AA6CCA6DE0E06424
6 changed files with 162 additions and 165 deletions

View File

@ -79,7 +79,7 @@ func (x PushNotificationRegistrationResponse_ErrorType) String() string {
}
func (PushNotificationRegistrationResponse_ErrorType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{4, 0}
return fileDescriptor_200acd86044eaa5d, []int{3, 0}
}
type PushNotificationTokenPair struct {
@ -271,53 +271,6 @@ func (m *PushNotificationPreferences) GetAccessToken() string {
return ""
}
type PushNotificationRegister struct {
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PushNotificationRegister) Reset() { *m = PushNotificationRegister{} }
func (m *PushNotificationRegister) String() string { return proto.CompactTextString(m) }
func (*PushNotificationRegister) ProtoMessage() {}
func (*PushNotificationRegister) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{3}
}
func (m *PushNotificationRegister) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PushNotificationRegister.Unmarshal(m, b)
}
func (m *PushNotificationRegister) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PushNotificationRegister.Marshal(b, m, deterministic)
}
func (m *PushNotificationRegister) XXX_Merge(src proto.Message) {
xxx_messageInfo_PushNotificationRegister.Merge(m, src)
}
func (m *PushNotificationRegister) XXX_Size() int {
return xxx_messageInfo_PushNotificationRegister.Size(m)
}
func (m *PushNotificationRegister) XXX_DiscardUnknown() {
xxx_messageInfo_PushNotificationRegister.DiscardUnknown(m)
}
var xxx_messageInfo_PushNotificationRegister proto.InternalMessageInfo
func (m *PushNotificationRegister) GetPayload() []byte {
if m != nil {
return m.Payload
}
return nil
}
func (m *PushNotificationRegister) GetSignature() []byte {
if m != nil {
return m.Signature
}
return nil
}
type PushNotificationRegistrationResponse struct {
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Error PushNotificationRegistrationResponse_ErrorType `protobuf:"varint,2,opt,name=error,proto3,enum=protobuf.PushNotificationRegistrationResponse_ErrorType" json:"error,omitempty"`
@ -332,7 +285,7 @@ func (m *PushNotificationRegistrationResponse) Reset() { *m = PushNotifi
func (m *PushNotificationRegistrationResponse) String() string { return proto.CompactTextString(m) }
func (*PushNotificationRegistrationResponse) ProtoMessage() {}
func (*PushNotificationRegistrationResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{4}
return fileDescriptor_200acd86044eaa5d, []int{3}
}
func (m *PushNotificationRegistrationResponse) XXX_Unmarshal(b []byte) error {
@ -394,7 +347,7 @@ func (m *PushNotificationAdvertisementInfo) Reset() { *m = PushNotificat
func (m *PushNotificationAdvertisementInfo) String() string { return proto.CompactTextString(m) }
func (*PushNotificationAdvertisementInfo) ProtoMessage() {}
func (*PushNotificationAdvertisementInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{5}
return fileDescriptor_200acd86044eaa5d, []int{4}
}
func (m *PushNotificationAdvertisementInfo) XXX_Unmarshal(b []byte) error {
@ -447,7 +400,7 @@ func (m *ContactCodeAdvertisement) Reset() { *m = ContactCodeAdvertiseme
func (m *ContactCodeAdvertisement) String() string { return proto.CompactTextString(m) }
func (*ContactCodeAdvertisement) ProtoMessage() {}
func (*ContactCodeAdvertisement) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{6}
return fileDescriptor_200acd86044eaa5d, []int{5}
}
func (m *ContactCodeAdvertisement) XXX_Unmarshal(b []byte) error {
@ -486,7 +439,7 @@ func (m *PushNotificationQuery) Reset() { *m = PushNotificationQuery{} }
func (m *PushNotificationQuery) String() string { return proto.CompactTextString(m) }
func (*PushNotificationQuery) ProtoMessage() {}
func (*PushNotificationQuery) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{7}
return fileDescriptor_200acd86044eaa5d, []int{6}
}
func (m *PushNotificationQuery) XXX_Unmarshal(b []byte) error {
@ -528,7 +481,7 @@ func (m *PushNotificationQueryInfo) Reset() { *m = PushNotificationQuery
func (m *PushNotificationQueryInfo) String() string { return proto.CompactTextString(m) }
func (*PushNotificationQueryInfo) ProtoMessage() {}
func (*PushNotificationQueryInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{8}
return fileDescriptor_200acd86044eaa5d, []int{7}
}
func (m *PushNotificationQueryInfo) XXX_Unmarshal(b []byte) error {
@ -588,7 +541,7 @@ func (m *PushNotificationQueryResponse) Reset() { *m = PushNotificationQ
func (m *PushNotificationQueryResponse) String() string { return proto.CompactTextString(m) }
func (*PushNotificationQueryResponse) ProtoMessage() {}
func (*PushNotificationQueryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{9}
return fileDescriptor_200acd86044eaa5d, []int{8}
}
func (m *PushNotificationQueryResponse) XXX_Unmarshal(b []byte) error {
@ -628,7 +581,7 @@ func (m *PushNotification) Reset() { *m = PushNotification{} }
func (m *PushNotification) String() string { return proto.CompactTextString(m) }
func (*PushNotification) ProtoMessage() {}
func (*PushNotification) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{10}
return fileDescriptor_200acd86044eaa5d, []int{9}
}
func (m *PushNotification) XXX_Unmarshal(b []byte) error {
@ -677,7 +630,7 @@ func (m *PushNotificationRequest) Reset() { *m = PushNotificationRequest
func (m *PushNotificationRequest) String() string { return proto.CompactTextString(m) }
func (*PushNotificationRequest) ProtoMessage() {}
func (*PushNotificationRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{11}
return fileDescriptor_200acd86044eaa5d, []int{10}
}
func (m *PushNotificationRequest) XXX_Unmarshal(b []byte) error {
@ -737,7 +690,7 @@ func (m *PushNotificationAcknowledgement) Reset() { *m = PushNotificatio
func (m *PushNotificationAcknowledgement) String() string { return proto.CompactTextString(m) }
func (*PushNotificationAcknowledgement) ProtoMessage() {}
func (*PushNotificationAcknowledgement) Descriptor() ([]byte, []int) {
return fileDescriptor_200acd86044eaa5d, []int{12}
return fileDescriptor_200acd86044eaa5d, []int{11}
}
func (m *PushNotificationAcknowledgement) XXX_Unmarshal(b []byte) error {
@ -771,7 +724,6 @@ func init() {
proto.RegisterType((*PushNotificationTokenPair)(nil), "protobuf.PushNotificationTokenPair")
proto.RegisterType((*PushNotificationOptions)(nil), "protobuf.PushNotificationOptions")
proto.RegisterType((*PushNotificationPreferences)(nil), "protobuf.PushNotificationPreferences")
proto.RegisterType((*PushNotificationRegister)(nil), "protobuf.PushNotificationRegister")
proto.RegisterType((*PushNotificationRegistrationResponse)(nil), "protobuf.PushNotificationRegistrationResponse")
proto.RegisterType((*PushNotificationAdvertisementInfo)(nil), "protobuf.PushNotificationAdvertisementInfo")
proto.RegisterType((*ContactCodeAdvertisement)(nil), "protobuf.ContactCodeAdvertisement")
@ -786,60 +738,58 @@ func init() {
func init() { proto.RegisterFile("push_notifications.proto", fileDescriptor_200acd86044eaa5d) }
var fileDescriptor_200acd86044eaa5d = []byte{
// 876 bytes of a gzipped FileDescriptorProto
// 846 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdf, 0x6f, 0xe3, 0x44,
0x10, 0xc6, 0x49, 0xda, 0xc6, 0x93, 0x90, 0xa6, 0xab, 0x5e, 0xcf, 0x1c, 0x1c, 0xd7, 0x1a, 0x10,
0xd5, 0x21, 0x45, 0xa2, 0x48, 0x70, 0x12, 0x4f, 0xa1, 0xe7, 0x1e, 0xa6, 0x8d, 0x13, 0x36, 0x29,
0x3f, 0x9e, 0x2c, 0xc7, 0xde, 0xb4, 0xab, 0xf8, 0xbc, 0x66, 0x77, 0x7d, 0xa7, 0x3c, 0x20, 0x21,
0xf1, 0xce, 0x7f, 0xc2, 0x0b, 0x2f, 0xfc, 0x71, 0xbc, 0x20, 0xaf, 0x7f, 0xd4, 0x75, 0xd2, 0x5e,
0x9f, 0xe2, 0x99, 0xdd, 0x99, 0x9d, 0xf9, 0xe6, 0x9b, 0x2f, 0x60, 0xc4, 0x89, 0xb8, 0x76, 0x23,
0x26, 0xe9, 0x82, 0xfa, 0x9e, 0xa4, 0x2c, 0x12, 0x83, 0x98, 0x33, 0xc9, 0x50, 0x5b, 0xfd, 0xcc,
0x93, 0x85, 0x39, 0x81, 0x0f, 0x26, 0x89, 0xb8, 0x76, 0x2a, 0x97, 0x66, 0x6c, 0x49, 0xa2, 0x89,
0x47, 0x39, 0xda, 0x87, 0x2d, 0x99, 0x1a, 0x86, 0x76, 0xa8, 0x1d, 0x77, 0x71, 0x66, 0xa0, 0xa7,
0x00, 0x71, 0x32, 0x0f, 0xa9, 0xef, 0x2e, 0xc9, 0xca, 0x68, 0xa8, 0x23, 0x3d, 0xf3, 0x9c, 0x93,
0x95, 0xf9, 0x67, 0x13, 0x1e, 0xd7, 0x53, 0x8e, 0x63, 0xf5, 0x3a, 0xfa, 0x01, 0x40, 0xe5, 0x70,
0xe5, 0x2a, 0x26, 0x2a, 0x6b, 0xef, 0xe4, 0x8b, 0x41, 0x51, 0xcc, 0xe0, 0x8e, 0xb0, 0x81, 0xaa,
0x68, 0xb6, 0x8a, 0x09, 0xd6, 0x65, 0xf1, 0x79, 0x53, 0x5c, 0x5a, 0x81, 0x5e, 0x14, 0xf7, 0x39,
0xec, 0xd2, 0x48, 0x48, 0x2f, 0x0c, 0x55, 0x06, 0x97, 0x06, 0x46, 0x53, 0x9d, 0xf7, 0xaa, 0x6e,
0x3b, 0x40, 0x06, 0xec, 0x90, 0xc8, 0x9b, 0x87, 0x24, 0x30, 0x5a, 0x87, 0xda, 0x71, 0x1b, 0x17,
0x26, 0x1a, 0xc3, 0x9e, 0x17, 0x86, 0xec, 0x2d, 0x09, 0xdc, 0x44, 0x10, 0xee, 0x86, 0x54, 0x48,
0x63, 0xeb, 0xb0, 0x79, 0xdc, 0x39, 0xf9, 0xe4, 0xee, 0x5a, 0x4b, 0xd4, 0xf0, 0x6e, 0x1e, 0x7d,
0x29, 0x08, 0xbf, 0xa0, 0x42, 0xa2, 0xe7, 0xb0, 0x37, 0x0f, 0x99, 0xbf, 0x24, 0x81, 0xeb, 0x5f,
0x7b, 0x32, 0x4b, 0xb8, 0x7d, 0xd8, 0x3c, 0xee, 0xe2, 0xdd, 0xfc, 0xe0, 0xf4, 0xda, 0x93, 0xe9,
0x5d, 0xf3, 0x0c, 0xf4, 0xb2, 0x5b, 0x74, 0x00, 0xe8, 0xd2, 0x39, 0x77, 0xc6, 0x3f, 0x3b, 0xee,
0x6c, 0x7c, 0x6e, 0x39, 0xee, 0xec, 0xd7, 0x89, 0xd5, 0x7f, 0x0f, 0xbd, 0x0f, 0xfa, 0x70, 0x92,
0xfb, 0xfa, 0x1a, 0x42, 0xd0, 0x3b, 0xb3, 0xb1, 0xf5, 0xdd, 0x70, 0x6a, 0xe5, 0xbe, 0x86, 0xf9,
0xaf, 0x06, 0x1f, 0xd6, 0x4b, 0x9c, 0x70, 0xb2, 0x20, 0x9c, 0x44, 0x3e, 0x11, 0xe8, 0x5b, 0xd8,
0x61, 0x19, 0xba, 0x86, 0xa6, 0x5a, 0x3b, 0x7a, 0xe7, 0x18, 0x70, 0x11, 0x91, 0x62, 0xf7, 0x86,
0x70, 0x41, 0x59, 0x06, 0x7e, 0x0b, 0x17, 0x26, 0xfa, 0x18, 0x20, 0x89, 0x38, 0xb9, 0xa2, 0x42,
0x12, 0xae, 0x90, 0x6f, 0xe3, 0x8a, 0x07, 0x1d, 0x41, 0xd7, 0xf3, 0x7d, 0x22, 0x84, 0x9b, 0xcd,
0xae, 0xa5, 0x66, 0xd3, 0xc9, 0x7c, 0xaa, 0x71, 0x13, 0x83, 0x51, 0x2f, 0x00, 0x17, 0xe1, 0x06,
0xec, 0xc4, 0xde, 0x2a, 0x64, 0x5e, 0x90, 0x53, 0xb2, 0x30, 0xd1, 0x47, 0xa0, 0x0b, 0x7a, 0x15,
0x79, 0x32, 0xe1, 0xa4, 0xe0, 0x64, 0xe9, 0x30, 0xff, 0x6b, 0xc0, 0xa7, 0x9b, 0x93, 0xf2, 0xfc,
0x5b, 0xc4, 0x2c, 0x12, 0x24, 0x7d, 0x40, 0x24, 0xaa, 0x18, 0xf5, 0x40, 0x1b, 0x17, 0x26, 0x72,
0x60, 0x8b, 0x70, 0xce, 0xb8, 0x4a, 0xde, 0x3b, 0x79, 0x71, 0x37, 0x5c, 0x9b, 0x12, 0x0f, 0xac,
0x34, 0x56, 0x51, 0x38, 0x4b, 0x93, 0x6e, 0x11, 0x27, 0xbf, 0x25, 0x44, 0xc8, 0x82, 0xa3, 0x5d,
0xac, 0xe7, 0x1e, 0x3b, 0x40, 0xaf, 0xa0, 0x13, 0xdf, 0x8c, 0x4b, 0xe1, 0xd4, 0x39, 0xf9, 0xec,
0xee, 0x47, 0x2b, 0xb3, 0xc5, 0xd5, 0x48, 0xf3, 0x0f, 0x0d, 0xf4, 0xf2, 0xf1, 0x2a, 0xa3, 0x2c,
0x8c, 0xc7, 0xb8, 0x60, 0xd4, 0x23, 0xd8, 0x1b, 0x0d, 0x2f, 0xce, 0xc6, 0x78, 0x64, 0xbd, 0x74,
0x47, 0xd6, 0x74, 0x3a, 0x7c, 0x65, 0xf5, 0x35, 0xb4, 0x0f, 0xfd, 0x9f, 0x2c, 0x3c, 0xb5, 0xc7,
0x8e, 0x3b, 0xb2, 0xa7, 0xa3, 0xe1, 0xec, 0xf4, 0xfb, 0x7e, 0x03, 0x3d, 0x81, 0x83, 0x4b, 0x67,
0x7a, 0x39, 0x99, 0x8c, 0xf1, 0xcc, 0x7a, 0x59, 0xa5, 0x66, 0x33, 0xe5, 0xa2, 0xed, 0xcc, 0x2c,
0xec, 0x0c, 0x2f, 0xb2, 0x17, 0xfa, 0x2d, 0xf3, 0x2f, 0x0d, 0x8e, 0xea, 0xf5, 0x0e, 0x83, 0x37,
0x84, 0x4b, 0x2a, 0xc8, 0x6b, 0x12, 0x49, 0x3b, 0x5a, 0xb0, 0x9a, 0xac, 0x68, 0x35, 0x59, 0x59,
0x63, 0x4e, 0x63, 0x8d, 0x39, 0x0f, 0xde, 0x7d, 0xf3, 0x77, 0x30, 0x4e, 0x59, 0x24, 0x3d, 0x5f,
0x9e, 0xb2, 0x80, 0xdc, 0x2a, 0x05, 0x79, 0x70, 0xb0, 0x26, 0x9b, 0x2e, 0x8d, 0x16, 0x2c, 0xdf,
0x93, 0x7b, 0xe4, 0x6a, 0xad, 0x27, 0xbc, 0x1f, 0xd7, 0xae, 0xa4, 0x5e, 0xf3, 0x05, 0x3c, 0xaa,
0x87, 0xfe, 0x98, 0x10, 0xbe, 0x42, 0xcf, 0xa0, 0x73, 0x03, 0x41, 0xb6, 0x98, 0x5d, 0x0c, 0x25,
0x06, 0xc2, 0xfc, 0x47, 0x5b, 0x97, 0x6b, 0x15, 0xaa, 0x10, 0xac, 0x43, 0xa4, 0x3d, 0x08, 0xa2,
0xc6, 0x46, 0x79, 0xbc, 0x3d, 0x8d, 0x66, 0x7d, 0x1a, 0xcf, 0x37, 0x69, 0x64, 0x4b, 0xdd, 0xaa,
0xcb, 0x9f, 0xf9, 0x0b, 0x3c, 0xdd, 0x58, 0x73, 0xb9, 0x74, 0xdf, 0x40, 0xab, 0x02, 0xf0, 0x3d,
0x1a, 0x5b, 0xb6, 0x8a, 0x55, 0x80, 0xe9, 0x40, 0xbf, 0x7e, 0xe5, 0x21, 0x20, 0x3c, 0x86, 0x1d,
0xa5, 0xc3, 0x65, 0xf3, 0xdb, 0xa9, 0x69, 0x07, 0xe6, 0xdf, 0xda, 0xfa, 0x5f, 0x17, 0xce, 0x56,
0x12, 0x7d, 0x0d, 0xed, 0x7c, 0x3b, 0x0b, 0xc5, 0x7c, 0x72, 0x8f, 0x04, 0x94, 0x77, 0x53, 0x45,
0x79, 0x4d, 0x84, 0xf0, 0xae, 0x0a, 0x59, 0x2a, 0xcc, 0x14, 0xe2, 0xfc, 0xf3, 0x86, 0xa9, 0x7a,
0xee, 0xb1, 0x83, 0xac, 0x91, 0xa5, 0x9b, 0x26, 0xa2, 0x3c, 0xff, 0x97, 0x52, 0x8d, 0x2c, 0x71,
0xee, 0x32, 0xbf, 0x84, 0x67, 0x6b, 0x1c, 0xf4, 0x97, 0x11, 0x7b, 0x1b, 0x92, 0xe0, 0x2a, 0xa3,
0x73, 0x0f, 0x1a, 0x34, 0xc8, 0x41, 0x68, 0xd0, 0x60, 0xbe, 0xad, 0x6a, 0xfe, 0xea, 0xff, 0x00,
0x00, 0x00, 0xff, 0xff, 0xc3, 0x71, 0xe1, 0x4f, 0x1c, 0x08, 0x00, 0x00,
0x10, 0xc6, 0x49, 0xda, 0x26, 0x93, 0x90, 0xa6, 0xab, 0x5e, 0xcf, 0x1c, 0x3a, 0xae, 0x35, 0x20,
0xaa, 0x43, 0x8a, 0x44, 0x91, 0xe0, 0x24, 0x9e, 0x42, 0xcf, 0x3d, 0x4c, 0x1b, 0xdb, 0x6c, 0x52,
0x7e, 0x3c, 0x59, 0x8e, 0xbd, 0x69, 0x57, 0xf1, 0x79, 0xcd, 0xee, 0xfa, 0x4e, 0x79, 0x40, 0x42,
0xe2, 0x9d, 0xff, 0x84, 0x17, 0x5e, 0xf8, 0xe3, 0x78, 0x41, 0x5e, 0xff, 0xa8, 0xcf, 0x69, 0x4b,
0x9f, 0xec, 0x19, 0xcf, 0xcc, 0x7e, 0xf3, 0xcd, 0xec, 0x67, 0xd0, 0x93, 0x54, 0x5c, 0x7b, 0x31,
0x93, 0x74, 0x49, 0x03, 0x5f, 0x52, 0x16, 0x8b, 0x71, 0xc2, 0x99, 0x64, 0xa8, 0xab, 0x1e, 0x8b,
0x74, 0x69, 0xb8, 0xf0, 0x81, 0x9b, 0x8a, 0x6b, 0xbb, 0x16, 0x34, 0x67, 0x2b, 0x12, 0xbb, 0x3e,
0xe5, 0x68, 0x1f, 0xb6, 0x64, 0x66, 0xe8, 0xda, 0xa1, 0x76, 0x3c, 0xc0, 0xb9, 0x81, 0x9e, 0x02,
0x24, 0xe9, 0x22, 0xa2, 0x81, 0xb7, 0x22, 0x6b, 0xbd, 0xa5, 0x3e, 0xf5, 0x72, 0xcf, 0x39, 0x59,
0x1b, 0x7f, 0xb4, 0xe1, 0x71, 0xb3, 0xa4, 0x93, 0xa8, 0xd3, 0xd1, 0xf7, 0x00, 0xaa, 0x86, 0x27,
0xd7, 0x09, 0x51, 0x55, 0x87, 0x27, 0x9f, 0x8f, 0x4b, 0x30, 0xe3, 0x3b, 0xd2, 0xc6, 0x0a, 0xd1,
0x7c, 0x9d, 0x10, 0xdc, 0x93, 0xe5, 0xeb, 0x0d, 0xb8, 0x0c, 0x41, 0xaf, 0x04, 0xf7, 0x19, 0xec,
0xd2, 0x58, 0x48, 0x3f, 0x8a, 0x54, 0x05, 0x8f, 0x86, 0x7a, 0x5b, 0x7d, 0x1f, 0xd6, 0xdd, 0x56,
0x88, 0x74, 0xd8, 0x21, 0xb1, 0xbf, 0x88, 0x48, 0xa8, 0x77, 0x0e, 0xb5, 0xe3, 0x2e, 0x2e, 0x4d,
0xe4, 0xc0, 0x9e, 0x1f, 0x45, 0xec, 0x2d, 0x09, 0xbd, 0x54, 0x10, 0xee, 0x45, 0x54, 0x48, 0x7d,
0xeb, 0xb0, 0x7d, 0xdc, 0x3f, 0xf9, 0xf8, 0x6e, 0xac, 0x15, 0x6b, 0x78, 0xb7, 0xc8, 0xbe, 0x14,
0x84, 0x5f, 0x50, 0x21, 0xd1, 0x73, 0xd8, 0x5b, 0x44, 0x2c, 0x58, 0x91, 0xd0, 0x0b, 0xae, 0x7d,
0x99, 0x17, 0xdc, 0x3e, 0x6c, 0x1f, 0x0f, 0xf0, 0x6e, 0xf1, 0xe1, 0xf4, 0xda, 0x97, 0x59, 0xac,
0x71, 0x06, 0xbd, 0xaa, 0x5b, 0x74, 0x00, 0xe8, 0xd2, 0x3e, 0xb7, 0x9d, 0x9f, 0x6c, 0x6f, 0xee,
0x9c, 0x9b, 0xb6, 0x37, 0xff, 0xc5, 0x35, 0x47, 0xef, 0xa1, 0xf7, 0xa1, 0x37, 0x71, 0x0b, 0xdf,
0x48, 0x43, 0x08, 0x86, 0x67, 0x16, 0x36, 0xbf, 0x9d, 0xcc, 0xcc, 0xc2, 0xd7, 0x32, 0xfe, 0xd1,
0xe0, 0xc3, 0x26, 0x44, 0x97, 0x93, 0x25, 0xe1, 0x24, 0x0e, 0x88, 0x40, 0xdf, 0xc0, 0x0e, 0xcb,
0xd9, 0xd5, 0x35, 0xd5, 0xda, 0xd1, 0xff, 0x8e, 0x01, 0x97, 0x19, 0x19, 0x77, 0x6f, 0x08, 0x17,
0x94, 0xe5, 0xe4, 0x77, 0x70, 0x69, 0xa2, 0x8f, 0x00, 0xd2, 0x98, 0x93, 0x2b, 0x2a, 0x24, 0xe1,
0x8a, 0xf9, 0x2e, 0xae, 0x79, 0xd0, 0x11, 0x0c, 0xfc, 0x20, 0x20, 0x42, 0x78, 0xf9, 0xec, 0x3a,
0x6a, 0x36, 0xfd, 0xdc, 0xa7, 0x1a, 0x37, 0xfe, 0x6d, 0xc1, 0x27, 0x4d, 0x04, 0x58, 0xe5, 0xf3,
0xe2, 0x5d, 0x24, 0x2c, 0x16, 0x24, 0x43, 0x21, 0x52, 0x95, 0xa8, 0x36, 0xa9, 0x8b, 0x4b, 0x13,
0xd9, 0xb0, 0x45, 0x38, 0x67, 0x5c, 0xa1, 0x1b, 0x9e, 0xbc, 0xb8, 0xbb, 0xb5, 0xdb, 0x0a, 0x8f,
0xcd, 0x2c, 0x57, 0xad, 0x5b, 0x5e, 0x26, 0xdb, 0x78, 0x4e, 0x7e, 0x4d, 0x89, 0x90, 0xe5, 0x3e,
0x0d, 0x70, 0xaf, 0xf0, 0x58, 0x21, 0x7a, 0x05, 0xfd, 0xe4, 0x86, 0x5a, 0xd5, 0x53, 0xff, 0xe4,
0xd3, 0xbb, 0x0f, 0xad, 0xcd, 0x01, 0xd7, 0x33, 0x8d, 0xdf, 0x35, 0xe8, 0x55, 0x87, 0xd7, 0xa7,
0x6f, 0x62, 0xec, 0xe0, 0x72, 0xfa, 0x8f, 0x60, 0x6f, 0x3a, 0xb9, 0x38, 0x73, 0xf0, 0xd4, 0x7c,
0xe9, 0x4d, 0xcd, 0xd9, 0x6c, 0xf2, 0xca, 0x1c, 0x69, 0x68, 0x1f, 0x46, 0x3f, 0x9a, 0x78, 0x66,
0x39, 0xb6, 0x37, 0xb5, 0x66, 0xd3, 0xc9, 0xfc, 0xf4, 0xbb, 0x51, 0x0b, 0x3d, 0x81, 0x83, 0x4b,
0x7b, 0x76, 0xe9, 0xba, 0x0e, 0x9e, 0x9b, 0x2f, 0xeb, 0x6b, 0xd4, 0xce, 0xf6, 0xc6, 0xb2, 0xe7,
0x26, 0xb6, 0x27, 0x17, 0xf9, 0x09, 0xa3, 0x8e, 0xf1, 0xa7, 0x06, 0x47, 0x4d, 0xbc, 0x93, 0xf0,
0x0d, 0xe1, 0x92, 0x0a, 0xf2, 0x9a, 0xc4, 0xd2, 0x8a, 0x97, 0xac, 0x21, 0x01, 0x5a, 0x43, 0x02,
0x36, 0xa6, 0xdc, 0xda, 0x98, 0xf2, 0x83, 0xef, 0xa9, 0xf1, 0x1b, 0xe8, 0xa7, 0x2c, 0x96, 0x7e,
0x20, 0x4f, 0x59, 0x48, 0xde, 0x81, 0x82, 0x7c, 0x38, 0xd8, 0x90, 0x38, 0x8f, 0xc6, 0x4b, 0x56,
0xec, 0xf4, 0x3d, 0xd2, 0xb2, 0xd1, 0x13, 0xde, 0x4f, 0x1a, 0x21, 0x99, 0xd7, 0x78, 0x01, 0x8f,
0x9a, 0xa9, 0x3f, 0xa4, 0x84, 0xaf, 0xd1, 0x33, 0xe8, 0xdf, 0x50, 0x90, 0x5f, 0xa2, 0x01, 0x86,
0x8a, 0x03, 0x61, 0xfc, 0xad, 0x6d, 0x4a, 0xab, 0x4a, 0x55, 0x0c, 0x36, 0x29, 0xd2, 0x1e, 0x44,
0x51, 0xeb, 0x56, 0x29, 0x7b, 0x77, 0x1a, 0xed, 0xe6, 0x34, 0x9e, 0xdf, 0xa6, 0x67, 0x1d, 0x15,
0xd5, 0x94, 0x2a, 0xe3, 0x67, 0x78, 0x7a, 0x2b, 0xe6, 0xea, 0xd2, 0x7d, 0x0d, 0x9d, 0x1a, 0xc1,
0xf7, 0xe8, 0x61, 0xd5, 0x2a, 0x56, 0x09, 0x86, 0x0d, 0xa3, 0x66, 0xc8, 0x43, 0x48, 0x78, 0x0c,
0x3b, 0x4a, 0x33, 0xab, 0xe6, 0xb7, 0x33, 0xd3, 0x0a, 0x8d, 0xbf, 0xb4, 0xcd, 0xdf, 0x0c, 0xce,
0xaf, 0x24, 0xfa, 0x0a, 0xba, 0xc5, 0xed, 0x2c, 0xd5, 0xed, 0xc9, 0x3d, 0x12, 0x50, 0xc5, 0x66,
0x8a, 0xf2, 0x9a, 0x08, 0xe1, 0x5f, 0x91, 0xe2, 0xb7, 0x56, 0x9a, 0x19, 0xc5, 0xc5, 0xeb, 0xcd,
0xa6, 0xf6, 0x0a, 0x8f, 0x15, 0xe6, 0x8d, 0xac, 0xbc, 0xac, 0x10, 0xe5, 0xc5, 0x1f, 0x45, 0x35,
0xb2, 0xc2, 0x85, 0xcb, 0xf8, 0x02, 0x9e, 0x6d, 0xec, 0x60, 0xb0, 0x8a, 0xd9, 0xdb, 0x88, 0x84,
0x57, 0xf9, 0x3a, 0x0f, 0xa1, 0x45, 0xc3, 0x82, 0x84, 0x16, 0x0d, 0x17, 0xdb, 0x0a, 0xf3, 0x97,
0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xd1, 0xea, 0x9e, 0xf4, 0xc8, 0x07, 0x00, 0x00,
}

View File

@ -28,12 +28,6 @@ message PushNotificationPreferences {
string access_token = 4;
}
message PushNotificationRegister {
bytes payload = 1;
bytes signature = 2;
}
message PushNotificationRegistrationResponse {
bool success = 1;
ErrorType error = 2;

View File

@ -9,8 +9,6 @@ import (
"golang.org/x/crypto/sha3"
"github.com/golang/protobuf/proto"
"github.com/google/uuid"
"github.com/status-im/status-go/eth-node/crypto"
@ -51,8 +49,8 @@ type Client struct {
persistence *Persistence
config *Config
// lastPushNotificationRegister is the latest known push notification register message
lastPushNotificationRegister *protobuf.PushNotificationRegister
// lastPushNotificationPreferences is the latest known push notification preferences message
lastPushNotificationPreferences *protobuf.PushNotificationPreferences
// AccessToken is the access token that is currently being used
AccessToken string
@ -171,13 +169,11 @@ func (p *Client) buildPushNotificationOptionsMessage(token string) (*protobuf.Pu
return options, nil
}
func (p *Client) buildPushNotificationRegisterMessage() (*protobuf.PushNotificationRegister, error) {
func (p *Client) buildPushNotificationPreferencesMessage() (*protobuf.PushNotificationPreferences, error) {
pushNotificationPreferences := &protobuf.PushNotificationPreferences{}
if p.lastPushNotificationRegister != nil {
if err := proto.Unmarshal(p.lastPushNotificationRegister.Payload, pushNotificationPreferences); err != nil {
return nil, err
}
if p.lastPushNotificationPreferences != nil {
pushNotificationPreferences = p.lastPushNotificationPreferences
}
// Increment version
@ -209,14 +205,7 @@ func (p *Client) buildPushNotificationRegisterMessage() (*protobuf.PushNotificat
pushNotificationPreferences.Options = options
// Marshal
payload, err := proto.Marshal(pushNotificationPreferences)
if err != nil {
return nil, err
}
message := &protobuf.PushNotificationRegister{Payload: payload}
return message, nil
return pushNotificationPreferences, nil
}
func (p *Client) Register(deviceToken string) error {

View File

@ -7,7 +7,6 @@ import (
"testing"
"github.com/golang/protobuf/proto"
"github.com/google/uuid"
"github.com/status-im/status-go/eth-node/crypto"
"github.com/status-im/status-go/eth-node/crypto/ecies"
@ -87,15 +86,10 @@ func TestBuildPushNotificationRegisterMessage(t *testing.T) {
AccessToken: expectedUUID,
}
// Marshal message
marshaledPreferences, err := proto.Marshal(preferences)
actualMessage, err := client.buildPushNotificationPreferencesMessage()
require.NoError(t, err)
expectedMessage := &protobuf.PushNotificationRegister{Payload: marshaledPreferences}
actualMessage, err := client.buildPushNotificationRegisterMessage()
require.NoError(t, err)
require.Equal(t, expectedMessage, actualMessage)
require.Equal(t, preferences, actualMessage)
}
func TestBuildPushNotificationRegisterMessageWithPrevious(t *testing.T) {
@ -124,12 +118,6 @@ func TestBuildPushNotificationRegisterMessageWithPrevious(t *testing.T) {
AccessToken: "some-token",
}
// Marshal message
marshaledPreferences2, err := proto.Marshal(preferences2)
require.NoError(t, err)
lastPushNotificationRegister := &protobuf.PushNotificationRegister{Payload: marshaledPreferences2}
mutedChatList := []string{"a", "b"}
// build chat lish hashes
@ -188,7 +176,7 @@ func TestBuildPushNotificationRegisterMessageWithPrevious(t *testing.T) {
client := &Client{}
client.config = config
client.DeviceToken = deviceToken1
client.lastPushNotificationRegister = lastPushNotificationRegister
client.lastPushNotificationPreferences = preferences2
// Set reader
client.reader = bytes.NewReader([]byte(expectedUUID))
@ -207,13 +195,8 @@ func TestBuildPushNotificationRegisterMessageWithPrevious(t *testing.T) {
AccessToken: expectedUUID,
}
// Marshal message
marshaledPreferences, err := proto.Marshal(preferences)
actualMessage, err := client.buildPushNotificationPreferencesMessage()
require.NoError(t, err)
expectedMessage := &protobuf.PushNotificationRegister{Payload: marshaledPreferences}
actualMessage, err := client.buildPushNotificationRegisterMessage()
require.NoError(t, err)
require.Equal(t, expectedMessage, actualMessage)
require.Equal(t, preferences, actualMessage)
}

View File

@ -1,12 +1,23 @@
package protocol
import (
"crypto/ecdsa"
"errors"
"fmt"
"crypto/aes"
"crypto/cipher"
"crypto/ecdsa"
"github.com/status-im/status-go/eth-node/crypto/ecies"
"github.com/status-im/status-go/protocol/protobuf"
)
var ErrEmptyPushNotificationRegisterMessage = errors.New("empty PushNotificationRegisterMessage")
const encryptedPayloadKeyLength = 16
const nonceLength = 12
var ErrInvalidPushNotificationRegisterVersion = errors.New("invalid version")
var ErrEmptyPushNotificationRegisterPayload = errors.New("empty payload")
var ErrEmptyPushNotificationRegisterPublicKey = errors.New("no public key")
type Config struct {
// Identity is our identity key
@ -24,9 +35,52 @@ func New(persistence *Persistence) *Server {
return &Server{persistence: persistence}
}
func (p *Server) ValidateRegistration(previousRegistration *protobuf.PushNotificationRegister, newRegistration *protobuf.PushNotificationRegister) error {
if newRegistration == nil {
return ErrEmptyPushNotificationRegisterMessage
func (p *Server) ValidateRegistration(previousPreferences *protobuf.PushNotificationPreferences, publicKey *ecdsa.PublicKey, payload []byte) error {
if payload == nil {
return ErrEmptyPushNotificationRegisterPayload
}
if publicKey == nil {
return ErrEmptyPushNotificationRegisterPublicKey
}
sharedKey, err := ecies.ImportECDSA(p.config.Identity).GenerateShared(
ecies.ImportECDSAPublic(publicKey),
encryptedPayloadKeyLength,
encryptedPayloadKeyLength,
)
if err != nil {
return err
}
decryptedPayload, err := decrypt(payload, sharedKey)
if err != nil {
return err
}
fmt.Println(decryptedPayload)
/*if newRegistration.Version < 1 {
return ErrInvalidPushNotificationRegisterVersion
}*/
return nil
}
func decrypt(cyphertext []byte, key []byte) ([]byte, error) {
if len(cyphertext) < nonceLength {
return nil, errors.New("invalid cyphertext length")
}
c, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
gcm, err := cipher.NewGCM(c)
if err != nil {
return nil, err
}
nonce := cyphertext[:nonceLength]
return gcm.Open(nil, nonce, cyphertext, nil)
}

View File

@ -3,11 +3,38 @@ package protocol
import (
"testing"
"github.com/ethereum/go-ethereum/crypto"
"github.com/stretchr/testify/require"
//nodecrypto "github.com/status-im/status-go/eth-node/crypto"
//"github.com/status-im/status-go/protocol/protobuf"
)
func TestPushNotificationServerValidateRegistration(t *testing.T) {
server := Server{}
require.Equal(t, ErrEmptyPushNotificationRegisterMessage, server.ValidateRegistration(nil, nil))
identity, err := crypto.GenerateKey()
require.NoError(t, err)
key, err := crypto.GenerateKey()
require.NoError(t, err)
config := &Config{
Identity: identity,
}
server := Server{config: config}
// Empty payload
require.Equal(t, ErrEmptyPushNotificationRegisterPayload, server.ValidateRegistration(nil, &key.PublicKey, nil))
// Empty key
require.Equal(t, ErrEmptyPushNotificationRegisterPublicKey, server.ValidateRegistration(nil, nil, []byte("payload")))
/*
// Invalid signature
signature, err := nodecrypto.SignBytes([]byte("a"), key)
require.Equal(t, ErrInvalidPushNotificationRegisterVersion, server.ValidateRegistration(nil, &protobuf.PushNotificationRegister{
Payload: []byte("btahtasht"),
Signature: signature,
}))*/
}