diff --git a/gooseai/dashboard/dashboard.pb.go b/gooseai/dashboard/dashboard.pb.go index 9a8b567..7d439f7 100644 --- a/gooseai/dashboard/dashboard.pb.go +++ b/gooseai/dashboard/dashboard.pb.go @@ -504,6 +504,7 @@ type User struct { AcceptedLatestPrivacyPolicyVersion *bool `protobuf:"varint,11,opt,name=accepted_latest_privacy_policy_version,json=acceptedLatestPrivacyPolicyVersion,proto3,oneof" json:"accepted_latest_privacy_policy_version,omitempty"` AcceptedAnyTosVersion *bool `protobuf:"varint,12,opt,name=accepted_any_tos_version,json=acceptedAnyTosVersion,proto3,oneof" json:"accepted_any_tos_version,omitempty"` AcceptedAnyPrivacyPolicyVersion *bool `protobuf:"varint,13,opt,name=accepted_any_privacy_policy_version,json=acceptedAnyPrivacyPolicyVersion,proto3,oneof" json:"accepted_any_privacy_policy_version,omitempty"` + TrainingOptIn *bool `protobuf:"varint,14,opt,name=training_opt_in,json=trainingOptIn,proto3,oneof" json:"training_opt_in,omitempty"` } func (x *User) Reset() { @@ -622,6 +623,13 @@ func (x *User) GetAcceptedAnyPrivacyPolicyVersion() bool { return false } +func (x *User) GetTrainingOptIn() bool { + if x != nil && x.TrainingOptIn != nil { + return *x.TrainingOptIn + } + return false +} + type CostData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1880,6 +1888,53 @@ func (x *UpdateUserInfoRequest) GetEmail() string { return "" } +type UpdateUserPreferencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TrainingOptIn *bool `protobuf:"varint,1,opt,name=training_opt_in,json=trainingOptIn,proto3,oneof" json:"training_opt_in,omitempty"` +} + +func (x *UpdateUserPreferencesRequest) Reset() { + *x = UpdateUserPreferencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dashboard_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateUserPreferencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateUserPreferencesRequest) ProtoMessage() {} + +func (x *UpdateUserPreferencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_dashboard_proto_msgTypes[29] + 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 UpdateUserPreferencesRequest.ProtoReflect.Descriptor instead. +func (*UpdateUserPreferencesRequest) Descriptor() ([]byte, []int) { + return file_dashboard_proto_rawDescGZIP(), []int{29} +} + +func (x *UpdateUserPreferencesRequest) GetTrainingOptIn() bool { + if x != nil && x.TrainingOptIn != nil { + return *x.TrainingOptIn + } + return false +} + type UserPasswordChangeTicket struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1891,7 +1946,7 @@ type UserPasswordChangeTicket struct { func (x *UserPasswordChangeTicket) Reset() { *x = UserPasswordChangeTicket{} if protoimpl.UnsafeEnabled { - mi := &file_dashboard_proto_msgTypes[29] + mi := &file_dashboard_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1904,7 +1959,7 @@ func (x *UserPasswordChangeTicket) String() string { func (*UserPasswordChangeTicket) ProtoMessage() {} func (x *UserPasswordChangeTicket) ProtoReflect() protoreflect.Message { - mi := &file_dashboard_proto_msgTypes[29] + mi := &file_dashboard_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1917,7 +1972,7 @@ func (x *UserPasswordChangeTicket) ProtoReflect() protoreflect.Message { // Deprecated: Use UserPasswordChangeTicket.ProtoReflect.Descriptor instead. func (*UserPasswordChangeTicket) Descriptor() ([]byte, []int) { - return file_dashboard_proto_rawDescGZIP(), []int{29} + return file_dashboard_proto_rawDescGZIP(), []int{30} } func (x *UserPasswordChangeTicket) GetTicket() string { @@ -1997,7 +2052,7 @@ var file_dashboard_proto_rawDesc = []byte{ 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8a, 0x06, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xcb, 0x06, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0f, @@ -2035,250 +2090,265 @@ var file_dashboard_proto_rawDesc = []byte{ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x1f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x79, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x42, 0x29, 0x0a, 0x27, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, - 0x19, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x74, - 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x63, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, - 0x0a, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0b, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x12, 0x30, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, - 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, - 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x73, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x33, 0x0a, 0x15, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x22, 0x57, 0x0a, - 0x09, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0x7e, 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x0b, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, - 0x35, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, - 0x43, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x6a, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x28, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x54, 0x6f, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x2c, - 0x0a, 0x0d, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x23, 0x0a, 0x11, - 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, - 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x10, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, - 0x22, 0x34, 0x0a, 0x18, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x54, - 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0d, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, + 0x1e, 0x0a, 0x1c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, + 0x29, 0x0a, 0x27, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x74, 0x6f, 0x73, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, + 0x5f, 0x69, 0x6e, 0x22, 0x56, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x23, 0x0a, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0b, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x12, 0x30, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x43, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, + 0x6f, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, + 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x33, 0x0a, 0x15, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x14, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x22, 0x57, + 0x0a, 0x09, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0x7e, 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x0b, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x12, 0x35, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, + 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x6a, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x28, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xdf, 0x01, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, - 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x22, 0x56, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, - 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x54, - 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x61, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x70, 0x61, 0x69, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x4c, - 0x69, 0x6e, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x07, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x67, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, - 0x61, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x67, - 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, - 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x6f, - 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, - 0x3c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x32, 0x0a, - 0x18, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x2a, 0x39, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x41, 0x4e, 0x54, 0x10, - 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x02, 0x32, 0xd0, 0x09, 0x0a, - 0x10, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, - 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x12, 0x49, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, - 0x12, 0x3b, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, - 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, - 0x79, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x67, - 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x57, 0x0a, - 0x10, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x54, 0x65, 0x72, 0x6d, - 0x73, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x65, - 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x63, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x6f, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, + 0x2c, 0x0a, 0x0d, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x23, 0x0a, + 0x11, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, + 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, + 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, + 0x6e, 0x22, 0x34, 0x0a, 0x18, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, + 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, + 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, + 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x22, 0x56, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x54, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x70, 0x61, 0x69, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, + 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0x34, 0x0a, + 0x07, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6d, + 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, + 0x22, 0x3c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5f, + 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, + 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x22, + 0x32, 0x0a, 0x18, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x2a, 0x39, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, + 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x41, 0x4e, + 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x02, 0x32, 0x9f, + 0x0a, 0x0a, 0x10, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x12, 0x15, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, + 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, + 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, + 0x65, 0x79, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x50, 0x49, + 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, + 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, + 0x57, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x54, 0x65, + 0x72, 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, - 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x43, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x43, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x1a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, - 0x61, 0x69, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x35, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x67, 0x6f, 0x6f, - 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x73, - 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, - 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x26, - 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, - 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0x5b, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x43, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, - 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4f, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x67, 0x73, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x15, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x1a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, + 0x65, 0x61, 0x69, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x67, 0x6f, + 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, + 0x69, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, + 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, + 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, - 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x74, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2d, 0x61, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, - 0x69, 0x2f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x4f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x73, 0x65, 0x61, 0x69, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2d, 0x61, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x2d, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x73, 0x65, + 0x61, 0x69, 0x2f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2294,7 +2364,7 @@ func file_dashboard_proto_rawDescGZIP() []byte { } var file_dashboard_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_dashboard_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_dashboard_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_dashboard_proto_goTypes = []interface{}{ (OrganizationRole)(0), // 0: gooseai.OrganizationRole (*OrganizationMember)(nil), // 1: gooseai.OrganizationMember @@ -2326,7 +2396,8 @@ var file_dashboard_proto_goTypes = []interface{}{ (*GetAutoChargeRequest)(nil), // 27: gooseai.GetAutoChargeRequest (*AutoChargeIntent)(nil), // 28: gooseai.AutoChargeIntent (*UpdateUserInfoRequest)(nil), // 29: gooseai.UpdateUserInfoRequest - (*UserPasswordChangeTicket)(nil), // 30: gooseai.UserPasswordChangeTicket + (*UpdateUserPreferencesRequest)(nil), // 30: gooseai.UpdateUserPreferencesRequest + (*UserPasswordChangeTicket)(nil), // 31: gooseai.UserPasswordChangeTicket } var file_dashboard_proto_depIdxs = []int32{ 5, // 0: gooseai.OrganizationMember.organization:type_name -> gooseai.Organization @@ -2355,32 +2426,34 @@ var file_dashboard_proto_depIdxs = []int32{ 13, // 23: gooseai.DashboardService.GetClientSettings:input_type -> gooseai.EmptyRequest 21, // 24: gooseai.DashboardService.SetClientSettings:input_type -> gooseai.ClientSettings 29, // 25: gooseai.DashboardService.UpdateUserInfo:input_type -> gooseai.UpdateUserInfoRequest - 13, // 26: gooseai.DashboardService.CreatePasswordChangeTicket:input_type -> gooseai.EmptyRequest - 13, // 27: gooseai.DashboardService.DeleteAccount:input_type -> gooseai.EmptyRequest - 23, // 28: gooseai.DashboardService.CreateCharge:input_type -> gooseai.CreateChargeRequest - 24, // 29: gooseai.DashboardService.GetCharges:input_type -> gooseai.GetChargesRequest - 22, // 30: gooseai.DashboardService.CreateAutoChargeIntent:input_type -> gooseai.CreateAutoChargeIntentRequest - 22, // 31: gooseai.DashboardService.UpdateAutoChargeIntent:input_type -> gooseai.CreateAutoChargeIntentRequest - 27, // 32: gooseai.DashboardService.GetAutoChargeIntent:input_type -> gooseai.GetAutoChargeRequest - 7, // 33: gooseai.DashboardService.GetMe:output_type -> gooseai.User - 5, // 34: gooseai.DashboardService.GetOrganization:output_type -> gooseai.Organization - 12, // 35: gooseai.DashboardService.GetMetrics:output_type -> gooseai.Metrics - 6, // 36: gooseai.DashboardService.CreateAPIKey:output_type -> gooseai.APIKey - 6, // 37: gooseai.DashboardService.DeleteAPIKey:output_type -> gooseai.APIKey - 19, // 38: gooseai.DashboardService.AcceptLegalTerms:output_type -> gooseai.AcceptLegalTermsResponse - 7, // 39: gooseai.DashboardService.UpdateDefaultOrganization:output_type -> gooseai.User - 21, // 40: gooseai.DashboardService.GetClientSettings:output_type -> gooseai.ClientSettings - 21, // 41: gooseai.DashboardService.SetClientSettings:output_type -> gooseai.ClientSettings - 7, // 42: gooseai.DashboardService.UpdateUserInfo:output_type -> gooseai.User - 30, // 43: gooseai.DashboardService.CreatePasswordChangeTicket:output_type -> gooseai.UserPasswordChangeTicket - 7, // 44: gooseai.DashboardService.DeleteAccount:output_type -> gooseai.User - 25, // 45: gooseai.DashboardService.CreateCharge:output_type -> gooseai.Charge - 26, // 46: gooseai.DashboardService.GetCharges:output_type -> gooseai.Charges - 28, // 47: gooseai.DashboardService.CreateAutoChargeIntent:output_type -> gooseai.AutoChargeIntent - 28, // 48: gooseai.DashboardService.UpdateAutoChargeIntent:output_type -> gooseai.AutoChargeIntent - 28, // 49: gooseai.DashboardService.GetAutoChargeIntent:output_type -> gooseai.AutoChargeIntent - 33, // [33:50] is the sub-list for method output_type - 16, // [16:33] is the sub-list for method input_type + 30, // 26: gooseai.DashboardService.UpdateUserPreferences:input_type -> gooseai.UpdateUserPreferencesRequest + 13, // 27: gooseai.DashboardService.CreatePasswordChangeTicket:input_type -> gooseai.EmptyRequest + 13, // 28: gooseai.DashboardService.DeleteAccount:input_type -> gooseai.EmptyRequest + 23, // 29: gooseai.DashboardService.CreateCharge:input_type -> gooseai.CreateChargeRequest + 24, // 30: gooseai.DashboardService.GetCharges:input_type -> gooseai.GetChargesRequest + 22, // 31: gooseai.DashboardService.CreateAutoChargeIntent:input_type -> gooseai.CreateAutoChargeIntentRequest + 22, // 32: gooseai.DashboardService.UpdateAutoChargeIntent:input_type -> gooseai.CreateAutoChargeIntentRequest + 27, // 33: gooseai.DashboardService.GetAutoChargeIntent:input_type -> gooseai.GetAutoChargeRequest + 7, // 34: gooseai.DashboardService.GetMe:output_type -> gooseai.User + 5, // 35: gooseai.DashboardService.GetOrganization:output_type -> gooseai.Organization + 12, // 36: gooseai.DashboardService.GetMetrics:output_type -> gooseai.Metrics + 6, // 37: gooseai.DashboardService.CreateAPIKey:output_type -> gooseai.APIKey + 6, // 38: gooseai.DashboardService.DeleteAPIKey:output_type -> gooseai.APIKey + 19, // 39: gooseai.DashboardService.AcceptLegalTerms:output_type -> gooseai.AcceptLegalTermsResponse + 7, // 40: gooseai.DashboardService.UpdateDefaultOrganization:output_type -> gooseai.User + 21, // 41: gooseai.DashboardService.GetClientSettings:output_type -> gooseai.ClientSettings + 21, // 42: gooseai.DashboardService.SetClientSettings:output_type -> gooseai.ClientSettings + 7, // 43: gooseai.DashboardService.UpdateUserInfo:output_type -> gooseai.User + 7, // 44: gooseai.DashboardService.UpdateUserPreferences:output_type -> gooseai.User + 31, // 45: gooseai.DashboardService.CreatePasswordChangeTicket:output_type -> gooseai.UserPasswordChangeTicket + 7, // 46: gooseai.DashboardService.DeleteAccount:output_type -> gooseai.User + 25, // 47: gooseai.DashboardService.CreateCharge:output_type -> gooseai.Charge + 26, // 48: gooseai.DashboardService.GetCharges:output_type -> gooseai.Charges + 28, // 49: gooseai.DashboardService.CreateAutoChargeIntent:output_type -> gooseai.AutoChargeIntent + 28, // 50: gooseai.DashboardService.UpdateAutoChargeIntent:output_type -> gooseai.AutoChargeIntent + 28, // 51: gooseai.DashboardService.GetAutoChargeIntent:output_type -> gooseai.AutoChargeIntent + 34, // [34:52] is the sub-list for method output_type + 16, // [16:34] is the sub-list for method input_type 16, // [16:16] is the sub-list for extension type_name 16, // [16:16] is the sub-list for extension extendee 0, // [0:16] is the sub-list for field type_name @@ -2741,6 +2814,18 @@ func file_dashboard_proto_init() { } } file_dashboard_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateUserPreferencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dashboard_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserPasswordChangeTicket); i { case 0: return &v.state @@ -2760,13 +2845,14 @@ func file_dashboard_proto_init() { file_dashboard_proto_msgTypes[14].OneofWrappers = []interface{}{} file_dashboard_proto_msgTypes[17].OneofWrappers = []interface{}{} file_dashboard_proto_msgTypes[28].OneofWrappers = []interface{}{} + file_dashboard_proto_msgTypes[29].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dashboard_proto_rawDesc, NumEnums: 1, - NumMessages: 30, + NumMessages: 31, NumExtensions: 0, NumServices: 1, }, diff --git a/gooseai/dashboard/dashboard_grpc.pb.go b/gooseai/dashboard/dashboard_grpc.pb.go index c4d99c6..9f100be 100644 --- a/gooseai/dashboard/dashboard_grpc.pb.go +++ b/gooseai/dashboard/dashboard_grpc.pb.go @@ -32,6 +32,7 @@ type DashboardServiceClient interface { GetClientSettings(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ClientSettings, error) SetClientSettings(ctx context.Context, in *ClientSettings, opts ...grpc.CallOption) (*ClientSettings, error) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoRequest, opts ...grpc.CallOption) (*User, error) + UpdateUserPreferences(ctx context.Context, in *UpdateUserPreferencesRequest, opts ...grpc.CallOption) (*User, error) CreatePasswordChangeTicket(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*UserPasswordChangeTicket, error) DeleteAccount(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*User, error) // Payment functions @@ -140,6 +141,15 @@ func (c *dashboardServiceClient) UpdateUserInfo(ctx context.Context, in *UpdateU return out, nil } +func (c *dashboardServiceClient) UpdateUserPreferences(ctx context.Context, in *UpdateUserPreferencesRequest, opts ...grpc.CallOption) (*User, error) { + out := new(User) + err := c.cc.Invoke(ctx, "/gooseai.DashboardService/UpdateUserPreferences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *dashboardServiceClient) CreatePasswordChangeTicket(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*UserPasswordChangeTicket, error) { out := new(UserPasswordChangeTicket) err := c.cc.Invoke(ctx, "/gooseai.DashboardService/CreatePasswordChangeTicket", in, out, opts...) @@ -221,6 +231,7 @@ type DashboardServiceServer interface { GetClientSettings(context.Context, *EmptyRequest) (*ClientSettings, error) SetClientSettings(context.Context, *ClientSettings) (*ClientSettings, error) UpdateUserInfo(context.Context, *UpdateUserInfoRequest) (*User, error) + UpdateUserPreferences(context.Context, *UpdateUserPreferencesRequest) (*User, error) CreatePasswordChangeTicket(context.Context, *EmptyRequest) (*UserPasswordChangeTicket, error) DeleteAccount(context.Context, *EmptyRequest) (*User, error) // Payment functions @@ -266,6 +277,9 @@ func (UnimplementedDashboardServiceServer) SetClientSettings(context.Context, *C func (UnimplementedDashboardServiceServer) UpdateUserInfo(context.Context, *UpdateUserInfoRequest) (*User, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserInfo not implemented") } +func (UnimplementedDashboardServiceServer) UpdateUserPreferences(context.Context, *UpdateUserPreferencesRequest) (*User, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateUserPreferences not implemented") +} func (UnimplementedDashboardServiceServer) CreatePasswordChangeTicket(context.Context, *EmptyRequest) (*UserPasswordChangeTicket, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePasswordChangeTicket not implemented") } @@ -480,6 +494,24 @@ func _DashboardService_UpdateUserInfo_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _DashboardService_UpdateUserPreferences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateUserPreferencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DashboardServiceServer).UpdateUserPreferences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gooseai.DashboardService/UpdateUserPreferences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DashboardServiceServer).UpdateUserPreferences(ctx, req.(*UpdateUserPreferencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _DashboardService_CreatePasswordChangeTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EmptyRequest) if err := dec(in); err != nil { @@ -653,6 +685,10 @@ var DashboardService_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateUserInfo", Handler: _DashboardService_UpdateUserInfo_Handler, }, + { + MethodName: "UpdateUserPreferences", + Handler: _DashboardService_UpdateUserPreferences_Handler, + }, { MethodName: "CreatePasswordChangeTicket", Handler: _DashboardService_CreatePasswordChangeTicket_Handler, diff --git a/gooseai/dashboard/dashboard_grpc_pb.d.ts b/gooseai/dashboard/dashboard_grpc_pb.d.ts index 98f7d3e..e3fb559 100644 --- a/gooseai/dashboard/dashboard_grpc_pb.d.ts +++ b/gooseai/dashboard/dashboard_grpc_pb.d.ts @@ -17,6 +17,7 @@ interface IDashboardServiceService extends grpc.ServiceDefinition; setClientSettings: grpc.MethodDefinition; updateUserInfo: grpc.MethodDefinition; + updateUserPreferences: grpc.MethodDefinition; createPasswordChangeTicket: grpc.MethodDefinition; deleteAccount: grpc.MethodDefinition; createCharge: grpc.MethodDefinition; @@ -39,6 +40,7 @@ export interface IDashboardServiceServer extends grpc.UntypedServiceImplementati getClientSettings: grpc.handleUnaryCall; setClientSettings: grpc.handleUnaryCall; updateUserInfo: grpc.handleUnaryCall; + updateUserPreferences: grpc.handleUnaryCall; createPasswordChangeTicket: grpc.handleUnaryCall; deleteAccount: grpc.handleUnaryCall; createCharge: grpc.handleUnaryCall; @@ -80,6 +82,9 @@ export class DashboardServiceClient extends grpc.Client { updateUserInfo(argument: dashboard_pb.UpdateUserInfoRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; updateUserInfo(argument: dashboard_pb.UpdateUserInfoRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; updateUserInfo(argument: dashboard_pb.UpdateUserInfoRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + updateUserPreferences(argument: dashboard_pb.UpdateUserPreferencesRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; + updateUserPreferences(argument: dashboard_pb.UpdateUserPreferencesRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; + updateUserPreferences(argument: dashboard_pb.UpdateUserPreferencesRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; createPasswordChangeTicket(argument: dashboard_pb.EmptyRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; createPasswordChangeTicket(argument: dashboard_pb.EmptyRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; createPasswordChangeTicket(argument: dashboard_pb.EmptyRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; diff --git a/gooseai/dashboard/dashboard_grpc_pb.js b/gooseai/dashboard/dashboard_grpc_pb.js index a0aa3de..67afb26 100644 --- a/gooseai/dashboard/dashboard_grpc_pb.js +++ b/gooseai/dashboard/dashboard_grpc_pb.js @@ -224,6 +224,17 @@ function deserialize_gooseai_UpdateUserInfoRequest(buffer_arg) { return dashboard_pb.UpdateUserInfoRequest.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_gooseai_UpdateUserPreferencesRequest(arg) { + if (!(arg instanceof dashboard_pb.UpdateUserPreferencesRequest)) { + throw new Error('Expected argument of type gooseai.UpdateUserPreferencesRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_gooseai_UpdateUserPreferencesRequest(buffer_arg) { + return dashboard_pb.UpdateUserPreferencesRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_gooseai_User(arg) { if (!(arg instanceof dashboard_pb.User)) { throw new Error('Expected argument of type gooseai.User'); @@ -362,6 +373,17 @@ updateDefaultOrganization: { responseSerialize: serialize_gooseai_User, responseDeserialize: deserialize_gooseai_User, }, + updateUserPreferences: { + path: '/gooseai.DashboardService/UpdateUserPreferences', + requestStream: false, + responseStream: false, + requestType: dashboard_pb.UpdateUserPreferencesRequest, + responseType: dashboard_pb.User, + requestSerialize: serialize_gooseai_UpdateUserPreferencesRequest, + requestDeserialize: deserialize_gooseai_UpdateUserPreferencesRequest, + responseSerialize: serialize_gooseai_User, + responseDeserialize: deserialize_gooseai_User, + }, createPasswordChangeTicket: { path: '/gooseai.DashboardService/CreatePasswordChangeTicket', requestStream: false, diff --git a/gooseai/dashboard/dashboard_pb.d.ts b/gooseai/dashboard/dashboard_pb.d.ts index 40d27b3..d8c92b9 100644 --- a/gooseai/dashboard/dashboard_pb.d.ts +++ b/gooseai/dashboard/dashboard_pb.d.ts @@ -258,6 +258,11 @@ export class User extends jspb.Message { getAcceptedAnyPrivacyPolicyVersion(): boolean; setAcceptedAnyPrivacyPolicyVersion(value: boolean): void; + hasTrainingOptIn(): boolean; + clearTrainingOptIn(): void; + getTrainingOptIn(): boolean; + setTrainingOptIn(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): User.AsObject; static toObject(includeInstance: boolean, msg: User): User.AsObject; @@ -282,6 +287,7 @@ export namespace User { acceptedLatestPrivacyPolicyVersion: boolean, acceptedAnyTosVersion: boolean, acceptedAnyPrivacyPolicyVersion: boolean, + trainingOptIn: boolean, } } @@ -861,6 +867,28 @@ export namespace UpdateUserInfoRequest { } } +export class UpdateUserPreferencesRequest extends jspb.Message { + hasTrainingOptIn(): boolean; + clearTrainingOptIn(): void; + getTrainingOptIn(): boolean; + setTrainingOptIn(value: boolean): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): UpdateUserPreferencesRequest.AsObject; + static toObject(includeInstance: boolean, msg: UpdateUserPreferencesRequest): UpdateUserPreferencesRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: UpdateUserPreferencesRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): UpdateUserPreferencesRequest; + static deserializeBinaryFromReader(message: UpdateUserPreferencesRequest, reader: jspb.BinaryReader): UpdateUserPreferencesRequest; +} + +export namespace UpdateUserPreferencesRequest { + export type AsObject = { + trainingOptIn: boolean, + } +} + export class UserPasswordChangeTicket extends jspb.Message { getTicket(): string; setTicket(value: string): void; diff --git a/gooseai/dashboard/dashboard_pb.js b/gooseai/dashboard/dashboard_pb.js index b09a55d..067e542 100644 --- a/gooseai/dashboard/dashboard_pb.js +++ b/gooseai/dashboard/dashboard_pb.js @@ -49,6 +49,7 @@ goog.exportSymbol('proto.gooseai.OrganizationRole', null, global); goog.exportSymbol('proto.gooseai.TotalMetricsData', null, global); goog.exportSymbol('proto.gooseai.UpdateDefaultOrganizationRequest', null, global); goog.exportSymbol('proto.gooseai.UpdateUserInfoRequest', null, global); +goog.exportSymbol('proto.gooseai.UpdateUserPreferencesRequest', null, global); goog.exportSymbol('proto.gooseai.UsageMetric', null, global); goog.exportSymbol('proto.gooseai.User', null, global); goog.exportSymbol('proto.gooseai.UserPasswordChangeTicket', null, global); @@ -661,6 +662,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.gooseai.UpdateUserInfoRequest.displayName = 'proto.gooseai.UpdateUserInfoRequest'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.gooseai.UpdateUserPreferencesRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.gooseai.UpdateUserPreferencesRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.gooseai.UpdateUserPreferencesRequest.displayName = 'proto.gooseai.UpdateUserPreferencesRequest'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -2186,7 +2208,8 @@ proto.gooseai.User.toObject = function(includeInstance, msg) { acceptedLatestTosVersion: jspb.Message.getBooleanFieldWithDefault(msg, 10, false), acceptedLatestPrivacyPolicyVersion: jspb.Message.getBooleanFieldWithDefault(msg, 11, false), acceptedAnyTosVersion: jspb.Message.getBooleanFieldWithDefault(msg, 12, false), - acceptedAnyPrivacyPolicyVersion: jspb.Message.getBooleanFieldWithDefault(msg, 13, false) + acceptedAnyPrivacyPolicyVersion: jspb.Message.getBooleanFieldWithDefault(msg, 13, false), + trainingOptIn: jspb.Message.getBooleanFieldWithDefault(msg, 14, false) }; if (includeInstance) { @@ -2273,6 +2296,10 @@ proto.gooseai.User.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {boolean} */ (reader.readBool()); msg.setAcceptedAnyPrivacyPolicyVersion(value); break; + case 14: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setTrainingOptIn(value); + break; default: reader.skipField(); break; @@ -2388,6 +2415,13 @@ proto.gooseai.User.serializeBinaryToWriter = function(message, writer) { f ); } + f = /** @type {boolean} */ (jspb.Message.getField(message, 14)); + if (f != null) { + writer.writeBool( + 14, + f + ); + } }; @@ -2755,6 +2789,42 @@ proto.gooseai.User.prototype.hasAcceptedAnyPrivacyPolicyVersion = function() { }; +/** + * optional bool training_opt_in = 14; + * @return {boolean} + */ +proto.gooseai.User.prototype.getTrainingOptIn = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.gooseai.User} returns this + */ +proto.gooseai.User.prototype.setTrainingOptIn = function(value) { + return jspb.Message.setField(this, 14, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.User} returns this + */ +proto.gooseai.User.prototype.clearTrainingOptIn = function() { + return jspb.Message.setField(this, 14, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.User.prototype.hasTrainingOptIn = function() { + return jspb.Message.getField(this, 14) != null; +}; + + @@ -6720,6 +6790,154 @@ proto.gooseai.UpdateUserInfoRequest.prototype.hasEmail = function() { +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.gooseai.UpdateUserPreferencesRequest.prototype.toObject = function(opt_includeInstance) { + return proto.gooseai.UpdateUserPreferencesRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.gooseai.UpdateUserPreferencesRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.UpdateUserPreferencesRequest.toObject = function(includeInstance, msg) { + var f, obj = { + trainingOptIn: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.gooseai.UpdateUserPreferencesRequest} + */ +proto.gooseai.UpdateUserPreferencesRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.gooseai.UpdateUserPreferencesRequest; + return proto.gooseai.UpdateUserPreferencesRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.gooseai.UpdateUserPreferencesRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.gooseai.UpdateUserPreferencesRequest} + */ +proto.gooseai.UpdateUserPreferencesRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setTrainingOptIn(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.gooseai.UpdateUserPreferencesRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.gooseai.UpdateUserPreferencesRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.gooseai.UpdateUserPreferencesRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.gooseai.UpdateUserPreferencesRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = /** @type {boolean} */ (jspb.Message.getField(message, 1)); + if (f != null) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool training_opt_in = 1; + * @return {boolean} + */ +proto.gooseai.UpdateUserPreferencesRequest.prototype.getTrainingOptIn = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.gooseai.UpdateUserPreferencesRequest} returns this + */ +proto.gooseai.UpdateUserPreferencesRequest.prototype.setTrainingOptIn = function(value) { + return jspb.Message.setField(this, 1, value); +}; + + +/** + * Clears the field making it undefined. + * @return {!proto.gooseai.UpdateUserPreferencesRequest} returns this + */ +proto.gooseai.UpdateUserPreferencesRequest.prototype.clearTrainingOptIn = function() { + return jspb.Message.setField(this, 1, undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.gooseai.UpdateUserPreferencesRequest.prototype.hasTrainingOptIn = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/gooseai/dashboard/dashboard_pb2.py b/gooseai/dashboard/dashboard_pb2.py index 262cbe9..6ebb8b7 100644 --- a/gooseai/dashboard/dashboard_pb2.py +++ b/gooseai/dashboard/dashboard_pb2.py @@ -15,7 +15,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x64\x61shboard.proto\x12\x07gooseai\"\xa9\x01\n\x12OrganizationMember\x12+\n\x0corganization\x18\x01 \x01(\x0b\x32\x15.gooseai.Organization\x12 \n\x04user\x18\x02 \x01(\x0b\x32\r.gooseai.UserH\x00\x88\x01\x01\x12\'\n\x04role\x18\x03 \x01(\x0e\x32\x19.gooseai.OrganizationRole\x12\x12\n\nis_default\x18\x04 \x01(\x08\x42\x07\n\x05_user\"h\n\x11OrganizationGrant\x12\x16\n\x0e\x61mount_granted\x18\x01 \x01(\x01\x12\x13\n\x0b\x61mount_used\x18\x02 \x01(\x01\x12\x12\n\nexpires_at\x18\x03 \x01(\x04\x12\x12\n\ngranted_at\x18\x04 \x01(\x04\"V\n\x17OrganizationPaymentInfo\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x01\x12*\n\x06grants\x18\x02 \x03(\x0b\x32\x1a.gooseai.OrganizationGrant\"I\n\x16OrganizationAutoCharge\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\n\n\x02id\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x04\"\xbc\x02\n\x0cOrganization\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12,\n\x07members\x18\x04 \x03(\x0b\x32\x1b.gooseai.OrganizationMember\x12;\n\x0cpayment_info\x18\x05 \x01(\x0b\x32 .gooseai.OrganizationPaymentInfoH\x00\x88\x01\x01\x12\x1f\n\x12stripe_customer_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x0b\x61uto_charge\x18\x07 \x01(\x0b\x32\x1f.gooseai.OrganizationAutoChargeH\x02\x88\x01\x01\x42\x0f\n\r_payment_infoB\x15\n\x13_stripe_customer_idB\x0e\n\x0c_auto_charge\"<\n\x06\x41PIKey\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x11\n\tis_secret\x18\x02 \x01(\x08\x12\x12\n\ncreated_at\x18\x03 \x01(\x04\"\xbf\x04\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x07\x61uth_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fprofile_picture\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x32\n\rorganizations\x18\x05 \x03(\x0b\x32\x1b.gooseai.OrganizationMember\x12!\n\x08\x61pi_keys\x18\x07 \x03(\x0b\x32\x0f.gooseai.APIKey\x12\x12\n\ncreated_at\x18\x08 \x01(\x04\x12\x1b\n\x0e\x65mail_verified\x18\t \x01(\x08H\x01\x88\x01\x01\x12(\n\x1b\x61\x63\x63\x65pted_latest_tos_version\x18\n \x01(\x08H\x02\x88\x01\x01\x12\x33\n&accepted_latest_privacy_policy_version\x18\x0b \x01(\x08H\x03\x88\x01\x01\x12%\n\x18\x61\x63\x63\x65pted_any_tos_version\x18\x0c \x01(\x08H\x04\x88\x01\x01\x12\x30\n#accepted_any_privacy_policy_version\x18\r \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_auth_idB\x11\n\x0f_email_verifiedB\x1e\n\x1c_accepted_latest_tos_versionB)\n\'_accepted_latest_privacy_policy_versionB\x1b\n\x19_accepted_any_tos_versionB&\n$_accepted_any_privacy_policy_version\"9\n\x08\x43ostData\x12\x15\n\ramount_tokens\x18\x01 \x01(\r\x12\x16\n\x0e\x61mount_credits\x18\x02 \x01(\x01\"\xba\x01\n\x0bUsageMetric\x12\x11\n\toperation\x18\x01 \x01(\t\x12\x0e\n\x06\x65ngine\x18\x02 \x01(\t\x12%\n\ninput_cost\x18\x03 \x01(\x0b\x32\x11.gooseai.CostData\x12&\n\x0boutput_cost\x18\x04 \x01(\x0b\x32\x11.gooseai.CostData\x12\x11\n\x04user\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x15\x61ggregation_timestamp\x18\x06 \x01(\x04\x42\x07\n\x05_user\":\n\tCostTotal\x12\x15\n\ramount_tokens\x18\x01 \x01(\r\x12\x16\n\x0e\x61mount_credits\x18\x02 \x01(\x01\"e\n\x10TotalMetricsData\x12\'\n\x0binput_total\x18\x01 \x01(\x0b\x32\x12.gooseai.CostTotal\x12(\n\x0coutput_total\x18\x02 \x01(\x0b\x32\x12.gooseai.CostTotal\"Z\n\x07Metrics\x12%\n\x07metrics\x18\x01 \x03(\x0b\x32\x14.gooseai.UsageMetric\x12(\n\x05total\x18\x02 \x01(\x0b\x32\x19.gooseai.TotalMetricsData\"\x0e\n\x0c\x45mptyRequest\"$\n\x16GetOrganizationRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x99\x01\n\x11GetMetricsRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\x12\x14\n\x07user_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nrange_from\x18\x03 \x01(\x04\x12\x10\n\x08range_to\x18\x04 \x01(\x04\x12#\n\x1binclude_per_request_metrics\x18\x05 \x01(\x08\x42\n\n\x08_user_id\"\"\n\rAPIKeyRequest\x12\x11\n\tis_secret\x18\x01 \x01(\x08\"\x1f\n\x11\x41PIKeyFindRequest\x12\n\n\x02id\x18\x01 \x01(\t\"M\n\x17\x41\x63\x63\x65ptLegalTermsRequest\x12\x1d\n\x10marketing_opt_in\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x13\n\x11_marketing_opt_in\"+\n\x18\x41\x63\x63\x65ptLegalTermsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\";\n UpdateDefaultOrganizationRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\"\"\n\x0e\x43lientSettings\x12\x10\n\x08settings\x18\x01 \x01(\x0c\"\x80\x01\n\x1d\x43reateAutoChargeIntentRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\x12\x17\n\x0fmonthly_maximum\x18\x02 \x01(\x04\x12\x15\n\rminimum_value\x18\x03 \x01(\x04\x12\x16\n\x0e\x61mount_credits\x18\x04 \x01(\x04\">\n\x13\x43reateChargeRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x17\n\x0forganization_id\x18\x02 \x01(\t\"R\n\x11GetChargesRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\x12\x12\n\nrange_from\x18\x02 \x01(\x04\x12\x10\n\x08range_to\x18\x03 \x01(\x04\"z\n\x06\x43harge\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04paid\x18\x02 \x01(\x08\x12\x14\n\x0creceipt_link\x18\x03 \x01(\t\x12\x14\n\x0cpayment_link\x18\x04 \x01(\t\x12\x12\n\ncreated_at\x18\x05 \x01(\x04\x12\x16\n\x0e\x61mount_credits\x18\x06 \x01(\x04\"+\n\x07\x43harges\x12 \n\x07\x63harges\x18\x01 \x03(\x0b\x32\x0f.gooseai.Charge\"/\n\x14GetAutoChargeRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\"\x90\x01\n\x10\x41utoChargeIntent\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x0cpayment_link\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x04\x12\x17\n\x0fmonthly_maximum\x18\x04 \x01(\x04\x12\x15\n\rminimum_value\x18\x05 \x01(\x04\x12\x16\n\x0e\x61mount_credits\x18\x06 \x01(\x04\"5\n\x15UpdateUserInfoRequest\x12\x12\n\x05\x65mail\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_email\"*\n\x18UserPasswordChangeTicket\x12\x0e\n\x06ticket\x18\x01 \x01(\t*9\n\x10OrganizationRole\x12\n\n\x06MEMBER\x10\x00\x12\x0e\n\nACCOUNTANT\x10\x01\x12\t\n\x05OWNER\x10\x02\x32\xd0\t\n\x10\x44\x61shboardService\x12-\n\x05GetMe\x12\x15.gooseai.EmptyRequest\x1a\r.gooseai.User\x12I\n\x0fGetOrganization\x12\x1f.gooseai.GetOrganizationRequest\x1a\x15.gooseai.Organization\x12:\n\nGetMetrics\x12\x1a.gooseai.GetMetricsRequest\x1a\x10.gooseai.Metrics\x12\x37\n\x0c\x43reateAPIKey\x12\x16.gooseai.APIKeyRequest\x1a\x0f.gooseai.APIKey\x12;\n\x0c\x44\x65leteAPIKey\x12\x1a.gooseai.APIKeyFindRequest\x1a\x0f.gooseai.APIKey\x12W\n\x10\x41\x63\x63\x65ptLegalTerms\x12 .gooseai.AcceptLegalTermsRequest\x1a!.gooseai.AcceptLegalTermsResponse\x12U\n\x19UpdateDefaultOrganization\x12).gooseai.UpdateDefaultOrganizationRequest\x1a\r.gooseai.User\x12\x43\n\x11GetClientSettings\x12\x15.gooseai.EmptyRequest\x1a\x17.gooseai.ClientSettings\x12\x45\n\x11SetClientSettings\x12\x17.gooseai.ClientSettings\x1a\x17.gooseai.ClientSettings\x12?\n\x0eUpdateUserInfo\x12\x1e.gooseai.UpdateUserInfoRequest\x1a\r.gooseai.User\x12V\n\x1a\x43reatePasswordChangeTicket\x12\x15.gooseai.EmptyRequest\x1a!.gooseai.UserPasswordChangeTicket\x12\x35\n\rDeleteAccount\x12\x15.gooseai.EmptyRequest\x1a\r.gooseai.User\x12=\n\x0c\x43reateCharge\x12\x1c.gooseai.CreateChargeRequest\x1a\x0f.gooseai.Charge\x12:\n\nGetCharges\x12\x1a.gooseai.GetChargesRequest\x1a\x10.gooseai.Charges\x12[\n\x16\x43reateAutoChargeIntent\x12&.gooseai.CreateAutoChargeIntentRequest\x1a\x19.gooseai.AutoChargeIntent\x12[\n\x16UpdateAutoChargeIntent\x12&.gooseai.CreateAutoChargeIntentRequest\x1a\x19.gooseai.AutoChargeIntent\x12O\n\x13GetAutoChargeIntent\x12\x1d.gooseai.GetAutoChargeRequest\x1a\x19.gooseai.AutoChargeIntentB:Z8github.com/stability-ai/api-interfaces/gooseai/dashboardb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x64\x61shboard.proto\x12\x07gooseai\"\xa9\x01\n\x12OrganizationMember\x12+\n\x0corganization\x18\x01 \x01(\x0b\x32\x15.gooseai.Organization\x12 \n\x04user\x18\x02 \x01(\x0b\x32\r.gooseai.UserH\x00\x88\x01\x01\x12\'\n\x04role\x18\x03 \x01(\x0e\x32\x19.gooseai.OrganizationRole\x12\x12\n\nis_default\x18\x04 \x01(\x08\x42\x07\n\x05_user\"h\n\x11OrganizationGrant\x12\x16\n\x0e\x61mount_granted\x18\x01 \x01(\x01\x12\x13\n\x0b\x61mount_used\x18\x02 \x01(\x01\x12\x12\n\nexpires_at\x18\x03 \x01(\x04\x12\x12\n\ngranted_at\x18\x04 \x01(\x04\"V\n\x17OrganizationPaymentInfo\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x01\x12*\n\x06grants\x18\x02 \x03(\x0b\x32\x1a.gooseai.OrganizationGrant\"I\n\x16OrganizationAutoCharge\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\n\n\x02id\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x04\"\xbc\x02\n\x0cOrganization\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12,\n\x07members\x18\x04 \x03(\x0b\x32\x1b.gooseai.OrganizationMember\x12;\n\x0cpayment_info\x18\x05 \x01(\x0b\x32 .gooseai.OrganizationPaymentInfoH\x00\x88\x01\x01\x12\x1f\n\x12stripe_customer_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x0b\x61uto_charge\x18\x07 \x01(\x0b\x32\x1f.gooseai.OrganizationAutoChargeH\x02\x88\x01\x01\x42\x0f\n\r_payment_infoB\x15\n\x13_stripe_customer_idB\x0e\n\x0c_auto_charge\"<\n\x06\x41PIKey\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x11\n\tis_secret\x18\x02 \x01(\x08\x12\x12\n\ncreated_at\x18\x03 \x01(\x04\"\xf1\x04\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x07\x61uth_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fprofile_picture\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x32\n\rorganizations\x18\x05 \x03(\x0b\x32\x1b.gooseai.OrganizationMember\x12!\n\x08\x61pi_keys\x18\x07 \x03(\x0b\x32\x0f.gooseai.APIKey\x12\x12\n\ncreated_at\x18\x08 \x01(\x04\x12\x1b\n\x0e\x65mail_verified\x18\t \x01(\x08H\x01\x88\x01\x01\x12(\n\x1b\x61\x63\x63\x65pted_latest_tos_version\x18\n \x01(\x08H\x02\x88\x01\x01\x12\x33\n&accepted_latest_privacy_policy_version\x18\x0b \x01(\x08H\x03\x88\x01\x01\x12%\n\x18\x61\x63\x63\x65pted_any_tos_version\x18\x0c \x01(\x08H\x04\x88\x01\x01\x12\x30\n#accepted_any_privacy_policy_version\x18\r \x01(\x08H\x05\x88\x01\x01\x12\x1c\n\x0ftraining_opt_in\x18\x0e \x01(\x08H\x06\x88\x01\x01\x42\n\n\x08_auth_idB\x11\n\x0f_email_verifiedB\x1e\n\x1c_accepted_latest_tos_versionB)\n\'_accepted_latest_privacy_policy_versionB\x1b\n\x19_accepted_any_tos_versionB&\n$_accepted_any_privacy_policy_versionB\x12\n\x10_training_opt_in\"9\n\x08\x43ostData\x12\x15\n\ramount_tokens\x18\x01 \x01(\r\x12\x16\n\x0e\x61mount_credits\x18\x02 \x01(\x01\"\xba\x01\n\x0bUsageMetric\x12\x11\n\toperation\x18\x01 \x01(\t\x12\x0e\n\x06\x65ngine\x18\x02 \x01(\t\x12%\n\ninput_cost\x18\x03 \x01(\x0b\x32\x11.gooseai.CostData\x12&\n\x0boutput_cost\x18\x04 \x01(\x0b\x32\x11.gooseai.CostData\x12\x11\n\x04user\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x15\x61ggregation_timestamp\x18\x06 \x01(\x04\x42\x07\n\x05_user\":\n\tCostTotal\x12\x15\n\ramount_tokens\x18\x01 \x01(\r\x12\x16\n\x0e\x61mount_credits\x18\x02 \x01(\x01\"e\n\x10TotalMetricsData\x12\'\n\x0binput_total\x18\x01 \x01(\x0b\x32\x12.gooseai.CostTotal\x12(\n\x0coutput_total\x18\x02 \x01(\x0b\x32\x12.gooseai.CostTotal\"Z\n\x07Metrics\x12%\n\x07metrics\x18\x01 \x03(\x0b\x32\x14.gooseai.UsageMetric\x12(\n\x05total\x18\x02 \x01(\x0b\x32\x19.gooseai.TotalMetricsData\"\x0e\n\x0c\x45mptyRequest\"$\n\x16GetOrganizationRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x99\x01\n\x11GetMetricsRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\x12\x14\n\x07user_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nrange_from\x18\x03 \x01(\x04\x12\x10\n\x08range_to\x18\x04 \x01(\x04\x12#\n\x1binclude_per_request_metrics\x18\x05 \x01(\x08\x42\n\n\x08_user_id\"\"\n\rAPIKeyRequest\x12\x11\n\tis_secret\x18\x01 \x01(\x08\"\x1f\n\x11\x41PIKeyFindRequest\x12\n\n\x02id\x18\x01 \x01(\t\"M\n\x17\x41\x63\x63\x65ptLegalTermsRequest\x12\x1d\n\x10marketing_opt_in\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x13\n\x11_marketing_opt_in\"+\n\x18\x41\x63\x63\x65ptLegalTermsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\";\n UpdateDefaultOrganizationRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\"\"\n\x0e\x43lientSettings\x12\x10\n\x08settings\x18\x01 \x01(\x0c\"\x80\x01\n\x1d\x43reateAutoChargeIntentRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\x12\x17\n\x0fmonthly_maximum\x18\x02 \x01(\x04\x12\x15\n\rminimum_value\x18\x03 \x01(\x04\x12\x16\n\x0e\x61mount_credits\x18\x04 \x01(\x04\">\n\x13\x43reateChargeRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x17\n\x0forganization_id\x18\x02 \x01(\t\"R\n\x11GetChargesRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\x12\x12\n\nrange_from\x18\x02 \x01(\x04\x12\x10\n\x08range_to\x18\x03 \x01(\x04\"z\n\x06\x43harge\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04paid\x18\x02 \x01(\x08\x12\x14\n\x0creceipt_link\x18\x03 \x01(\t\x12\x14\n\x0cpayment_link\x18\x04 \x01(\t\x12\x12\n\ncreated_at\x18\x05 \x01(\x04\x12\x16\n\x0e\x61mount_credits\x18\x06 \x01(\x04\"+\n\x07\x43harges\x12 \n\x07\x63harges\x18\x01 \x03(\x0b\x32\x0f.gooseai.Charge\"/\n\x14GetAutoChargeRequest\x12\x17\n\x0forganization_id\x18\x01 \x01(\t\"\x90\x01\n\x10\x41utoChargeIntent\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x0cpayment_link\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x04\x12\x17\n\x0fmonthly_maximum\x18\x04 \x01(\x04\x12\x15\n\rminimum_value\x18\x05 \x01(\x04\x12\x16\n\x0e\x61mount_credits\x18\x06 \x01(\x04\"5\n\x15UpdateUserInfoRequest\x12\x12\n\x05\x65mail\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_email\"P\n\x1cUpdateUserPreferencesRequest\x12\x1c\n\x0ftraining_opt_in\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x12\n\x10_training_opt_in\"*\n\x18UserPasswordChangeTicket\x12\x0e\n\x06ticket\x18\x01 \x01(\t*9\n\x10OrganizationRole\x12\n\n\x06MEMBER\x10\x00\x12\x0e\n\nACCOUNTANT\x10\x01\x12\t\n\x05OWNER\x10\x02\x32\x9f\n\n\x10\x44\x61shboardService\x12-\n\x05GetMe\x12\x15.gooseai.EmptyRequest\x1a\r.gooseai.User\x12I\n\x0fGetOrganization\x12\x1f.gooseai.GetOrganizationRequest\x1a\x15.gooseai.Organization\x12:\n\nGetMetrics\x12\x1a.gooseai.GetMetricsRequest\x1a\x10.gooseai.Metrics\x12\x37\n\x0c\x43reateAPIKey\x12\x16.gooseai.APIKeyRequest\x1a\x0f.gooseai.APIKey\x12;\n\x0c\x44\x65leteAPIKey\x12\x1a.gooseai.APIKeyFindRequest\x1a\x0f.gooseai.APIKey\x12W\n\x10\x41\x63\x63\x65ptLegalTerms\x12 .gooseai.AcceptLegalTermsRequest\x1a!.gooseai.AcceptLegalTermsResponse\x12U\n\x19UpdateDefaultOrganization\x12).gooseai.UpdateDefaultOrganizationRequest\x1a\r.gooseai.User\x12\x43\n\x11GetClientSettings\x12\x15.gooseai.EmptyRequest\x1a\x17.gooseai.ClientSettings\x12\x45\n\x11SetClientSettings\x12\x17.gooseai.ClientSettings\x1a\x17.gooseai.ClientSettings\x12?\n\x0eUpdateUserInfo\x12\x1e.gooseai.UpdateUserInfoRequest\x1a\r.gooseai.User\x12M\n\x15UpdateUserPreferences\x12%.gooseai.UpdateUserPreferencesRequest\x1a\r.gooseai.User\x12V\n\x1a\x43reatePasswordChangeTicket\x12\x15.gooseai.EmptyRequest\x1a!.gooseai.UserPasswordChangeTicket\x12\x35\n\rDeleteAccount\x12\x15.gooseai.EmptyRequest\x1a\r.gooseai.User\x12=\n\x0c\x43reateCharge\x12\x1c.gooseai.CreateChargeRequest\x1a\x0f.gooseai.Charge\x12:\n\nGetCharges\x12\x1a.gooseai.GetChargesRequest\x1a\x10.gooseai.Charges\x12[\n\x16\x43reateAutoChargeIntent\x12&.gooseai.CreateAutoChargeIntentRequest\x1a\x19.gooseai.AutoChargeIntent\x12[\n\x16UpdateAutoChargeIntent\x12&.gooseai.CreateAutoChargeIntentRequest\x1a\x19.gooseai.AutoChargeIntent\x12O\n\x13GetAutoChargeIntent\x12\x1d.gooseai.GetAutoChargeRequest\x1a\x19.gooseai.AutoChargeIntentB:Z8github.com/stability-ai/api-interfaces/gooseai/dashboardb\x06proto3') _ORGANIZATIONROLE = DESCRIPTOR.enum_types_by_name['OrganizationRole'] OrganizationRole = enum_type_wrapper.EnumTypeWrapper(_ORGANIZATIONROLE) @@ -53,6 +53,7 @@ _GETAUTOCHARGEREQUEST = DESCRIPTOR.message_types_by_name['GetAutoChargeRequest'] _AUTOCHARGEINTENT = DESCRIPTOR.message_types_by_name['AutoChargeIntent'] _UPDATEUSERINFOREQUEST = DESCRIPTOR.message_types_by_name['UpdateUserInfoRequest'] +_UPDATEUSERPREFERENCESREQUEST = DESCRIPTOR.message_types_by_name['UpdateUserPreferencesRequest'] _USERPASSWORDCHANGETICKET = DESCRIPTOR.message_types_by_name['UserPasswordChangeTicket'] OrganizationMember = _reflection.GeneratedProtocolMessageType('OrganizationMember', (_message.Message,), { 'DESCRIPTOR' : _ORGANIZATIONMEMBER, @@ -257,6 +258,13 @@ }) _sym_db.RegisterMessage(UpdateUserInfoRequest) +UpdateUserPreferencesRequest = _reflection.GeneratedProtocolMessageType('UpdateUserPreferencesRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEUSERPREFERENCESREQUEST, + '__module__' : 'dashboard_pb2' + # @@protoc_insertion_point(class_scope:gooseai.UpdateUserPreferencesRequest) + }) +_sym_db.RegisterMessage(UpdateUserPreferencesRequest) + UserPasswordChangeTicket = _reflection.GeneratedProtocolMessageType('UserPasswordChangeTicket', (_message.Message,), { 'DESCRIPTOR' : _USERPASSWORDCHANGETICKET, '__module__' : 'dashboard_pb2' @@ -269,8 +277,8 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z8github.com/stability-ai/api-interfaces/gooseai/dashboard' - _ORGANIZATIONROLE._serialized_start=3174 - _ORGANIZATIONROLE._serialized_end=3231 + _ORGANIZATIONROLE._serialized_start=3306 + _ORGANIZATIONROLE._serialized_end=3363 _ORGANIZATIONMEMBER._serialized_start=29 _ORGANIZATIONMEMBER._serialized_end=198 _ORGANIZATIONGRANT._serialized_start=200 @@ -284,53 +292,55 @@ _APIKEY._serialized_start=788 _APIKEY._serialized_end=848 _USER._serialized_start=851 - _USER._serialized_end=1426 - _COSTDATA._serialized_start=1428 - _COSTDATA._serialized_end=1485 - _USAGEMETRIC._serialized_start=1488 - _USAGEMETRIC._serialized_end=1674 - _COSTTOTAL._serialized_start=1676 - _COSTTOTAL._serialized_end=1734 - _TOTALMETRICSDATA._serialized_start=1736 - _TOTALMETRICSDATA._serialized_end=1837 - _METRICS._serialized_start=1839 - _METRICS._serialized_end=1929 - _EMPTYREQUEST._serialized_start=1931 - _EMPTYREQUEST._serialized_end=1945 - _GETORGANIZATIONREQUEST._serialized_start=1947 - _GETORGANIZATIONREQUEST._serialized_end=1983 - _GETMETRICSREQUEST._serialized_start=1986 - _GETMETRICSREQUEST._serialized_end=2139 - _APIKEYREQUEST._serialized_start=2141 - _APIKEYREQUEST._serialized_end=2175 - _APIKEYFINDREQUEST._serialized_start=2177 - _APIKEYFINDREQUEST._serialized_end=2208 - _ACCEPTLEGALTERMSREQUEST._serialized_start=2210 - _ACCEPTLEGALTERMSREQUEST._serialized_end=2287 - _ACCEPTLEGALTERMSRESPONSE._serialized_start=2289 - _ACCEPTLEGALTERMSRESPONSE._serialized_end=2332 - _UPDATEDEFAULTORGANIZATIONREQUEST._serialized_start=2334 - _UPDATEDEFAULTORGANIZATIONREQUEST._serialized_end=2393 - _CLIENTSETTINGS._serialized_start=2395 - _CLIENTSETTINGS._serialized_end=2429 - _CREATEAUTOCHARGEINTENTREQUEST._serialized_start=2432 - _CREATEAUTOCHARGEINTENTREQUEST._serialized_end=2560 - _CREATECHARGEREQUEST._serialized_start=2562 - _CREATECHARGEREQUEST._serialized_end=2624 - _GETCHARGESREQUEST._serialized_start=2626 - _GETCHARGESREQUEST._serialized_end=2708 - _CHARGE._serialized_start=2710 - _CHARGE._serialized_end=2832 - _CHARGES._serialized_start=2834 - _CHARGES._serialized_end=2877 - _GETAUTOCHARGEREQUEST._serialized_start=2879 - _GETAUTOCHARGEREQUEST._serialized_end=2926 - _AUTOCHARGEINTENT._serialized_start=2929 - _AUTOCHARGEINTENT._serialized_end=3073 - _UPDATEUSERINFOREQUEST._serialized_start=3075 - _UPDATEUSERINFOREQUEST._serialized_end=3128 - _USERPASSWORDCHANGETICKET._serialized_start=3130 - _USERPASSWORDCHANGETICKET._serialized_end=3172 - _DASHBOARDSERVICE._serialized_start=3234 - _DASHBOARDSERVICE._serialized_end=4466 + _USER._serialized_end=1476 + _COSTDATA._serialized_start=1478 + _COSTDATA._serialized_end=1535 + _USAGEMETRIC._serialized_start=1538 + _USAGEMETRIC._serialized_end=1724 + _COSTTOTAL._serialized_start=1726 + _COSTTOTAL._serialized_end=1784 + _TOTALMETRICSDATA._serialized_start=1786 + _TOTALMETRICSDATA._serialized_end=1887 + _METRICS._serialized_start=1889 + _METRICS._serialized_end=1979 + _EMPTYREQUEST._serialized_start=1981 + _EMPTYREQUEST._serialized_end=1995 + _GETORGANIZATIONREQUEST._serialized_start=1997 + _GETORGANIZATIONREQUEST._serialized_end=2033 + _GETMETRICSREQUEST._serialized_start=2036 + _GETMETRICSREQUEST._serialized_end=2189 + _APIKEYREQUEST._serialized_start=2191 + _APIKEYREQUEST._serialized_end=2225 + _APIKEYFINDREQUEST._serialized_start=2227 + _APIKEYFINDREQUEST._serialized_end=2258 + _ACCEPTLEGALTERMSREQUEST._serialized_start=2260 + _ACCEPTLEGALTERMSREQUEST._serialized_end=2337 + _ACCEPTLEGALTERMSRESPONSE._serialized_start=2339 + _ACCEPTLEGALTERMSRESPONSE._serialized_end=2382 + _UPDATEDEFAULTORGANIZATIONREQUEST._serialized_start=2384 + _UPDATEDEFAULTORGANIZATIONREQUEST._serialized_end=2443 + _CLIENTSETTINGS._serialized_start=2445 + _CLIENTSETTINGS._serialized_end=2479 + _CREATEAUTOCHARGEINTENTREQUEST._serialized_start=2482 + _CREATEAUTOCHARGEINTENTREQUEST._serialized_end=2610 + _CREATECHARGEREQUEST._serialized_start=2612 + _CREATECHARGEREQUEST._serialized_end=2674 + _GETCHARGESREQUEST._serialized_start=2676 + _GETCHARGESREQUEST._serialized_end=2758 + _CHARGE._serialized_start=2760 + _CHARGE._serialized_end=2882 + _CHARGES._serialized_start=2884 + _CHARGES._serialized_end=2927 + _GETAUTOCHARGEREQUEST._serialized_start=2929 + _GETAUTOCHARGEREQUEST._serialized_end=2976 + _AUTOCHARGEINTENT._serialized_start=2979 + _AUTOCHARGEINTENT._serialized_end=3123 + _UPDATEUSERINFOREQUEST._serialized_start=3125 + _UPDATEUSERINFOREQUEST._serialized_end=3178 + _UPDATEUSERPREFERENCESREQUEST._serialized_start=3180 + _UPDATEUSERPREFERENCESREQUEST._serialized_end=3260 + _USERPASSWORDCHANGETICKET._serialized_start=3262 + _USERPASSWORDCHANGETICKET._serialized_end=3304 + _DASHBOARDSERVICE._serialized_start=3366 + _DASHBOARDSERVICE._serialized_end=4677 # @@protoc_insertion_point(module_scope) diff --git a/gooseai/dashboard/dashboard_pb2_grpc.py b/gooseai/dashboard/dashboard_pb2_grpc.py index 8f92663..e8e12d1 100644 --- a/gooseai/dashboard/dashboard_pb2_grpc.py +++ b/gooseai/dashboard/dashboard_pb2_grpc.py @@ -64,6 +64,11 @@ def __init__(self, channel): request_serializer=dashboard__pb2.UpdateUserInfoRequest.SerializeToString, response_deserializer=dashboard__pb2.User.FromString, ) + self.UpdateUserPreferences = channel.unary_unary( + '/gooseai.DashboardService/UpdateUserPreferences', + request_serializer=dashboard__pb2.UpdateUserPreferencesRequest.SerializeToString, + response_deserializer=dashboard__pb2.User.FromString, + ) self.CreatePasswordChangeTicket = channel.unary_unary( '/gooseai.DashboardService/CreatePasswordChangeTicket', request_serializer=dashboard__pb2.EmptyRequest.SerializeToString, @@ -168,6 +173,12 @@ def UpdateUserInfo(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def UpdateUserPreferences(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def CreatePasswordChangeTicket(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -264,6 +275,11 @@ def add_DashboardServiceServicer_to_server(servicer, server): request_deserializer=dashboard__pb2.UpdateUserInfoRequest.FromString, response_serializer=dashboard__pb2.User.SerializeToString, ), + 'UpdateUserPreferences': grpc.unary_unary_rpc_method_handler( + servicer.UpdateUserPreferences, + request_deserializer=dashboard__pb2.UpdateUserPreferencesRequest.FromString, + response_serializer=dashboard__pb2.User.SerializeToString, + ), 'CreatePasswordChangeTicket': grpc.unary_unary_rpc_method_handler( servicer.CreatePasswordChangeTicket, request_deserializer=dashboard__pb2.EmptyRequest.FromString, @@ -479,6 +495,23 @@ def UpdateUserInfo(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def UpdateUserPreferences(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/gooseai.DashboardService/UpdateUserPreferences', + dashboard__pb2.UpdateUserPreferencesRequest.SerializeToString, + dashboard__pb2.User.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def CreatePasswordChangeTicket(request, target, diff --git a/gooseai/dashboard/dashboard_pb_service.d.ts b/gooseai/dashboard/dashboard_pb_service.d.ts index bddc825..684a532 100644 --- a/gooseai/dashboard/dashboard_pb_service.d.ts +++ b/gooseai/dashboard/dashboard_pb_service.d.ts @@ -94,6 +94,15 @@ type DashboardServiceUpdateUserInfo = { readonly responseType: typeof dashboard_pb.User; }; +type DashboardServiceUpdateUserPreferences = { + readonly methodName: string; + readonly service: typeof DashboardService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof dashboard_pb.UpdateUserPreferencesRequest; + readonly responseType: typeof dashboard_pb.User; +}; + type DashboardServiceCreatePasswordChangeTicket = { readonly methodName: string; readonly service: typeof DashboardService; @@ -169,6 +178,7 @@ export class DashboardService { static readonly GetClientSettings: DashboardServiceGetClientSettings; static readonly SetClientSettings: DashboardServiceSetClientSettings; static readonly UpdateUserInfo: DashboardServiceUpdateUserInfo; + static readonly UpdateUserPreferences: DashboardServiceUpdateUserPreferences; static readonly CreatePasswordChangeTicket: DashboardServiceCreatePasswordChangeTicket; static readonly DeleteAccount: DashboardServiceDeleteAccount; static readonly CreateCharge: DashboardServiceCreateCharge; @@ -300,6 +310,15 @@ export class DashboardServiceClient { requestMessage: dashboard_pb.UpdateUserInfoRequest, callback: (error: ServiceError|null, responseMessage: dashboard_pb.User|null) => void ): UnaryResponse; + updateUserPreferences( + requestMessage: dashboard_pb.UpdateUserPreferencesRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: dashboard_pb.User|null) => void + ): UnaryResponse; + updateUserPreferences( + requestMessage: dashboard_pb.UpdateUserPreferencesRequest, + callback: (error: ServiceError|null, responseMessage: dashboard_pb.User|null) => void + ): UnaryResponse; createPasswordChangeTicket( requestMessage: dashboard_pb.EmptyRequest, metadata: grpc.Metadata, diff --git a/gooseai/dashboard/dashboard_pb_service.js b/gooseai/dashboard/dashboard_pb_service.js index bac7248..c720c67 100644 --- a/gooseai/dashboard/dashboard_pb_service.js +++ b/gooseai/dashboard/dashboard_pb_service.js @@ -100,6 +100,15 @@ DashboardService.UpdateUserInfo = { responseType: dashboard_pb.User }; +DashboardService.UpdateUserPreferences = { + methodName: "UpdateUserPreferences", + service: DashboardService, + requestStream: false, + responseStream: false, + requestType: dashboard_pb.UpdateUserPreferencesRequest, + responseType: dashboard_pb.User +}; + DashboardService.CreatePasswordChangeTicket = { methodName: "CreatePasswordChangeTicket", service: DashboardService, @@ -480,6 +489,37 @@ DashboardServiceClient.prototype.updateUserInfo = function updateUserInfo(reques }; }; +DashboardServiceClient.prototype.updateUserPreferences = function updateUserPreferences(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(DashboardService.UpdateUserPreferences, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + DashboardServiceClient.prototype.createPasswordChangeTicket = function createPasswordChangeTicket(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; diff --git a/src/proto/dashboard.proto b/src/proto/dashboard.proto index 001710f..d8ad3cd 100644 --- a/src/proto/dashboard.proto +++ b/src/proto/dashboard.proto @@ -62,6 +62,7 @@ message User { optional bool accepted_latest_privacy_policy_version = 11; optional bool accepted_any_tos_version = 12; optional bool accepted_any_privacy_policy_version = 13; + optional bool training_opt_in = 14; } message CostData { @@ -180,6 +181,10 @@ message UpdateUserInfoRequest { optional string email = 1; } +message UpdateUserPreferencesRequest { + optional bool training_opt_in = 1; +} + message UserPasswordChangeTicket { string ticket = 1; } @@ -202,6 +207,7 @@ service DashboardService { rpc GetClientSettings (EmptyRequest) returns (ClientSettings); rpc SetClientSettings (ClientSettings) returns (ClientSettings); rpc UpdateUserInfo (UpdateUserInfoRequest) returns (User); + rpc UpdateUserPreferences (UpdateUserPreferencesRequest) returns (User); rpc CreatePasswordChangeTicket (EmptyRequest) returns (UserPasswordChangeTicket); rpc DeleteAccount (EmptyRequest) returns (User);