fix proto

main
耿阳 2 years ago
parent 15b3dcf55d
commit a61383bb1e

@ -838,8 +838,8 @@ type ApprovalListResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Count uint64 `protobuf:"varint,1,opt,name=Count,json=count,proto3" json:"Count,omitempty"` Count uint64 `protobuf:"varint,1,opt,name=Count,json=count,proto3" json:"Count,omitempty"`
Data []*ApprovalRequest `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` Data []*CreateRequest `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
} }
func (x *ApprovalListResponse) Reset() { func (x *ApprovalListResponse) Reset() {
@ -881,14 +881,14 @@ func (x *ApprovalListResponse) GetCount() uint64 {
return 0 return 0
} }
func (x *ApprovalListResponse) GetData() []*ApprovalRequest { func (x *ApprovalListResponse) GetData() []*CreateRequest {
if x != nil { if x != nil {
return x.Data return x.Data
} }
return nil return nil
} }
type ApprovalRequest struct { type CreateRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
@ -910,8 +910,8 @@ type ApprovalRequest struct {
Bundle *Bundle `protobuf:"bytes,15,opt,name=Bundle,json=bundle,proto3" json:"Bundle,omitempty"` Bundle *Bundle `protobuf:"bytes,15,opt,name=Bundle,json=bundle,proto3" json:"Bundle,omitempty"`
} }
func (x *ApprovalRequest) Reset() { func (x *CreateRequest) Reset() {
*x = ApprovalRequest{} *x = CreateRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_api_approval_approval_proto_msgTypes[12] mi := &file_api_approval_approval_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -919,13 +919,13 @@ func (x *ApprovalRequest) Reset() {
} }
} }
func (x *ApprovalRequest) String() string { func (x *CreateRequest) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*ApprovalRequest) ProtoMessage() {} func (*CreateRequest) ProtoMessage() {}
func (x *ApprovalRequest) ProtoReflect() protoreflect.Message { func (x *CreateRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_approval_approval_proto_msgTypes[12] mi := &file_api_approval_approval_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -937,117 +937,117 @@ func (x *ApprovalRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use ApprovalRequest.ProtoReflect.Descriptor instead. // Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead.
func (*ApprovalRequest) Descriptor() ([]byte, []int) { func (*CreateRequest) Descriptor() ([]byte, []int) {
return file_api_approval_approval_proto_rawDescGZIP(), []int{12} return file_api_approval_approval_proto_rawDescGZIP(), []int{12}
} }
func (x *ApprovalRequest) GetID() uint64 { func (x *CreateRequest) GetID() uint64 {
if x != nil { if x != nil {
return x.ID return x.ID
} }
return 0 return 0
} }
func (x *ApprovalRequest) GetDomain() string { func (x *CreateRequest) GetDomain() string {
if x != nil { if x != nil {
return x.Domain return x.Domain
} }
return "" return ""
} }
func (x *ApprovalRequest) GetStatus() uint64 { func (x *CreateRequest) GetStatus() uint64 {
if x != nil { if x != nil {
return x.Status return x.Status
} }
return 0 return 0
} }
func (x *ApprovalRequest) GetType() string { func (x *CreateRequest) GetType() string {
if x != nil { if x != nil {
return x.Type return x.Type
} }
return "" return ""
} }
func (x *ApprovalRequest) GetApproverID() uint64 { func (x *CreateRequest) GetApproverID() uint64 {
if x != nil { if x != nil {
return x.ApproverID return x.ApproverID
} }
return 0 return 0
} }
func (x *ApprovalRequest) GetApproverName() string { func (x *CreateRequest) GetApproverName() string {
if x != nil { if x != nil {
return x.ApproverName return x.ApproverName
} }
return "" return ""
} }
func (x *ApprovalRequest) GetSubmitterID() uint64 { func (x *CreateRequest) GetSubmitterID() uint64 {
if x != nil { if x != nil {
return x.SubmitterID return x.SubmitterID
} }
return 0 return 0
} }
func (x *ApprovalRequest) GetSubmitterName() string { func (x *CreateRequest) GetSubmitterName() string {
if x != nil { if x != nil {
return x.SubmitterName return x.SubmitterName
} }
return "" return ""
} }
func (x *ApprovalRequest) GetCopyUsers() []*CopyUser { func (x *CreateRequest) GetCopyUsers() []*CopyUser {
if x != nil { if x != nil {
return x.CopyUsers return x.CopyUsers
} }
return nil return nil
} }
func (x *ApprovalRequest) GetContent() string { func (x *CreateRequest) GetContent() string {
if x != nil { if x != nil {
return x.Content return x.Content
} }
return "" return ""
} }
func (x *ApprovalRequest) GetReply() string { func (x *CreateRequest) GetReply() string {
if x != nil { if x != nil {
return x.Reply return x.Reply
} }
return "" return ""
} }
func (x *ApprovalRequest) GetWork() *Work { func (x *CreateRequest) GetWork() *Work {
if x != nil { if x != nil {
return x.Work return x.Work
} }
return nil return nil
} }
func (x *ApprovalRequest) GetShow() *Show { func (x *CreateRequest) GetShow() *Show {
if x != nil { if x != nil {
return x.Show return x.Show
} }
return nil return nil
} }
func (x *ApprovalRequest) GetExhibition() *Exhibition { func (x *CreateRequest) GetExhibition() *Exhibition {
if x != nil { if x != nil {
return x.Exhibition return x.Exhibition
} }
return nil return nil
} }
func (x *ApprovalRequest) GetBundle() *Bundle { func (x *CreateRequest) GetBundle() *Bundle {
if x != nil { if x != nil {
return x.Bundle return x.Bundle
} }
return nil return nil
} }
type ApprovalDetail struct { type DetailRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
@ -1056,8 +1056,8 @@ type ApprovalDetail struct {
Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
} }
func (x *ApprovalDetail) Reset() { func (x *DetailRequest) Reset() {
*x = ApprovalDetail{} *x = DetailRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_api_approval_approval_proto_msgTypes[13] mi := &file_api_approval_approval_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -1065,13 +1065,13 @@ func (x *ApprovalDetail) Reset() {
} }
} }
func (x *ApprovalDetail) String() string { func (x *DetailRequest) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*ApprovalDetail) ProtoMessage() {} func (*DetailRequest) ProtoMessage() {}
func (x *ApprovalDetail) ProtoReflect() protoreflect.Message { func (x *DetailRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_approval_approval_proto_msgTypes[13] mi := &file_api_approval_approval_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -1083,19 +1083,19 @@ func (x *ApprovalDetail) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use ApprovalDetail.ProtoReflect.Descriptor instead. // Deprecated: Use DetailRequest.ProtoReflect.Descriptor instead.
func (*ApprovalDetail) Descriptor() ([]byte, []int) { func (*DetailRequest) Descriptor() ([]byte, []int) {
return file_api_approval_approval_proto_rawDescGZIP(), []int{13} return file_api_approval_approval_proto_rawDescGZIP(), []int{13}
} }
func (x *ApprovalDetail) GetID() uint64 { func (x *DetailRequest) GetID() uint64 {
if x != nil { if x != nil {
return x.ID return x.ID
} }
return 0 return 0
} }
func (x *ApprovalDetail) GetDomain() string { func (x *DetailRequest) GetDomain() string {
if x != nil { if x != nil {
return x.Domain return x.Domain
} }
@ -1157,7 +1157,7 @@ func (x *ApprovalResponse) GetSuccess() bool {
return false return false
} }
type ApprovalRemove struct { type RemoveResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
@ -1165,8 +1165,8 @@ type ApprovalRemove struct {
Success bool `protobuf:"varint,1,opt,name=Success,json=success,proto3" json:"Success,omitempty"` Success bool `protobuf:"varint,1,opt,name=Success,json=success,proto3" json:"Success,omitempty"`
} }
func (x *ApprovalRemove) Reset() { func (x *RemoveResponse) Reset() {
*x = ApprovalRemove{} *x = RemoveResponse{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_api_approval_approval_proto_msgTypes[15] mi := &file_api_approval_approval_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -1174,13 +1174,13 @@ func (x *ApprovalRemove) Reset() {
} }
} }
func (x *ApprovalRemove) String() string { func (x *RemoveResponse) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*ApprovalRemove) ProtoMessage() {} func (*RemoveResponse) ProtoMessage() {}
func (x *ApprovalRemove) ProtoReflect() protoreflect.Message { func (x *RemoveResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_approval_approval_proto_msgTypes[15] mi := &file_api_approval_approval_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -1192,12 +1192,12 @@ func (x *ApprovalRemove) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use ApprovalRemove.ProtoReflect.Descriptor instead. // Deprecated: Use RemoveResponse.ProtoReflect.Descriptor instead.
func (*ApprovalRemove) Descriptor() ([]byte, []int) { func (*RemoveResponse) Descriptor() ([]byte, []int) {
return file_api_approval_approval_proto_rawDescGZIP(), []int{15} return file_api_approval_approval_proto_rawDescGZIP(), []int{15}
} }
func (x *ApprovalRemove) GetSuccess() bool { func (x *RemoveResponse) GetSuccess() bool {
if x != nil { if x != nil {
return x.Success return x.Success
} }
@ -1810,157 +1810,157 @@ var file_api_approval_approval_proto_rawDesc = []byte{
0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x14, 0x41, 0x70, 0x70,
0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04,
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xfa, 0x03, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf8, 0x03, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16,
0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20,
0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20,
0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x49, 0x44,
0x12, 0x24, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74,
0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73,
0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x70, 0x72,
0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x63,
0x6f, 0x70, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x04, 0x57, 0x6f, 0x72, 0x6b, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x04, 0x53,
0x68, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x70, 0x72,
0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x12,
0x34, 0x0a, 0x0a, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x45,
0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x68, 0x69, 0x62,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22,
0x37, 0x0a, 0x0d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44,
0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3c, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x72,
0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x2a, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63,
0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x22, 0x34, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78,
0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x19, 0x41, 0x70, 0x70,
0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x05,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44,
0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78,
0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78,
0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69,
0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78,
0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42,
0x0a, 0x18, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f,
0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61,
0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x69, 0x6e, 0x22, 0x2e, 0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e,
0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12,
0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x6d, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65,
0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x49, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04,
0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x43, 0x6f, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18,
0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e,
0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73,
0x72, 0x52, 0x08, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x70, 0x79,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x04, 0x57, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f,
0x6f, 0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x76, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65,
0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70,
0x22, 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d,
0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x04, 0x73, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
0x68, 0x6f, 0x77, 0x12, 0x34, 0x0a, 0x0a, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70,
0x61, 0x6c, 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a,
0x64, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75, 0x6e, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3b, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x64, 0x6c, 0x65, 0x22, 0x38, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63,
0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3c, 0x0a, 0x73, 0x73, 0x32, 0xf6, 0x04, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12,
0x10, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x3f, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72,
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70,
0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x2a, 0x0a, 0x0e, 0x41, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x12, 0x3c, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70,
0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75,
0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x34, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43,
0x76, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x00, 0x12, 0x3f,
0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe3, 0x02, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x0a, 0x19, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x3d, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x52, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47,
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
0x6c, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x72,
0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x65, 0x78, 0x68, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x68, 0x6c, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
0x09, 0x52, 0x0e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x18, 0x08, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x12,
0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x65,
0x26, 0x0a, 0x0e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70,
0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x78, 0x68, 0x69, 0x62, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76,
0x09, 0x52, 0x10, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x62, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76,
0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x74, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74,
0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x2e, 0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x2f, 0x3b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x6f, 0x33,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65,
0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61,
0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79,
0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52,
0x09, 0x63, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x52, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22,
0x0a, 0x0c, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74,
0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3b, 0x0a, 0x0f, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a,
0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a,
0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x32, 0xfe, 0x04, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x72,
0x6f, 0x76, 0x61, 0x6c, 0x12, 0x41, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19,
0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76,
0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x72,
0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70,
0x72, 0x6f, 0x76, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a, 0x19, 0x2e, 0x61, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e,
0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x06, 0x52,
0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a,
0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f,
0x76, 0x61, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x04, 0x4c,
0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41,
0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x49,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x12, 0x17, 0x2e, 0x61,
0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x00,
0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70,
0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x61,
0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -1989,10 +1989,10 @@ var file_api_approval_approval_proto_goTypes = []interface{}{
(*Exhibition)(nil), // 9: approval.Exhibition (*Exhibition)(nil), // 9: approval.Exhibition
(*ApprovalListRequest)(nil), // 10: approval.ApprovalListRequest (*ApprovalListRequest)(nil), // 10: approval.ApprovalListRequest
(*ApprovalListResponse)(nil), // 11: approval.ApprovalListResponse (*ApprovalListResponse)(nil), // 11: approval.ApprovalListResponse
(*ApprovalRequest)(nil), // 12: approval.ApprovalRequest (*CreateRequest)(nil), // 12: approval.CreateRequest
(*ApprovalDetail)(nil), // 13: approval.ApprovalDetail (*DetailRequest)(nil), // 13: approval.DetailRequest
(*ApprovalResponse)(nil), // 14: approval.ApprovalResponse (*ApprovalResponse)(nil), // 14: approval.ApprovalResponse
(*ApprovalRemove)(nil), // 15: approval.ApprovalRemove (*RemoveResponse)(nil), // 15: approval.RemoveResponse
(*ApprovalExhibitionRemove)(nil), // 16: approval.ApprovalExhibitionRemove (*ApprovalExhibitionRemove)(nil), // 16: approval.ApprovalExhibitionRemove
(*ApprovalExhibitionRequest)(nil), // 17: approval.ApprovalExhibitionRequest (*ApprovalExhibitionRequest)(nil), // 17: approval.ApprovalExhibitionRequest
(*ApprovalExhibitionDetail)(nil), // 18: approval.ApprovalExhibitionDetail (*ApprovalExhibitionDetail)(nil), // 18: approval.ApprovalExhibitionDetail
@ -2007,26 +2007,26 @@ var file_api_approval_approval_proto_depIdxs = []int32{
2, // 2: approval.InformationResponse.DomainInfo:type_name -> approval.Information 2, // 2: approval.InformationResponse.DomainInfo:type_name -> approval.Information
6, // 3: approval.Work.ApprovalWorks:type_name -> approval.ApprovalWork 6, // 3: approval.Work.ApprovalWorks:type_name -> approval.ApprovalWork
8, // 4: approval.Exhibition.ApprovalExhibitions:type_name -> approval.ApprovalExhibition 8, // 4: approval.Exhibition.ApprovalExhibitions:type_name -> approval.ApprovalExhibition
12, // 5: approval.ApprovalListResponse.data:type_name -> approval.ApprovalRequest 12, // 5: approval.ApprovalListResponse.data:type_name -> approval.CreateRequest
19, // 6: approval.ApprovalRequest.CopyUsers:type_name -> approval.CopyUser 19, // 6: approval.CreateRequest.CopyUsers:type_name -> approval.CopyUser
7, // 7: approval.ApprovalRequest.Work:type_name -> approval.Work 7, // 7: approval.CreateRequest.Work:type_name -> approval.Work
5, // 8: approval.ApprovalRequest.Show:type_name -> approval.Show 5, // 8: approval.CreateRequest.Show:type_name -> approval.Show
9, // 9: approval.ApprovalRequest.Exhibition:type_name -> approval.Exhibition 9, // 9: approval.CreateRequest.Exhibition:type_name -> approval.Exhibition
4, // 10: approval.ApprovalRequest.Bundle:type_name -> approval.Bundle 4, // 10: approval.CreateRequest.Bundle:type_name -> approval.Bundle
19, // 11: approval.SettingRequest.CopyUsers:type_name -> approval.CopyUser 19, // 11: approval.SettingRequest.CopyUsers:type_name -> approval.CopyUser
12, // 12: approval.Approval.Create:input_type -> approval.ApprovalRequest 12, // 12: approval.Approval.Create:input_type -> approval.CreateRequest
13, // 13: approval.Approval.Detail:input_type -> approval.ApprovalDetail 13, // 13: approval.Approval.Detail:input_type -> approval.DetailRequest
12, // 14: approval.Approval.Update:input_type -> approval.ApprovalRequest 12, // 14: approval.Approval.Update:input_type -> approval.CreateRequest
13, // 15: approval.Approval.Remove:input_type -> approval.ApprovalDetail 13, // 15: approval.Approval.Remove:input_type -> approval.DetailRequest
10, // 16: approval.Approval.List:input_type -> approval.ApprovalListRequest 10, // 16: approval.Approval.List:input_type -> approval.ApprovalListRequest
1, // 17: approval.Approval.Information:input_type -> approval.InformationRequest 1, // 17: approval.Approval.Information:input_type -> approval.InformationRequest
0, // 18: approval.Approval.Viewed:input_type -> approval.ViewedRequest 0, // 18: approval.Approval.Viewed:input_type -> approval.ViewedRequest
21, // 19: approval.Approval.DetailSetting:input_type -> approval.DetailSettingRequest 21, // 19: approval.Approval.DetailSetting:input_type -> approval.DetailSettingRequest
20, // 20: approval.Approval.UpdateSetting:input_type -> approval.SettingRequest 20, // 20: approval.Approval.UpdateSetting:input_type -> approval.SettingRequest
14, // 21: approval.Approval.Create:output_type -> approval.ApprovalResponse 14, // 21: approval.Approval.Create:output_type -> approval.ApprovalResponse
12, // 22: approval.Approval.Detail:output_type -> approval.ApprovalRequest 12, // 22: approval.Approval.Detail:output_type -> approval.CreateRequest
14, // 23: approval.Approval.Update:output_type -> approval.ApprovalResponse 14, // 23: approval.Approval.Update:output_type -> approval.ApprovalResponse
15, // 24: approval.Approval.Remove:output_type -> approval.ApprovalRemove 15, // 24: approval.Approval.Remove:output_type -> approval.RemoveResponse
11, // 25: approval.Approval.List:output_type -> approval.ApprovalListResponse 11, // 25: approval.Approval.List:output_type -> approval.ApprovalListResponse
3, // 26: approval.Approval.Information:output_type -> approval.InformationResponse 3, // 26: approval.Approval.Information:output_type -> approval.InformationResponse
14, // 27: approval.Approval.Viewed:output_type -> approval.ApprovalResponse 14, // 27: approval.Approval.Viewed:output_type -> approval.ApprovalResponse
@ -2190,7 +2190,7 @@ func file_api_approval_approval_proto_init() {
} }
} }
file_api_approval_approval_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { file_api_approval_approval_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ApprovalRequest); i { switch v := v.(*CreateRequest); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2202,7 +2202,7 @@ func file_api_approval_approval_proto_init() {
} }
} }
file_api_approval_approval_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { file_api_approval_approval_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ApprovalDetail); i { switch v := v.(*DetailRequest); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2226,7 +2226,7 @@ func file_api_approval_approval_proto_init() {
} }
} }
file_api_approval_approval_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { file_api_approval_approval_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ApprovalRemove); i { switch v := v.(*RemoveResponse); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:

@ -6,10 +6,10 @@ option go_package = "./;approval";
// The approval service definition. // The approval service definition.
service Approval { service Approval {
rpc Create(ApprovalRequest) returns (ApprovalResponse) {}; rpc Create(CreateRequest) returns (ApprovalResponse) {};
rpc Detail(ApprovalDetail) returns (ApprovalRequest) {}; rpc Detail(DetailRequest) returns (CreateRequest) {};
rpc Update(ApprovalRequest) returns (ApprovalResponse) {}; rpc Update(CreateRequest) returns (ApprovalResponse) {};
rpc Remove(ApprovalDetail) returns (ApprovalRemove) {}; rpc Remove(DetailRequest) returns (RemoveResponse) {};
rpc List(ApprovalListRequest) returns (ApprovalListResponse) {}; rpc List(ApprovalListRequest) returns (ApprovalListResponse) {};
rpc Information(InformationRequest) returns (InformationResponse) {}; rpc Information(InformationRequest) returns (InformationResponse) {};
rpc Viewed(ViewedRequest) returns (ApprovalResponse) {}; rpc Viewed(ViewedRequest) returns (ApprovalResponse) {};
@ -104,10 +104,10 @@ message ApprovalListRequest {
message ApprovalListResponse { message ApprovalListResponse {
uint64 Count = 1 [json_name = "count"]; uint64 Count = 1 [json_name = "count"];
repeated ApprovalRequest data = 2 [json_name = "data"]; repeated CreateRequest data = 2 [json_name = "data"];
} }
message ApprovalRequest { message CreateRequest {
uint64 ID = 1 [json_name = "ID"]; uint64 ID = 1 [json_name = "ID"];
string Domain = 2 [json_name = "domain"]; string Domain = 2 [json_name = "domain"];
uint64 Status = 3 [json_name = "status"];//0 1- 2- uint64 Status = 3 [json_name = "status"];//0 1- 2-
@ -125,7 +125,7 @@ message ApprovalRequest {
Bundle Bundle = 15 [json_name = "bundle"]; Bundle Bundle = 15 [json_name = "bundle"];
} }
message ApprovalDetail { message DetailRequest {
uint64 ID=1 [json_name = "ID"]; uint64 ID=1 [json_name = "ID"];
string Domain=2 [json_name = "domain"]; string Domain=2 [json_name = "domain"];
} }
@ -135,7 +135,7 @@ message ApprovalResponse {
bool Success=2 [json_name = "success"]; bool Success=2 [json_name = "success"];
} }
message ApprovalRemove { message RemoveResponse {
bool Success=1 [json_name = "success"]; bool Success=1 [json_name = "success"];
} }

@ -28,10 +28,10 @@ const _ = grpc_go.SupportPackageIsVersion7
// //
// 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. // 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 ApprovalClient interface { type ApprovalClient interface {
Create(ctx context.Context, in *ApprovalRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) Create(ctx context.Context, in *CreateRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment)
Detail(ctx context.Context, in *ApprovalDetail, opts ...grpc_go.CallOption) (*ApprovalRequest, common.ErrorWithAttachment) Detail(ctx context.Context, in *DetailRequest, opts ...grpc_go.CallOption) (*CreateRequest, common.ErrorWithAttachment)
Update(ctx context.Context, in *ApprovalRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) Update(ctx context.Context, in *CreateRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment)
Remove(ctx context.Context, in *ApprovalDetail, opts ...grpc_go.CallOption) (*ApprovalRemove, common.ErrorWithAttachment) Remove(ctx context.Context, in *DetailRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment)
List(ctx context.Context, in *ApprovalListRequest, opts ...grpc_go.CallOption) (*ApprovalListResponse, common.ErrorWithAttachment) List(ctx context.Context, in *ApprovalListRequest, opts ...grpc_go.CallOption) (*ApprovalListResponse, common.ErrorWithAttachment)
Information(ctx context.Context, in *InformationRequest, opts ...grpc_go.CallOption) (*InformationResponse, common.ErrorWithAttachment) Information(ctx context.Context, in *InformationRequest, opts ...grpc_go.CallOption) (*InformationResponse, common.ErrorWithAttachment)
Viewed(ctx context.Context, in *ViewedRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) Viewed(ctx context.Context, in *ViewedRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment)
@ -44,10 +44,10 @@ type approvalClient struct {
} }
type ApprovalClientImpl struct { type ApprovalClientImpl struct {
Create func(ctx context.Context, in *ApprovalRequest) (*ApprovalResponse, error) Create func(ctx context.Context, in *CreateRequest) (*ApprovalResponse, error)
Detail func(ctx context.Context, in *ApprovalDetail) (*ApprovalRequest, error) Detail func(ctx context.Context, in *DetailRequest) (*CreateRequest, error)
Update func(ctx context.Context, in *ApprovalRequest) (*ApprovalResponse, error) Update func(ctx context.Context, in *CreateRequest) (*ApprovalResponse, error)
Remove func(ctx context.Context, in *ApprovalDetail) (*ApprovalRemove, error) Remove func(ctx context.Context, in *DetailRequest) (*RemoveResponse, error)
List func(ctx context.Context, in *ApprovalListRequest) (*ApprovalListResponse, error) List func(ctx context.Context, in *ApprovalListRequest) (*ApprovalListResponse, error)
Information func(ctx context.Context, in *InformationRequest) (*InformationResponse, error) Information func(ctx context.Context, in *InformationRequest) (*InformationResponse, error)
Viewed func(ctx context.Context, in *ViewedRequest) (*ApprovalResponse, error) Viewed func(ctx context.Context, in *ViewedRequest) (*ApprovalResponse, error)
@ -67,26 +67,26 @@ func NewApprovalClient(cc *triple.TripleConn) ApprovalClient {
return &approvalClient{cc} return &approvalClient{cc}
} }
func (c *approvalClient) Create(ctx context.Context, in *ApprovalRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) { func (c *approvalClient) Create(ctx context.Context, in *CreateRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) {
out := new(ApprovalResponse) out := new(ApprovalResponse)
interfaceKey := ctx.Value(constant.InterfaceKey).(string) interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Create", in, out) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Create", in, out)
} }
func (c *approvalClient) Detail(ctx context.Context, in *ApprovalDetail, opts ...grpc_go.CallOption) (*ApprovalRequest, common.ErrorWithAttachment) { func (c *approvalClient) Detail(ctx context.Context, in *DetailRequest, opts ...grpc_go.CallOption) (*CreateRequest, common.ErrorWithAttachment) {
out := new(ApprovalRequest) out := new(CreateRequest)
interfaceKey := ctx.Value(constant.InterfaceKey).(string) interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Detail", in, out) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Detail", in, out)
} }
func (c *approvalClient) Update(ctx context.Context, in *ApprovalRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) { func (c *approvalClient) Update(ctx context.Context, in *CreateRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) {
out := new(ApprovalResponse) out := new(ApprovalResponse)
interfaceKey := ctx.Value(constant.InterfaceKey).(string) interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Update", in, out) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Update", in, out)
} }
func (c *approvalClient) Remove(ctx context.Context, in *ApprovalDetail, opts ...grpc_go.CallOption) (*ApprovalRemove, common.ErrorWithAttachment) { func (c *approvalClient) Remove(ctx context.Context, in *DetailRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) {
out := new(ApprovalRemove) out := new(RemoveResponse)
interfaceKey := ctx.Value(constant.InterfaceKey).(string) interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Remove", in, out) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Remove", in, out)
} }
@ -125,10 +125,10 @@ func (c *approvalClient) UpdateSetting(ctx context.Context, in *SettingRequest,
// All implementations must embed UnimplementedApprovalServer // All implementations must embed UnimplementedApprovalServer
// for forward compatibility // for forward compatibility
type ApprovalServer interface { type ApprovalServer interface {
Create(context.Context, *ApprovalRequest) (*ApprovalResponse, error) Create(context.Context, *CreateRequest) (*ApprovalResponse, error)
Detail(context.Context, *ApprovalDetail) (*ApprovalRequest, error) Detail(context.Context, *DetailRequest) (*CreateRequest, error)
Update(context.Context, *ApprovalRequest) (*ApprovalResponse, error) Update(context.Context, *CreateRequest) (*ApprovalResponse, error)
Remove(context.Context, *ApprovalDetail) (*ApprovalRemove, error) Remove(context.Context, *DetailRequest) (*RemoveResponse, error)
List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error) List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error)
Information(context.Context, *InformationRequest) (*InformationResponse, error) Information(context.Context, *InformationRequest) (*InformationResponse, error)
Viewed(context.Context, *ViewedRequest) (*ApprovalResponse, error) Viewed(context.Context, *ViewedRequest) (*ApprovalResponse, error)
@ -142,16 +142,16 @@ type UnimplementedApprovalServer struct {
proxyImpl protocol.Invoker proxyImpl protocol.Invoker
} }
func (UnimplementedApprovalServer) Create(context.Context, *ApprovalRequest) (*ApprovalResponse, error) { func (UnimplementedApprovalServer) Create(context.Context, *CreateRequest) (*ApprovalResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
} }
func (UnimplementedApprovalServer) Detail(context.Context, *ApprovalDetail) (*ApprovalRequest, error) { func (UnimplementedApprovalServer) Detail(context.Context, *DetailRequest) (*CreateRequest, error) {
return nil, status.Errorf(codes.Unimplemented, "method Detail not implemented") return nil, status.Errorf(codes.Unimplemented, "method Detail not implemented")
} }
func (UnimplementedApprovalServer) Update(context.Context, *ApprovalRequest) (*ApprovalResponse, error) { func (UnimplementedApprovalServer) Update(context.Context, *CreateRequest) (*ApprovalResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
} }
func (UnimplementedApprovalServer) Remove(context.Context, *ApprovalDetail) (*ApprovalRemove, error) { func (UnimplementedApprovalServer) Remove(context.Context, *DetailRequest) (*RemoveResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented") return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented")
} }
func (UnimplementedApprovalServer) List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error) { func (UnimplementedApprovalServer) List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error) {
@ -198,7 +198,7 @@ func RegisterApprovalServer(s grpc_go.ServiceRegistrar, srv ApprovalServer) {
} }
func _Approval_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { func _Approval_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ApprovalRequest) in := new(CreateRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
@ -227,7 +227,7 @@ func _Approval_Create_Handler(srv interface{}, ctx context.Context, dec func(int
} }
func _Approval_Detail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { func _Approval_Detail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ApprovalDetail) in := new(DetailRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
@ -256,7 +256,7 @@ func _Approval_Detail_Handler(srv interface{}, ctx context.Context, dec func(int
} }
func _Approval_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { func _Approval_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ApprovalRequest) in := new(CreateRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
@ -285,7 +285,7 @@ func _Approval_Update_Handler(srv interface{}, ctx context.Context, dec func(int
} }
func _Approval_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { func _Approval_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ApprovalDetail) in := new(DetailRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }

@ -25,10 +25,10 @@ type Approval struct {
Content string `gorm:"column:content" json:"content"` // 提交审批内容 Content string `gorm:"column:content" json:"content"` // 提交审批内容
Reply string `gorm:"column:reply" json:"reply"` // 回复内容 Reply string `gorm:"column:reply" json:"reply"` // 回复内容
Domain *string `gorm:"column:domain" json:"domain"` // 环境变量 Domain *string `gorm:"column:domain" json:"domain"` // 环境变量
Show *Show //`gorm:"foreignKey:ApprovalID" json:"Show"` // 环境变量 Show *Show `gorm:"foreignKey:ApprovalID" json:"Show"` // 环境变量
Work *Work //`gorm:"foreignKey:ApprovalID" json:"Work"` // 环境变量 Work *Work `gorm:"foreignKey:ApprovalID" json:"Work"` // 环境变量
Bundle *Bundle //`gorm:"foreignKey:ApprovalID" json:"Bundle"` // 环境变量 Bundle *Bundle `gorm:"foreignKey:ApprovalID" json:"Bundle"` // 环境变量
Exhibition *Exhibition //`gorm:"foreignKey:ApprovalID" json:"Exhibition"` // 环境变量 Exhibition *Exhibition `gorm:"foreignKey:ApprovalID" json:"Exhibition"` // 环境变量
} }
const ( const (
@ -45,9 +45,9 @@ const (
) )
type ApprovalContentInterface interface { type ApprovalContentInterface interface {
SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error SaveApprovalContent(in *approval.CreateRequest, a *Approval) error
UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error
BuildResContent(a *Approval, request *approval.ApprovalRequest) BuildResContent(a *Approval, request *approval.CreateRequest)
DeleteApproval(p *Approval) error DeleteApproval(p *Approval) error
} }
@ -56,7 +56,7 @@ func (m *Approval) TableName() string {
return "approval" return "approval"
} }
func StoreApproval(in *approval.ApprovalRequest) (*Approval, error) { func StoreApproval(in *approval.CreateRequest) (*Approval, error) {
var entity *Approval var entity *Approval
err := DB.Transaction(func(tx *gorm.DB) error { err := DB.Transaction(func(tx *gorm.DB) error {
@ -109,7 +109,7 @@ func Viewed(in *approval.ViewedRequest) error {
} }
func UpdateApproval(in *approval.ApprovalRequest) (*Approval, error) { func UpdateApproval(in *approval.CreateRequest) (*Approval, error) {
var entity *Approval var entity *Approval
err := DB.Transaction(func(tx *gorm.DB) error { err := DB.Transaction(func(tx *gorm.DB) error {
@ -192,11 +192,11 @@ func ApprovalInfo(in *approval.InformationRequest) (*approval.InformationRespons
} }
func (m *Approval) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Approval) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
return nil return nil
} }
func (m *Approval) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Approval) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
return nil return nil
} }
@ -215,11 +215,11 @@ func (m *Approval) DeleteContent() error {
return factory.DeleteApproval(m) return factory.DeleteApproval(m)
} }
func (m *Approval) BuildResContent(a *Approval, request *approval.ApprovalRequest) { func (m *Approval) BuildResContent(a *Approval, request *approval.CreateRequest) {
} }
func (m *Approval) SetResContent(request *approval.ApprovalRequest) error { func (m *Approval) SetResContent(request *approval.CreateRequest) error {
factory, err := GetApprovalContentFactory(m.Type) factory, err := GetApprovalContentFactory(m.Type)
@ -232,7 +232,7 @@ func (m *Approval) SetResContent(request *approval.ApprovalRequest) error {
return nil return nil
} }
func (m *Approval) SaveContent(in *approval.ApprovalRequest) error { func (m *Approval) SaveContent(in *approval.CreateRequest) error {
factory, err := GetApprovalContentFactory(in.Type) factory, err := GetApprovalContentFactory(in.Type)
if err != nil { if err != nil {
@ -244,7 +244,7 @@ func (m *Approval) SaveContent(in *approval.ApprovalRequest) error {
return err return err
} }
func (m *Approval) UpdateContent(in *approval.ApprovalRequest) error { func (m *Approval) UpdateContent(in *approval.CreateRequest) error {
factory, err := GetApprovalContentFactory(in.Type) factory, err := GetApprovalContentFactory(in.Type)
if err != nil { if err != nil {

@ -15,6 +15,7 @@ type Bundle struct {
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间 CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间 UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
ReceivedAt string `gorm:"column:received_at" json:"receivedAt"` // 领取时间 ReceivedAt string `gorm:"column:received_at" json:"receivedAt"` // 领取时间
ReturnAt string `gorm:"column:return_at" json:"ReturnAt"` // 领取时间
ApplicationsNum uint64 `gorm:"column:applications_num" json:"applicationsNum"` // 申请数量 ApplicationsNum uint64 `gorm:"column:applications_num" json:"applicationsNum"` // 申请数量
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 绑定的申请id ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 绑定的申请id
} }
@ -24,16 +25,17 @@ func (m *Bundle) TableName() string {
return "bundle" return "bundle"
} }
func (m *Bundle) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Bundle) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
m.ApprovalID = a.ID m.ApprovalID = a.ID
m.ReceivedAt = in.Bundle.ReceivedAt m.ReceivedAt = in.Bundle.ReceivedAt
m.ReturnAt = in.Bundle.ReturnAt
m.ApplicationsNum = in.Bundle.ApplicationsNum m.ApplicationsNum = in.Bundle.ApplicationsNum
return DB.Create(&m).Error return DB.Create(&m).Error
} }
func (m *Bundle) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Bundle) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
var entity *Bundle var entity *Bundle
@ -49,7 +51,7 @@ func (m *Bundle) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval
return DB.Save(&m).Error return DB.Save(&m).Error
} }
func (m *Bundle) BuildResContent(a *Approval, request *approval.ApprovalRequest) { func (m *Bundle) BuildResContent(a *Approval, request *approval.CreateRequest) {
request.Bundle = &approval.Bundle{ request.Bundle = &approval.Bundle{
ID: m.ID, ID: m.ID,
ReceivedAt: m.ReceivedAt, ReceivedAt: m.ReceivedAt,

@ -24,7 +24,7 @@ func (m *Exhibition) TableName() string {
return "exhibition" return "exhibition"
} }
func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Exhibition) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
//主体保存 //主体保存
m.ApprovalID = a.ID m.ApprovalID = a.ID
@ -59,7 +59,7 @@ func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approv
return err return err
} }
func (m *Exhibition) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
approvalExhibitions := in.Exhibition.ApprovalExhibitions approvalExhibitions := in.Exhibition.ApprovalExhibitions
var oldApprovalExhibitions []ApprovalExhibition var oldApprovalExhibitions []ApprovalExhibition
@ -139,7 +139,7 @@ func (m *Exhibition) UpdateApprovalContent(in *approval.ApprovalRequest, a *Appr
} }
func (m *Exhibition) BuildResContent(a *Approval, request *approval.ApprovalRequest) { func (m *Exhibition) BuildResContent(a *Approval, request *approval.CreateRequest) {
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"` //ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
var approvalExhibitions []*approval.ApprovalExhibition var approvalExhibitions []*approval.ApprovalExhibition

@ -23,14 +23,14 @@ func (m *Show) TableName() string {
return "show" return "show"
} }
func (m *Show) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Show) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
m.ArtistNum = in.Show.ArtistNum m.ArtistNum = in.Show.ArtistNum
m.ApprovalID = a.ApproverID m.ApprovalID = a.ApproverID
m.ShowAt = in.Show.ShowAt m.ShowAt = in.Show.ShowAt
return DB.Create(&m).Error return DB.Create(&m).Error
} }
func (m *Show) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Show) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
var entity *Show var entity *Show
@ -44,7 +44,7 @@ func (m *Show) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval)
return DB.Save(&m).Error return DB.Save(&m).Error
} }
func (m *Show) BuildResContent(a *Approval, request *approval.ApprovalRequest) { func (m *Show) BuildResContent(a *Approval, request *approval.CreateRequest) {
request.Show = &approval.Show{ request.Show = &approval.Show{
ID: m.ID, ID: m.ID,
ArtistNum: m.ArtistNum, ArtistNum: m.ArtistNum,

@ -19,7 +19,7 @@ type Work struct {
ReturnAt string `gorm:"column:return_at" json:"returnAt"` // 送还时间 ReturnAt string `gorm:"column:return_at" json:"returnAt"` // 送还时间
ReceivedAt string `gorm:"column:received_at" json:"receivedAt"` // 领取时间 ReceivedAt string `gorm:"column:received_at" json:"receivedAt"` // 领取时间
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 关联申请的ID ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 关联申请的ID
ApprovalWorks []*ApprovalWork `gorm:"foreignKey:WorkId" json:"ApprovalWorks"` //type:string comment:备注 version:2022-06-12 15:10 ApprovalWorks []*ApprovalWork `gorm:"foreignKey:WorkID" json:"ApprovalWorks"` //type:string comment:备注 version:2022-06-12 15:10
} }
// TableName get sql table name.获取数据库表名 // TableName get sql table name.获取数据库表名
@ -27,7 +27,7 @@ func (m *Work) TableName() string {
return "work" return "work"
} }
func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Work) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
//主体保存 //主体保存
m.ApprovalID = a.ApproverID m.ApprovalID = a.ApproverID
@ -64,7 +64,7 @@ func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
return err return err
} }
func (m *Work) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Work) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
var entity *Work var entity *Work
var err error var err error
@ -86,7 +86,7 @@ func (m *Work) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval)
return m.UpdateContent(in, a) return m.UpdateContent(in, a)
} }
func (m *Work) UpdateContent(in *approval.ApprovalRequest, a *Approval) error { func (m *Work) UpdateContent(in *approval.CreateRequest, a *Approval) error {
var oldApprovalWorks []ApprovalWork var oldApprovalWorks []ApprovalWork
var oldArtWorkID []uint64 var oldArtWorkID []uint64
var inArtWorkID []uint64 var inArtWorkID []uint64
@ -166,7 +166,7 @@ func (m *Work) UpdateContent(in *approval.ApprovalRequest, a *Approval) error {
} }
func (m *Work) BuildResContent(a *Approval, request *approval.ApprovalRequest) { func (m *Work) BuildResContent(a *Approval, request *approval.CreateRequest) {
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"` //ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
var approvalWorks []*approval.ApprovalWork var approvalWorks []*approval.ApprovalWork

@ -6,13 +6,13 @@ import (
) )
//BuildApproval 处理单个detail返回 //BuildApproval 处理单个detail返回
func BuildApproval(entity *model.Approval) *approval.ApprovalRequest { func BuildApproval(entity *model.Approval) *approval.CreateRequest {
var work *approval.Work var work *approval.Work
var show *approval.Show var show *approval.Show
var exhibition *approval.Exhibition var exhibition *approval.Exhibition
var bundle *approval.Bundle var bundle *approval.Bundle
response := &approval.ApprovalRequest{ response := &approval.CreateRequest{
ID: entity.ID, ID: entity.ID,
Domain: *entity.Domain, Domain: *entity.Domain,
Status: uint64(entity.Status), Status: uint64(entity.Status),
@ -36,7 +36,7 @@ func BuildApproval(entity *model.Approval) *approval.ApprovalRequest {
} }
//BuildApprovals 处理单个detail返回 //BuildApprovals 处理单个detail返回
func BuildApprovals(list []*model.Approval) (details []*approval.ApprovalRequest) { func BuildApprovals(list []*model.Approval) (details []*approval.CreateRequest) {
for _, item := range list { for _, item := range list {
temp := BuildApproval(item) temp := BuildApproval(item)

@ -12,7 +12,7 @@ type ApprovalProvider struct {
approval.UnimplementedApprovalServer approval.UnimplementedApprovalServer
} }
func (a *ApprovalProvider) Create(ctx context.Context, in *approval.ApprovalRequest) (*approval.ApprovalResponse, error) { func (a *ApprovalProvider) Create(ctx context.Context, in *approval.CreateRequest) (*approval.ApprovalResponse, error) {
response := &approval.ApprovalResponse{} response := &approval.ApprovalResponse{}
entity, err := model.StoreApproval(in) entity, err := model.StoreApproval(in)
@ -22,7 +22,7 @@ func (a *ApprovalProvider) Create(ctx context.Context, in *approval.ApprovalRequ
return response, err return response, err
} }
func (a *ApprovalProvider) Update(ctx context.Context, in *approval.ApprovalRequest) (*approval.ApprovalResponse, error) { func (a *ApprovalProvider) Update(ctx context.Context, in *approval.CreateRequest) (*approval.ApprovalResponse, error) {
response := &approval.ApprovalResponse{} response := &approval.ApprovalResponse{}
@ -35,9 +35,9 @@ func (a *ApprovalProvider) Update(ctx context.Context, in *approval.ApprovalRequ
} }
func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDetail) (*approval.ApprovalRemove, error) { func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.DetailRequest) (*approval.RemoveResponse, error) {
response := &approval.ApprovalRemove{} response := &approval.RemoveResponse{}
err := model.DB.Transaction(func(tx *gorm.DB) error { err := model.DB.Transaction(func(tx *gorm.DB) error {
@ -74,8 +74,8 @@ func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDeta
} }
func (a *ApprovalProvider) Detail(ctx context.Context, in *approval.ApprovalDetail) (*approval.ApprovalRequest, error) { func (a *ApprovalProvider) Detail(ctx context.Context, in *approval.DetailRequest) (*approval.CreateRequest, error) {
response := &approval.ApprovalRequest{} response := &approval.CreateRequest{}
var err error var err error
var entity *model.Approval var entity *model.Approval
if err := model.DB.First(&entity, in.ID).Error; err != nil { if err := model.DB.First(&entity, in.ID).Error; err != nil {

Loading…
Cancel
Save