diff --git a/grpcapi/agenda.pb.go b/grpcapi/agenda.pb.go index 8c691ce..820842c 100644 --- a/grpcapi/agenda.pb.go +++ b/grpcapi/agenda.pb.go @@ -2,17 +2,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.0 -// protoc v3.19.4 +// protoc-gen-go v1.28.1 +// protoc v3.12.4 // source: agenda.proto package grpcapi import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - structpb "google.golang.org/protobuf/types/known/structpb" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) @@ -311,9 +311,9 @@ type GetEventsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Namespaces []string `protobuf:"bytes,10,rep,name=namespaces,proto3" json:"namespaces,omitempty"` - Mindate *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=mindate,proto3" json:"mindate,omitempty"` - Maxdate *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=maxdate,proto3" json:"maxdate,omitempty"` + Namespaces []string `protobuf:"bytes,10,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + Mindate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=mindate,proto3" json:"mindate,omitempty"` + Maxdate *timestamp.Timestamp `protobuf:"bytes,12,opt,name=maxdate,proto3" json:"maxdate,omitempty"` } func (x *GetEventsRequest) Reset() { @@ -355,14 +355,14 @@ func (x *GetEventsRequest) GetNamespaces() []string { return nil } -func (x *GetEventsRequest) GetMindate() *timestamppb.Timestamp { +func (x *GetEventsRequest) GetMindate() *timestamp.Timestamp { if x != nil { return x.Mindate } return nil } -func (x *GetEventsRequest) GetMaxdate() *timestamppb.Timestamp { +func (x *GetEventsRequest) GetMaxdate() *timestamp.Timestamp { if x != nil { return x.Maxdate } @@ -421,9 +421,9 @@ type SubscribeEventRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subscriber string `protobuf:"bytes,20,opt,name=subscriber,proto3" json:"subscriber,omitempty"` - Eventid string `protobuf:"bytes,21,opt,name=eventid,proto3" json:"eventid,omitempty"` - Data *structpb.Struct `protobuf:"bytes,22,opt,name=data,proto3" json:"data,omitempty"` + Subscriber string `protobuf:"bytes,20,opt,name=subscriber,proto3" json:"subscriber,omitempty"` + Eventid string `protobuf:"bytes,21,opt,name=eventid,proto3" json:"eventid,omitempty"` + Data *_struct.Struct `protobuf:"bytes,22,opt,name=data,proto3" json:"data,omitempty"` } func (x *SubscribeEventRequest) Reset() { @@ -472,7 +472,7 @@ func (x *SubscribeEventRequest) GetEventid() string { return "" } -func (x *SubscribeEventRequest) GetData() *structpb.Struct { +func (x *SubscribeEventRequest) GetData() *_struct.Struct { if x != nil { return x.Data } @@ -628,6 +628,116 @@ func (x *UnsubscribeEventResponse) GetOk() bool { return false } +type DeleteSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subscriber string `protobuf:"bytes,32,opt,name=subscriber,proto3" json:"subscriber,omitempty"` + Eventid string `protobuf:"bytes,33,opt,name=eventid,proto3" json:"eventid,omitempty"` + Data *_struct.Struct `protobuf:"bytes,34,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *DeleteSubscriptionRequest) Reset() { + *x = DeleteSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubscriptionRequest) ProtoMessage() {} + +func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteSubscriptionRequest) GetSubscriber() string { + if x != nil { + return x.Subscriber + } + return "" +} + +func (x *DeleteSubscriptionRequest) GetEventid() string { + if x != nil { + return x.Eventid + } + return "" +} + +func (x *DeleteSubscriptionRequest) GetData() *_struct.Struct { + if x != nil { + return x.Data + } + return nil +} + +type DeleteSubscriptionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ok bool `protobuf:"varint,41,opt,name=ok,proto3" json:"ok,omitempty"` +} + +func (x *DeleteSubscriptionResponse) Reset() { + *x = DeleteSubscriptionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubscriptionResponse) ProtoMessage() {} + +func (x *DeleteSubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*DeleteSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{13} +} + +func (x *DeleteSubscriptionResponse) GetOk() bool { + if x != nil { + return x.Ok + } + return false +} + var File_agenda_proto protoreflect.FileDescriptor var file_agenda_proto_rawDesc = []byte{ @@ -685,34 +795,50 @@ var file_agenda_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x27, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x32, 0xf9, 0x02, 0x0a, 0x06, 0x41, 0x67, 0x65, 0x6e, - 0x64, 0x61, 0x12, 0x3a, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x12, 0x13, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x31, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x2e, 0x47, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x34, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x11, - 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x12, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x10, 0x55, 0x6e, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x55, - 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x70, 0x67, - 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2d, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x2f, 0x67, 0x72, 0x70, 0x63, - 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x82, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, + 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, + 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x1a, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, + 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x32, 0xca, 0x03, 0x0a, 0x06, 0x41, + 0x67, 0x65, 0x6e, 0x64, 0x61, 0x12, 0x3a, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x31, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x2e, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x11, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x11, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0b, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x10, 0x55, + 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x18, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x55, 0x6e, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x2e, 0x63, + 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x2f, + 0x67, 0x72, 0x70, 0x63, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -727,49 +853,54 @@ func file_agenda_proto_rawDescGZIP() []byte { return file_agenda_proto_rawDescData } -var file_agenda_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_agenda_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_agenda_proto_goTypes = []interface{}{ - (*CreateEventRequest)(nil), // 0: CreateEventRequest - (*CreateEventResponse)(nil), // 1: CreateEventResponse - (*GetEventRequest)(nil), // 2: GetEventRequest - (*GetEventResponse)(nil), // 3: GetEventResponse - (*DeleteEventRequest)(nil), // 4: DeleteEventRequest - (*DeleteEventResponse)(nil), // 5: DeleteEventResponse - (*GetEventsRequest)(nil), // 6: GetEventsRequest - (*GetEventsResponse)(nil), // 7: GetEventsResponse - (*SubscribeEventRequest)(nil), // 8: SubscribeEventRequest - (*SubscribeEventResponse)(nil), // 9: SubscribeEventResponse - (*UnsubscribeEventRequest)(nil), // 10: UnsubscribeEventRequest - (*UnsubscribeEventResponse)(nil), // 11: UnsubscribeEventResponse - (*Event)(nil), // 12: Event - (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 14: google.protobuf.Struct + (*CreateEventRequest)(nil), // 0: CreateEventRequest + (*CreateEventResponse)(nil), // 1: CreateEventResponse + (*GetEventRequest)(nil), // 2: GetEventRequest + (*GetEventResponse)(nil), // 3: GetEventResponse + (*DeleteEventRequest)(nil), // 4: DeleteEventRequest + (*DeleteEventResponse)(nil), // 5: DeleteEventResponse + (*GetEventsRequest)(nil), // 6: GetEventsRequest + (*GetEventsResponse)(nil), // 7: GetEventsResponse + (*SubscribeEventRequest)(nil), // 8: SubscribeEventRequest + (*SubscribeEventResponse)(nil), // 9: SubscribeEventResponse + (*UnsubscribeEventRequest)(nil), // 10: UnsubscribeEventRequest + (*UnsubscribeEventResponse)(nil), // 11: UnsubscribeEventResponse + (*DeleteSubscriptionRequest)(nil), // 12: DeleteSubscriptionRequest + (*DeleteSubscriptionResponse)(nil), // 13: DeleteSubscriptionResponse + (*Event)(nil), // 14: Event + (*timestamp.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*_struct.Struct)(nil), // 16: google.protobuf.Struct } var file_agenda_proto_depIdxs = []int32{ - 12, // 0: CreateEventRequest.event:type_name -> Event - 12, // 1: CreateEventResponse.event:type_name -> Event - 12, // 2: GetEventResponse.event:type_name -> Event - 13, // 3: GetEventsRequest.mindate:type_name -> google.protobuf.Timestamp - 13, // 4: GetEventsRequest.maxdate:type_name -> google.protobuf.Timestamp - 12, // 5: GetEventsResponse.events:type_name -> Event - 14, // 6: SubscribeEventRequest.data:type_name -> google.protobuf.Struct - 0, // 7: Agenda.CreateEvent:input_type -> CreateEventRequest - 2, // 8: Agenda.GetEvent:input_type -> GetEventRequest - 6, // 9: Agenda.GetEvents:input_type -> GetEventsRequest - 4, // 10: Agenda.DeleteEvent:input_type -> DeleteEventRequest - 8, // 11: Agenda.SubscribeEvent:input_type -> SubscribeEventRequest - 10, // 12: Agenda.UnsubscribeEvent:input_type -> UnsubscribeEventRequest - 1, // 13: Agenda.CreateEvent:output_type -> CreateEventResponse - 3, // 14: Agenda.GetEvent:output_type -> GetEventResponse - 7, // 15: Agenda.GetEvents:output_type -> GetEventsResponse - 5, // 16: Agenda.DeleteEvent:output_type -> DeleteEventResponse - 9, // 17: Agenda.SubscribeEvent:output_type -> SubscribeEventResponse - 11, // 18: Agenda.UnsubscribeEvent:output_type -> UnsubscribeEventResponse - 13, // [13:19] is the sub-list for method output_type - 7, // [7:13] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 14, // 0: CreateEventRequest.event:type_name -> Event + 14, // 1: CreateEventResponse.event:type_name -> Event + 14, // 2: GetEventResponse.event:type_name -> Event + 15, // 3: GetEventsRequest.mindate:type_name -> google.protobuf.Timestamp + 15, // 4: GetEventsRequest.maxdate:type_name -> google.protobuf.Timestamp + 14, // 5: GetEventsResponse.events:type_name -> Event + 16, // 6: SubscribeEventRequest.data:type_name -> google.protobuf.Struct + 16, // 7: DeleteSubscriptionRequest.data:type_name -> google.protobuf.Struct + 0, // 8: Agenda.CreateEvent:input_type -> CreateEventRequest + 2, // 9: Agenda.GetEvent:input_type -> GetEventRequest + 6, // 10: Agenda.GetEvents:input_type -> GetEventsRequest + 4, // 11: Agenda.DeleteEvent:input_type -> DeleteEventRequest + 8, // 12: Agenda.SubscribeEvent:input_type -> SubscribeEventRequest + 10, // 13: Agenda.UnsubscribeEvent:input_type -> UnsubscribeEventRequest + 12, // 14: Agenda.DeleteSubscription:input_type -> DeleteSubscriptionRequest + 1, // 15: Agenda.CreateEvent:output_type -> CreateEventResponse + 3, // 16: Agenda.GetEvent:output_type -> GetEventResponse + 7, // 17: Agenda.GetEvents:output_type -> GetEventsResponse + 5, // 18: Agenda.DeleteEvent:output_type -> DeleteEventResponse + 9, // 19: Agenda.SubscribeEvent:output_type -> SubscribeEventResponse + 11, // 20: Agenda.UnsubscribeEvent:output_type -> UnsubscribeEventResponse + 13, // 21: Agenda.DeleteSubscription:output_type -> DeleteSubscriptionResponse + 15, // [15:22] is the sub-list for method output_type + 8, // [8:15] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_agenda_proto_init() } @@ -923,6 +1054,30 @@ func file_agenda_proto_init() { return nil } } + file_agenda_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSubscriptionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -930,7 +1085,7 @@ func file_agenda_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_agenda_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 14, NumExtensions: 0, NumServices: 1, }, diff --git a/grpcapi/agenda.proto b/grpcapi/agenda.proto index 41368f3..c97342f 100644 --- a/grpcapi/agenda.proto +++ b/grpcapi/agenda.proto @@ -16,6 +16,7 @@ service Agenda { rpc SubscribeEvent(SubscribeEventRequest) returns (SubscribeEventResponse) {} rpc UnsubscribeEvent(UnsubscribeEventRequest) returns (UnsubscribeEventResponse) {} + rpc DeleteSubscription(DeleteSubscriptionRequest) returns (DeleteSubscriptionResponse) {} } message CreateEventRequest { @@ -70,4 +71,14 @@ message UnsubscribeEventRequest { message UnsubscribeEventResponse { bool ok = 39; +} + +message DeleteSubscriptionRequest { + string subscriber = 32; + string eventid = 33; + google.protobuf.Struct data = 34; +} + +message DeleteSubscriptionResponse { + bool ok = 41; } \ No newline at end of file diff --git a/grpcapi/agenda_grpc.pb.go b/grpcapi/agenda_grpc.pb.go index 505f5df..2853067 100644 --- a/grpcapi/agenda_grpc.pb.go +++ b/grpcapi/agenda_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 +// - protoc v3.12.4 // source: agenda.proto package grpcapi @@ -28,6 +28,7 @@ type AgendaClient interface { DeleteEvent(ctx context.Context, in *DeleteEventRequest, opts ...grpc.CallOption) (*DeleteEventResponse, error) SubscribeEvent(ctx context.Context, in *SubscribeEventRequest, opts ...grpc.CallOption) (*SubscribeEventResponse, error) UnsubscribeEvent(ctx context.Context, in *UnsubscribeEventRequest, opts ...grpc.CallOption) (*UnsubscribeEventResponse, error) + DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*DeleteSubscriptionResponse, error) } type agendaClient struct { @@ -92,6 +93,15 @@ func (c *agendaClient) UnsubscribeEvent(ctx context.Context, in *UnsubscribeEven return out, nil } +func (c *agendaClient) DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*DeleteSubscriptionResponse, error) { + out := new(DeleteSubscriptionResponse) + err := c.cc.Invoke(ctx, "/Agenda/DeleteSubscription", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // AgendaServer is the server API for Agenda service. // All implementations must embed UnimplementedAgendaServer // for forward compatibility @@ -102,6 +112,7 @@ type AgendaServer interface { DeleteEvent(context.Context, *DeleteEventRequest) (*DeleteEventResponse, error) SubscribeEvent(context.Context, *SubscribeEventRequest) (*SubscribeEventResponse, error) UnsubscribeEvent(context.Context, *UnsubscribeEventRequest) (*UnsubscribeEventResponse, error) + DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*DeleteSubscriptionResponse, error) mustEmbedUnimplementedAgendaServer() } @@ -127,6 +138,9 @@ func (UnimplementedAgendaServer) SubscribeEvent(context.Context, *SubscribeEvent func (UnimplementedAgendaServer) UnsubscribeEvent(context.Context, *UnsubscribeEventRequest) (*UnsubscribeEventResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UnsubscribeEvent not implemented") } +func (UnimplementedAgendaServer) DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*DeleteSubscriptionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSubscription not implemented") +} func (UnimplementedAgendaServer) mustEmbedUnimplementedAgendaServer() {} // UnsafeAgendaServer may be embedded to opt out of forward compatibility for this service. @@ -248,6 +262,24 @@ func _Agenda_UnsubscribeEvent_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Agenda_DeleteSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSubscriptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).DeleteSubscription(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/DeleteSubscription", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).DeleteSubscription(ctx, req.(*DeleteSubscriptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Agenda_ServiceDesc is the grpc.ServiceDesc for Agenda service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -279,6 +311,10 @@ var Agenda_ServiceDesc = grpc.ServiceDesc{ MethodName: "UnsubscribeEvent", Handler: _Agenda_UnsubscribeEvent_Handler, }, + { + MethodName: "DeleteSubscription", + Handler: _Agenda_DeleteSubscription_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "agenda.proto", diff --git a/grpcapi/grpcapi.go b/grpcapi/grpcapi.go index 9f4f022..bdf176e 100644 --- a/grpcapi/grpcapi.go +++ b/grpcapi/grpcapi.go @@ -94,6 +94,17 @@ func (s AgendaServerImpl) SubscribeEvent(ctx context.Context, req *SubscribeEven func (s AgendaServerImpl) UnsubscribeEvent(context.Context, *UnsubscribeEventRequest) (*UnsubscribeEventResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Unsubscribe not implemented") } + +//////////////////////////////////////////////////////////// +func (s AgendaServerImpl) DeleteSubscription(ctx context.Context, req *DeleteSubscriptionRequest) (*DeleteSubscriptionResponse, error) { + err := s.handler.DeleteSubscription(req.Eventid, req.Subscriber, req.Data.AsMap()) + return &DeleteSubscriptionResponse{ + Ok: err != nil, + }, err +} + +//////////////////////////////////////////////////////////////////// + func (s AgendaServerImpl) mustEmbedUnimplementedAgendaServer() {} func Run(done chan error, cfg *viper.Viper, handler handlers.AgendaHandler) { diff --git a/grpcapi/lol/agenda.pb.go b/grpcapi/lol/agenda.pb.go new file mode 100644 index 0000000..95348f7 --- /dev/null +++ b/grpcapi/lol/agenda.pb.go @@ -0,0 +1,1078 @@ +//COOPGO Agenda gRPC service definition + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: agenda.proto + +package grpcapi + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CreateEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Event *Event `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` +} + +func (x *CreateEventRequest) Reset() { + *x = CreateEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEventRequest) ProtoMessage() {} + +func (x *CreateEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEventRequest.ProtoReflect.Descriptor instead. +func (*CreateEventRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateEventRequest) GetEvent() *Event { + if x != nil { + return x.Event + } + return nil +} + +type CreateEventResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"` +} + +func (x *CreateEventResponse) Reset() { + *x = CreateEventResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEventResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEventResponse) ProtoMessage() {} + +func (x *CreateEventResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEventResponse.ProtoReflect.Descriptor instead. +func (*CreateEventResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateEventResponse) GetEvent() *Event { + if x != nil { + return x.Event + } + return nil +} + +type GetEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *GetEventRequest) Reset() { + *x = GetEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventRequest) ProtoMessage() {} + +func (x *GetEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventRequest.ProtoReflect.Descriptor instead. +func (*GetEventRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{2} +} + +func (x *GetEventRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetEventResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Event *Event `protobuf:"bytes,4,opt,name=event,proto3" json:"event,omitempty"` +} + +func (x *GetEventResponse) Reset() { + *x = GetEventResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventResponse) ProtoMessage() {} + +func (x *GetEventResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventResponse.ProtoReflect.Descriptor instead. +func (*GetEventResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{3} +} + +func (x *GetEventResponse) GetEvent() *Event { + if x != nil { + return x.Event + } + return nil +} + +type DeleteEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *DeleteEventRequest) Reset() { + *x = DeleteEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEventRequest) ProtoMessage() {} + +func (x *DeleteEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEventRequest.ProtoReflect.Descriptor instead. +func (*DeleteEventRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteEventRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteEventResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ok bool `protobuf:"varint,6,opt,name=ok,proto3" json:"ok,omitempty"` +} + +func (x *DeleteEventResponse) Reset() { + *x = DeleteEventResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteEventResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEventResponse) ProtoMessage() {} + +func (x *DeleteEventResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEventResponse.ProtoReflect.Descriptor instead. +func (*DeleteEventResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteEventResponse) GetOk() bool { + if x != nil { + return x.Ok + } + return false +} + +type GetEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Namespaces []string `protobuf:"bytes,10,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + Mindate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=mindate,proto3" json:"mindate,omitempty"` + Maxdate *timestamp.Timestamp `protobuf:"bytes,12,opt,name=maxdate,proto3" json:"maxdate,omitempty"` +} + +func (x *GetEventsRequest) Reset() { + *x = GetEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventsRequest) ProtoMessage() {} + +func (x *GetEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventsRequest.ProtoReflect.Descriptor instead. +func (*GetEventsRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{6} +} + +func (x *GetEventsRequest) GetNamespaces() []string { + if x != nil { + return x.Namespaces + } + return nil +} + +func (x *GetEventsRequest) GetMindate() *timestamp.Timestamp { + if x != nil { + return x.Mindate + } + return nil +} + +func (x *GetEventsRequest) GetMaxdate() *timestamp.Timestamp { + if x != nil { + return x.Maxdate + } + return nil +} + +type GetEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Events []*Event `protobuf:"bytes,13,rep,name=events,proto3" json:"events,omitempty"` +} + +func (x *GetEventsResponse) Reset() { + *x = GetEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventsResponse) ProtoMessage() {} + +func (x *GetEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventsResponse.ProtoReflect.Descriptor instead. +func (*GetEventsResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{7} +} + +func (x *GetEventsResponse) GetEvents() []*Event { + if x != nil { + return x.Events + } + return nil +} + +type SubscribeEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subscriber string `protobuf:"bytes,20,opt,name=subscriber,proto3" json:"subscriber,omitempty"` + Eventid string `protobuf:"bytes,21,opt,name=eventid,proto3" json:"eventid,omitempty"` + Data *_struct.Struct `protobuf:"bytes,22,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *SubscribeEventRequest) Reset() { + *x = SubscribeEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeEventRequest) ProtoMessage() {} + +func (x *SubscribeEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscribeEventRequest.ProtoReflect.Descriptor instead. +func (*SubscribeEventRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{8} +} + +func (x *SubscribeEventRequest) GetSubscriber() string { + if x != nil { + return x.Subscriber + } + return "" +} + +func (x *SubscribeEventRequest) GetEventid() string { + if x != nil { + return x.Eventid + } + return "" +} + +func (x *SubscribeEventRequest) GetData() *_struct.Struct { + if x != nil { + return x.Data + } + return nil +} + +type SubscribeEventResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ok bool `protobuf:"varint,29,opt,name=ok,proto3" json:"ok,omitempty"` +} + +func (x *SubscribeEventResponse) Reset() { + *x = SubscribeEventResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeEventResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeEventResponse) ProtoMessage() {} + +func (x *SubscribeEventResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscribeEventResponse.ProtoReflect.Descriptor instead. +func (*SubscribeEventResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{9} +} + +func (x *SubscribeEventResponse) GetOk() bool { + if x != nil { + return x.Ok + } + return false +} + +type UnsubscribeEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subscriber string `protobuf:"bytes,30,opt,name=subscriber,proto3" json:"subscriber,omitempty"` + Eventid string `protobuf:"bytes,31,opt,name=eventid,proto3" json:"eventid,omitempty"` +} + +func (x *UnsubscribeEventRequest) Reset() { + *x = UnsubscribeEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnsubscribeEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsubscribeEventRequest) ProtoMessage() {} + +func (x *UnsubscribeEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnsubscribeEventRequest.ProtoReflect.Descriptor instead. +func (*UnsubscribeEventRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{10} +} + +func (x *UnsubscribeEventRequest) GetSubscriber() string { + if x != nil { + return x.Subscriber + } + return "" +} + +func (x *UnsubscribeEventRequest) GetEventid() string { + if x != nil { + return x.Eventid + } + return "" +} + +type UnsubscribeEventResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ok bool `protobuf:"varint,39,opt,name=ok,proto3" json:"ok,omitempty"` +} + +func (x *UnsubscribeEventResponse) Reset() { + *x = UnsubscribeEventResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnsubscribeEventResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsubscribeEventResponse) ProtoMessage() {} + +func (x *UnsubscribeEventResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnsubscribeEventResponse.ProtoReflect.Descriptor instead. +func (*UnsubscribeEventResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{11} +} + +func (x *UnsubscribeEventResponse) GetOk() bool { + if x != nil { + return x.Ok + } + return false +} + +type DeleteSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,40,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *DeleteSubscriptionRequest) Reset() { + *x = DeleteSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubscriptionRequest) ProtoMessage() {} + +func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteSubscriptionRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteSubscriptionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ok bool `protobuf:"varint,41,opt,name=ok,proto3" json:"ok,omitempty"` +} + +func (x *DeleteSubscriptionResponse) Reset() { + *x = DeleteSubscriptionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agenda_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubscriptionResponse) ProtoMessage() {} + +func (x *DeleteSubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_agenda_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*DeleteSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_agenda_proto_rawDescGZIP(), []int{13} +} + +func (x *DeleteSubscriptionResponse) GetOk() bool { + if x != nil { + return x.Ok + } + return false +} + +var File_agenda_proto protoreflect.FileDescriptor + +var file_agenda_proto_rawDesc = []byte{ + 0x0a, 0x0c, 0x61, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x12, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x06, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, + 0x33, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x25, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x6d, + 0x69, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, + 0x6d, 0x61, 0x78, 0x64, 0x61, 0x74, 0x65, 0x22, 0x33, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x7e, 0x0a, 0x15, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, + 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x28, 0x0a, 0x16, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x53, 0x0a, 0x17, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x55, + 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x27, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, + 0x6f, 0x6b, 0x32, 0xca, 0x03, 0x0a, 0x06, 0x41, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x12, 0x3a, 0x0a, + 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x14, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x08, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x11, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x47, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x13, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, + 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x10, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, + 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, + 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x61, 0x70, 0x69, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_agenda_proto_rawDescOnce sync.Once + file_agenda_proto_rawDescData = file_agenda_proto_rawDesc +) + +func file_agenda_proto_rawDescGZIP() []byte { + file_agenda_proto_rawDescOnce.Do(func() { + file_agenda_proto_rawDescData = protoimpl.X.CompressGZIP(file_agenda_proto_rawDescData) + }) + return file_agenda_proto_rawDescData +} + +var file_agenda_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_agenda_proto_goTypes = []interface{}{ + (*CreateEventRequest)(nil), // 0: CreateEventRequest + (*CreateEventResponse)(nil), // 1: CreateEventResponse + (*GetEventRequest)(nil), // 2: GetEventRequest + (*GetEventResponse)(nil), // 3: GetEventResponse + (*DeleteEventRequest)(nil), // 4: DeleteEventRequest + (*DeleteEventResponse)(nil), // 5: DeleteEventResponse + (*GetEventsRequest)(nil), // 6: GetEventsRequest + (*GetEventsResponse)(nil), // 7: GetEventsResponse + (*SubscribeEventRequest)(nil), // 8: SubscribeEventRequest + (*SubscribeEventResponse)(nil), // 9: SubscribeEventResponse + (*UnsubscribeEventRequest)(nil), // 10: UnsubscribeEventRequest + (*UnsubscribeEventResponse)(nil), // 11: UnsubscribeEventResponse + (*DeleteSubscriptionRequest)(nil), // 12: DeleteSubscriptionRequest + (*DeleteSubscriptionResponse)(nil), // 13: DeleteSubscriptionResponse + (*Event)(nil), // 14: Event + (*timestamp.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*_struct.Struct)(nil), // 16: google.protobuf.Struct +} +var file_agenda_proto_depIdxs = []int32{ + 14, // 0: CreateEventRequest.event:type_name -> Event + 14, // 1: CreateEventResponse.event:type_name -> Event + 14, // 2: GetEventResponse.event:type_name -> Event + 15, // 3: GetEventsRequest.mindate:type_name -> google.protobuf.Timestamp + 15, // 4: GetEventsRequest.maxdate:type_name -> google.protobuf.Timestamp + 14, // 5: GetEventsResponse.events:type_name -> Event + 16, // 6: SubscribeEventRequest.data:type_name -> google.protobuf.Struct + 0, // 7: Agenda.CreateEvent:input_type -> CreateEventRequest + 2, // 8: Agenda.GetEvent:input_type -> GetEventRequest + 6, // 9: Agenda.GetEvents:input_type -> GetEventsRequest + 4, // 10: Agenda.DeleteEvent:input_type -> DeleteEventRequest + 8, // 11: Agenda.SubscribeEvent:input_type -> SubscribeEventRequest + 10, // 12: Agenda.UnsubscribeEvent:input_type -> UnsubscribeEventRequest + 12, // 13: Agenda.DeleteSubscription:input_type -> DeleteSubscriptionRequest + 1, // 14: Agenda.CreateEvent:output_type -> CreateEventResponse + 3, // 15: Agenda.GetEvent:output_type -> GetEventResponse + 7, // 16: Agenda.GetEvents:output_type -> GetEventsResponse + 5, // 17: Agenda.DeleteEvent:output_type -> DeleteEventResponse + 9, // 18: Agenda.SubscribeEvent:output_type -> SubscribeEventResponse + 11, // 19: Agenda.UnsubscribeEvent:output_type -> UnsubscribeEventResponse + 13, // 20: Agenda.DeleteSubscription:output_type -> DeleteSubscriptionResponse + 14, // [14:21] is the sub-list for method output_type + 7, // [7:14] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_agenda_proto_init() } +func file_agenda_proto_init() { + if File_agenda_proto != nil { + return + } + file_events_proto_init() + if !protoimpl.UnsafeEnabled { + file_agenda_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEventResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteEventResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeEventResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnsubscribeEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnsubscribeEventResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agenda_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSubscriptionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_agenda_proto_rawDesc, + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_agenda_proto_goTypes, + DependencyIndexes: file_agenda_proto_depIdxs, + MessageInfos: file_agenda_proto_msgTypes, + }.Build() + File_agenda_proto = out.File + file_agenda_proto_rawDesc = nil + file_agenda_proto_goTypes = nil + file_agenda_proto_depIdxs = nil +} diff --git a/grpcapi/lol/agenda_grpc.pb.go b/grpcapi/lol/agenda_grpc.pb.go new file mode 100644 index 0000000..2853067 --- /dev/null +++ b/grpcapi/lol/agenda_grpc.pb.go @@ -0,0 +1,321 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: agenda.proto + +package grpcapi + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// AgendaClient is the client API for Agenda service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AgendaClient interface { + CreateEvent(ctx context.Context, in *CreateEventRequest, opts ...grpc.CallOption) (*CreateEventResponse, error) + GetEvent(ctx context.Context, in *GetEventRequest, opts ...grpc.CallOption) (*GetEventResponse, error) + GetEvents(ctx context.Context, in *GetEventsRequest, opts ...grpc.CallOption) (*GetEventsResponse, error) + DeleteEvent(ctx context.Context, in *DeleteEventRequest, opts ...grpc.CallOption) (*DeleteEventResponse, error) + SubscribeEvent(ctx context.Context, in *SubscribeEventRequest, opts ...grpc.CallOption) (*SubscribeEventResponse, error) + UnsubscribeEvent(ctx context.Context, in *UnsubscribeEventRequest, opts ...grpc.CallOption) (*UnsubscribeEventResponse, error) + DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*DeleteSubscriptionResponse, error) +} + +type agendaClient struct { + cc grpc.ClientConnInterface +} + +func NewAgendaClient(cc grpc.ClientConnInterface) AgendaClient { + return &agendaClient{cc} +} + +func (c *agendaClient) CreateEvent(ctx context.Context, in *CreateEventRequest, opts ...grpc.CallOption) (*CreateEventResponse, error) { + out := new(CreateEventResponse) + err := c.cc.Invoke(ctx, "/Agenda/CreateEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agendaClient) GetEvent(ctx context.Context, in *GetEventRequest, opts ...grpc.CallOption) (*GetEventResponse, error) { + out := new(GetEventResponse) + err := c.cc.Invoke(ctx, "/Agenda/GetEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agendaClient) GetEvents(ctx context.Context, in *GetEventsRequest, opts ...grpc.CallOption) (*GetEventsResponse, error) { + out := new(GetEventsResponse) + err := c.cc.Invoke(ctx, "/Agenda/GetEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agendaClient) DeleteEvent(ctx context.Context, in *DeleteEventRequest, opts ...grpc.CallOption) (*DeleteEventResponse, error) { + out := new(DeleteEventResponse) + err := c.cc.Invoke(ctx, "/Agenda/DeleteEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agendaClient) SubscribeEvent(ctx context.Context, in *SubscribeEventRequest, opts ...grpc.CallOption) (*SubscribeEventResponse, error) { + out := new(SubscribeEventResponse) + err := c.cc.Invoke(ctx, "/Agenda/SubscribeEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agendaClient) UnsubscribeEvent(ctx context.Context, in *UnsubscribeEventRequest, opts ...grpc.CallOption) (*UnsubscribeEventResponse, error) { + out := new(UnsubscribeEventResponse) + err := c.cc.Invoke(ctx, "/Agenda/UnsubscribeEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agendaClient) DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*DeleteSubscriptionResponse, error) { + out := new(DeleteSubscriptionResponse) + err := c.cc.Invoke(ctx, "/Agenda/DeleteSubscription", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AgendaServer is the server API for Agenda service. +// All implementations must embed UnimplementedAgendaServer +// for forward compatibility +type AgendaServer interface { + CreateEvent(context.Context, *CreateEventRequest) (*CreateEventResponse, error) + GetEvent(context.Context, *GetEventRequest) (*GetEventResponse, error) + GetEvents(context.Context, *GetEventsRequest) (*GetEventsResponse, error) + DeleteEvent(context.Context, *DeleteEventRequest) (*DeleteEventResponse, error) + SubscribeEvent(context.Context, *SubscribeEventRequest) (*SubscribeEventResponse, error) + UnsubscribeEvent(context.Context, *UnsubscribeEventRequest) (*UnsubscribeEventResponse, error) + DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*DeleteSubscriptionResponse, error) + mustEmbedUnimplementedAgendaServer() +} + +// UnimplementedAgendaServer must be embedded to have forward compatible implementations. +type UnimplementedAgendaServer struct { +} + +func (UnimplementedAgendaServer) CreateEvent(context.Context, *CreateEventRequest) (*CreateEventResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEvent not implemented") +} +func (UnimplementedAgendaServer) GetEvent(context.Context, *GetEventRequest) (*GetEventResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEvent not implemented") +} +func (UnimplementedAgendaServer) GetEvents(context.Context, *GetEventsRequest) (*GetEventsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEvents not implemented") +} +func (UnimplementedAgendaServer) DeleteEvent(context.Context, *DeleteEventRequest) (*DeleteEventResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEvent not implemented") +} +func (UnimplementedAgendaServer) SubscribeEvent(context.Context, *SubscribeEventRequest) (*SubscribeEventResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubscribeEvent not implemented") +} +func (UnimplementedAgendaServer) UnsubscribeEvent(context.Context, *UnsubscribeEventRequest) (*UnsubscribeEventResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnsubscribeEvent not implemented") +} +func (UnimplementedAgendaServer) DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*DeleteSubscriptionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSubscription not implemented") +} +func (UnimplementedAgendaServer) mustEmbedUnimplementedAgendaServer() {} + +// UnsafeAgendaServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AgendaServer will +// result in compilation errors. +type UnsafeAgendaServer interface { + mustEmbedUnimplementedAgendaServer() +} + +func RegisterAgendaServer(s grpc.ServiceRegistrar, srv AgendaServer) { + s.RegisterService(&Agenda_ServiceDesc, srv) +} + +func _Agenda_CreateEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).CreateEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/CreateEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).CreateEvent(ctx, req.(*CreateEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Agenda_GetEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).GetEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/GetEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).GetEvent(ctx, req.(*GetEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Agenda_GetEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).GetEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/GetEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).GetEvents(ctx, req.(*GetEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Agenda_DeleteEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).DeleteEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/DeleteEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).DeleteEvent(ctx, req.(*DeleteEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Agenda_SubscribeEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubscribeEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).SubscribeEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/SubscribeEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).SubscribeEvent(ctx, req.(*SubscribeEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Agenda_UnsubscribeEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnsubscribeEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).UnsubscribeEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/UnsubscribeEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).UnsubscribeEvent(ctx, req.(*UnsubscribeEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Agenda_DeleteSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSubscriptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgendaServer).DeleteSubscription(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/Agenda/DeleteSubscription", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgendaServer).DeleteSubscription(ctx, req.(*DeleteSubscriptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Agenda_ServiceDesc is the grpc.ServiceDesc for Agenda service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Agenda_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "Agenda", + HandlerType: (*AgendaServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateEvent", + Handler: _Agenda_CreateEvent_Handler, + }, + { + MethodName: "GetEvent", + Handler: _Agenda_GetEvent_Handler, + }, + { + MethodName: "GetEvents", + Handler: _Agenda_GetEvents_Handler, + }, + { + MethodName: "DeleteEvent", + Handler: _Agenda_DeleteEvent_Handler, + }, + { + MethodName: "SubscribeEvent", + Handler: _Agenda_SubscribeEvent_Handler, + }, + { + MethodName: "UnsubscribeEvent", + Handler: _Agenda_UnsubscribeEvent_Handler, + }, + { + MethodName: "DeleteSubscription", + Handler: _Agenda_DeleteSubscription_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "agenda.proto", +} diff --git a/handlers/events.go b/handlers/events.go index 09d958c..5e01d0a 100644 --- a/handlers/events.go +++ b/handlers/events.go @@ -70,3 +70,24 @@ func (h AgendaHandler) SubscribeEvent(eventid string, subscriber string, data ma err = h.storage.AddSubscription(eventid, subscription) return } + +func (h AgendaHandler) DeleteSubscription(eventid string, subscriber string, data map[string]any) (err error) { + if eventid == "" || subscriber == "" { + return errors.New("missing eventid or subscriber") + } + now := time.Now() + id := uuid.NewString() + deletesubscription := storage.Subscription{ + ID: id, + Subscriber: subscriber, + Tags: []string{}, + CreatedAt: now, + Data: map[string]any{}, + } + // Initiate data map + for k, v := range data { + deletesubscription.Data[k] = v + } + err = h.storage.UpdateSubscription(eventid, subscriber, deletesubscription) + return +} diff --git a/storage/events.go b/storage/events.go index b2d2bdd..4480c8e 100644 --- a/storage/events.go +++ b/storage/events.go @@ -3,21 +3,22 @@ package storage import "time" type Event struct { - ID string `json:"id" bson:"_id"` - Namespace string `json:"namespace"` - Owners []string `json:"owners"` - RestrictedTo []string `json:"restricted_to"` - Type string `json:"type"` - Name string `json:"name"` - Description string `json:"description"` - Startdate time.Time `json:"startdate"` - Enddate time.Time `json:"enddate"` - Starttime string `json:"starttime"` - Endtime string `json:"endtime"` - Allday bool `json:"allday"` - MaxSubscribers int64 `json:"max_subscribers"` - Subscriptions []Subscription `json:"subscriptions" bson:"subscriptions,omitempty"` - Data map[string]any `json:"data"` + ID string `json:"id" bson:"_id"` + Namespace string `json:"namespace"` + Owners []string `json:"owners"` + RestrictedTo []string `json:"restricted_to"` + Type string `json:"type"` + Name string `json:"name"` + Description string `json:"description"` + Startdate time.Time `json:"startdate"` + Enddate time.Time `json:"enddate"` + Starttime string `json:"starttime"` + Endtime string `json:"endtime"` + Allday bool `json:"allday"` + MaxSubscribers int64 `json:"max_subscribers"` + Subscriptions []Subscription `json:"subscriptions" bson:"subscriptions,omitempty"` + DeletedSubscription []Subscription `json:"deletedsubscriptions" bson:"deletedsubscriptions,omitempty"` + Data map[string]any `json:"data"` } type Subscription struct { diff --git a/storage/mongodb.go b/storage/mongodb.go index 417f4c6..016f10d 100644 --- a/storage/mongodb.go +++ b/storage/mongodb.go @@ -121,12 +121,25 @@ func (s MongoDBStorage) AddSubscription(eventid string, subscription Subscriptio return err } -func (s MongoDBStorage) RemoveSubscription(subscriptionid string, subscription Subscription) error { +func (s MongoDBStorage) UpdateSubscription(eventid string, subscriber string, deletesubscription Subscription) error { collection := s.Client.Database(s.DbName).Collection(s.Collections["events"]) - filter := bson.M{"_id": subscriptionid} - push := bson.M{"$pull": bson.M{"subscriptions": subscription}} + event := &Event{} + if errr := collection.FindOne(context.TODO(), bson.M{"_id": eventid}).Decode(event); errr != nil { + return errr + } - _, err := collection.UpdateOne(context.TODO(), filter, push) - return err + for i := range event.Subscriptions { + if event.Subscriptions[i].Subscriber == subscriber { + filter := bson.M{"_id": eventid} + push := bson.M{"$push": bson.M{"deletesubscriptions": deletesubscription}} + pull := bson.M{"$pull": bson.M{"subscriptions": bson.M{"subscriber": subscriber}}} + _, er := collection.UpdateOne(context.TODO(), filter, push) + if _, err := collection.UpdateOne(context.TODO(), filter, pull); err != nil { + return err + } + return er + } + } + return nil } diff --git a/storage/storage.go b/storage/storage.go index 966aa1a..1ac6a03 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -11,6 +11,7 @@ type Storage interface { GetEvent(string) (*Event, error) GetEvents(namespaces []string) ([]Event, error) AddSubscription(eventid string, subscription Subscription) error + UpdateSubscription(eventid string, subscriber string, deletesubscription Subscription) error } type StorageImpl struct { }