diff --git a/rpc/core/core.proto b/rpc/core/core.proto index f6eb134..ec6990c 100644 --- a/rpc/core/core.proto +++ b/rpc/core/core.proto @@ -27,82 +27,37 @@ enum DistrictQueryType { Parents = 3; } -message DepartmentInfo { - int64 ID = 1; - string status = 2; - string created_at = 3; - string updated_at = 4; - string name = 5; - int64 leader_id = 6; - string remark = 7; - int64 parent_id = 8; - DepartmentInfo parent = 10; - repeated DepartmentInfo children = 11; - repeated UserInfo users = 12; - UserInfo leader = 13; -} - -message DeleteDictionaryDetailReq { - repeated int64 ids = 1; - int64 dict_id = 2; -} - -message UserSocialListResp { - optional Pagination page = 1; - repeated UserSocialInfo data = 2; -} - // 基础回执 message BaseResp { int32 code = 1; string msg = 2; } -message GetDistrictNameResp { - string code = 1; - string name = 2; - repeated string name_list = 3; -} - -message RecordReq { - int64 user_id = 1; -} - -message OauthProviderListResp { - optional Pagination page = 1; - repeated OauthProviderInfo data = 2; +message DistrictTree { + repeated DistrictInfo tree = 1; } -message TokenInfo { +message RoleReq { int64 ID = 1; - string status = 2; - string created_at = 3; - string updated_at = 4; - int64 user_id = 5; - string access_token = 6; - string refresh_token = 7; - string source = 8; - int64 expired_at = 9; - UserInfo user = 10; + string name = 2; + string code = 3; + bool with_user = 4; + optional Pagination page = 10; } -message UserReq { +message TokenReq { int64 ID = 1; - string username = 2; - string phone_number = 3; - string email = 4; - string nickname = 5; - bool with_role = 6; - bool with_social = 7; - bool with_department = 8; - bool with_token = 9; - bool with_login_record = 10; - optional Pagination page = 20; + int64 user_id = 2; + string username = 3; + string phone_number = 4; + string email = 5; + bool with_user = 6; + optional Pagination page = 10; } -message GetUserRolesReq { +message UserSocialListResp { optional Pagination page = 1; - int64 user_id = 2; + repeated UserSocialInfo data = 2; } message DepartmentListResp { @@ -110,23 +65,22 @@ message DepartmentListResp { repeated DepartmentInfo data = 2; } -message DictionaryDetailListResp { - optional Pagination page = 1; - repeated DictionaryDetailInfo data = 2; +message DictionaryReq { + int64 ID = 1; + string name = 2; + string title = 3; + bool with_details = 4; + optional Pagination page = 10; } -message DistrictListResp { - optional Pagination page = 1; - repeated DistrictInfo data = 2; +message DeleteDictionaryDetailReq { + repeated int64 ids = 1; + int64 dict_id = 2; } -message OauthProviderReq { - int64 ID = 1; - string name = 2; - string client_id = 3; - optional bool system = 4; - optional bool init = 5; - optional Pagination page = 10; +message GetDistrictNameReq { + string code = 1; + string separator = 2; } message CallbackReq { @@ -134,56 +88,80 @@ message CallbackReq { string code = 2; } -message OauthRedirectResp { - string url = 1; -} - -message UserInfo { +message RoleInfo { int64 ID = 1; string status = 2; string created_at = 3; string updated_at = 4; - string username = 5; - optional string phone_number = 6; - optional string email = 7; - string password = 8; - optional string nickname = 9; - map metas = 10; - repeated RoleInfo roles = 20; - repeated UserSocialInfo socials = 21; - repeated DepartmentInfo departments = 22; - repeated TokenInfo tokens = 23; - LoginRecordInfo login_record = 24; + string code = 5; + string name = 6; + string description = 7; + repeated UserInfo users = 10; } -message UserRoleReq { - int64 user_id = 1; - repeated int64 role_ids = 2; - repeated string role_codes = 3; +message UserSocialInfo { + int64 ID = 1; + string created_at = 2; + string updated_at = 3; + int64 user_id = 4; + string provider = 5; + string access_token = 6; + string refresh_token = 7; + string uid = 8; + string open_id = 9; + string union_id = 10; + string key = 11; + uint64 expires_in = 12; + string user_profile = 13; + UserInfo user = 14; } -message DictionaryInfo { +message DepartmentInfo { int64 ID = 1; string status = 2; string created_at = 3; string updated_at = 4; - string title = 5; - string name = 6; - string description = 7; - repeated DictionaryDetailInfo details = 10; + string name = 5; + int64 leader_id = 6; + string remark = 7; + int64 parent_id = 8; + DepartmentInfo parent = 10; + repeated DepartmentInfo children = 11; + repeated UserInfo users = 12; + UserInfo leader = 13; } -message DictionaryDetailInfo { +// DistrictInfo 地址单体结构 +message DistrictInfo { int64 ID = 1; - string status = 2; - string created_at = 3; - string updated_at = 4; - string title = 5; - string key = 6; - string value = 7; - uint32 sort = 8; - int64 dictionary_id = 9; - DictionaryInfo dictionary = 10; + string created_at = 2; + string updated_at = 3; + string name = 4; + string short_name = 5; + string code = 6; + string province = 7; + string city = 8; + string area = 9; + string street = 10; + uint32 level = 11; + double latitude = 12; + double longitude = 13; + repeated DistrictInfo children = 20; +} + +message DistrictListResp { + optional Pagination page = 1; + repeated DistrictInfo data = 2; +} + +message RecordReq { + int64 user_id = 1; +} + +message UserRoleReq { + int64 user_id = 1; + repeated int64 role_ids = 2; + repeated string role_codes = 3; } message DistrictReq { @@ -199,67 +177,12 @@ message DistrictReq { DistrictQueryType query_type = 11; } -message DistrictCodeReq { - string code = 1; -} - -// 分页参数 -message Pagination { - uint64 size = 1; - uint64 total = 2; - uint64 current = 3; -} - -message GetDistrictNameReq { - string code = 1; - string separator = 2; -} - -message LoginRecordInfo { - int64 ID = 1; - string created_at = 3; - string updated_at = 4; - int64 user_id = 5; - string last_login_at = 6; - string last_login_ipv4 = 7; - string last_login_device = 8; - string last_login_ua = 9; - uint64 login_count = 10; -} - -message OauthProviderInfo { - int64 ID = 1; - string created_at = 2; - string updated_at = 3; - string name = 4; - string client_id = 5; - string client_secret = 6; - string redirect_url = 7; - string scopes = 8; - string auth_url = 9; - string token_url = 10; - string info_url = 11; - string description = 12; - bool system = 13; - bool init = 14; -} - -message OauthLoginReq { - string state = 1; - string provider = 2; -} - -message TokenUserReq { - int64 user_id = 1; -} - -message TokenReq { +message OauthProviderReq { int64 ID = 1; - int64 user_id = 2; - string username = 3; - string phone_number = 4; - string email = 5; - bool with_user = 6; + string name = 2; + string client_id = 3; + optional bool system = 4; + optional bool init = 5; optional Pagination page = 10; } @@ -268,6 +191,20 @@ message TokenListResp { repeated TokenInfo data = 2; } +message UserReq { + int64 ID = 1; + string username = 2; + string phone_number = 3; + string email = 4; + string nickname = 5; + bool with_role = 6; + bool with_social = 7; + bool with_department = 8; + bool with_token = 9; + bool with_login_record = 10; + optional Pagination page = 20; +} + message DictionaryDetailReq { optional Pagination page = 1; int64 ID = 2; @@ -278,12 +215,54 @@ message DictionaryDetailReq { bool with_dictionary = 7; } -message DictionaryReq { - int64 ID = 1; +message GetDistrictNameResp { + string code = 1; string name = 2; - string title = 3; - bool with_details = 4; - optional Pagination page = 10; + repeated string name_list = 3; +} + +message GetUserRolesReq { + optional Pagination page = 1; + int64 user_id = 2; +} + +// Base message +message Empty {} + +// 基础回执带ID +message BaseIDResp { + int64 ID = 1; + int32 code = 2; + string msg = 3; +} + +message DictionaryInfo { + int64 ID = 1; + string status = 2; + string created_at = 3; + string updated_at = 4; + string title = 5; + string name = 6; + string description = 7; + repeated DictionaryDetailInfo details = 10; +} + +message DictionaryDetailInfo { + int64 ID = 1; + string status = 2; + string created_at = 3; + string updated_at = 4; + string title = 5; + string key = 6; + string value = 7; + uint32 sort = 8; + int64 dictionary_id = 9; + DictionaryInfo dictionary = 10; +} + +message OauthProviderListResp { + optional Pagination page = 1; + repeated OauthProviderInfo data = 2; } message RoleListResp { @@ -291,21 +270,16 @@ message RoleListResp { repeated RoleInfo data = 2; } -message UserSocialInfo { +message TokenUserReq { + int64 user_id = 1; +} + +message IDReq { int64 ID = 1; - string created_at = 2; - string updated_at = 3; - int64 user_id = 4; - string provider = 5; - string access_token = 6; - string refresh_token = 7; - string uid = 8; - string open_id = 9; - string union_id = 10; - string key = 11; - uint64 expires_in = 12; - string user_profile = 13; - UserInfo user = 14; +} + +message IDsReq { + repeated int64 ids = 1; } message DepartmentReq { @@ -319,86 +293,112 @@ message DepartmentReq { optional Pagination page = 10; } -// 基础回执带ID -message BaseIDResp { - int64 ID = 1; - int32 code = 2; - string msg = 3; -} - message DictionaryListResp { optional Pagination page = 1; repeated DictionaryInfo data = 2; } -// DistrictInfo 地址单体结构 -message DistrictInfo { +message UserSocialReq { int64 ID = 1; - string created_at = 2; - string updated_at = 3; - string name = 4; - string short_name = 5; - string code = 6; - string province = 7; - string city = 8; - string area = 9; - string street = 10; - uint32 level = 11; - double latitude = 12; - double longitude = 13; - repeated DistrictInfo children = 20; + int64 user_id = 2; + string provider = 3; + string access_token = 4; + string uid = 5; + string open_id = 6; + string union_id = 7; + bool with_user = 8; + optional Pagination page = 10; } -message DistrictTree { - repeated DistrictInfo tree = 1; +message DictionaryDetailListResp { + optional Pagination page = 1; + repeated DictionaryDetailInfo data = 2; } -message RoleReq { +message LoginRecordInfo { int64 ID = 1; - string name = 2; - string code = 3; - bool with_user = 4; - optional Pagination page = 10; -} - -message UserListResp { - optional Pagination page = 1; - repeated UserInfo data = 2; + string created_at = 3; + string updated_at = 4; + int64 user_id = 5; + string last_login_at = 6; + string last_login_ipv4 = 7; + string last_login_device = 8; + string last_login_ua = 9; + uint64 login_count = 10; } -message IDsReq { - repeated int64 ids = 1; +message OauthLoginReq { + string state = 1; + string provider = 2; } -message IDReq { +message TokenInfo { int64 ID = 1; + string status = 2; + string created_at = 3; + string updated_at = 4; + int64 user_id = 5; + string access_token = 6; + string refresh_token = 7; + string source = 8; + int64 expired_at = 9; + UserInfo user = 10; } -message RoleInfo { +message UserInfo { int64 ID = 1; string status = 2; string created_at = 3; string updated_at = 4; - string code = 5; - string name = 6; - string description = 7; - repeated UserInfo users = 10; + string username = 5; + optional string phone_number = 6; + optional string email = 7; + string password = 8; + optional string nickname = 9; + map metas = 10; + repeated RoleInfo roles = 20; + repeated UserSocialInfo socials = 21; + repeated DepartmentInfo departments = 22; + repeated TokenInfo tokens = 23; + LoginRecordInfo login_record = 24; } -message UserSocialReq { +message UserListResp { + optional Pagination page = 1; + repeated UserInfo data = 2; +} + +// 分页参数 +message Pagination { + uint64 size = 1; + uint64 total = 2; + uint64 current = 3; +} + +message DistrictCodeReq { + string code = 1; +} + +message OauthProviderInfo { int64 ID = 1; - int64 user_id = 2; - string provider = 3; - string access_token = 4; - string uid = 5; - string open_id = 6; - string union_id = 7; - bool with_user = 8; - optional Pagination page = 10; + string created_at = 2; + string updated_at = 3; + string name = 4; + string client_id = 5; + string client_secret = 6; + string redirect_url = 7; + string scopes = 8; + string auth_url = 9; + string token_url = 10; + string info_url = 11; + string description = 12; + bool system = 13; + bool init = 14; } -// Base message -message Empty {} +message OauthRedirectResp { + string url = 1; +} service Core { // group: base @@ -503,16 +503,16 @@ service Core { // User-Role Relationship Management // UserBindRole 用户绑定角色 // group: user_role - rpc UserBindRole(UserRoleReq) returns (BaseResp); + rpc userBindRole(UserRoleReq) returns (BaseResp); // UserUnbindRole 用户解绑角色 // group: user_role - rpc UserUnbindRole(UserRoleReq) returns (BaseResp); + rpc userUnbindRole(UserRoleReq) returns (BaseResp); // UserClearRole 用户清理角色 // group: user_role - rpc UserClearRole(IDReq) returns (BaseResp); + rpc userClearRole(IDReq) returns (BaseResp); // GetUserRoles 获取用户绑定的角色列表 // group: user_role - rpc GetUserRoles(GetUserRolesReq) returns (RoleListResp); + rpc getUserRoles(GetUserRolesReq) returns (RoleListResp); // User Management // group: user_social rpc createUserSocial(UserSocialInfo) returns (BaseIDResp); diff --git a/rpc/core/desc/user_role.proto b/rpc/core/desc/user_role.proto index eda1594..4632001 100644 --- a/rpc/core/desc/user_role.proto +++ b/rpc/core/desc/user_role.proto @@ -15,14 +15,14 @@ service Core { // User-Role Relationship Management // UserBindRole 用户绑定角色 // group: user_role - rpc UserBindRole (UserRoleReq) returns (BaseResp); + rpc userBindRole (UserRoleReq) returns (BaseResp); // UserUnbindRole 用户解绑角色 // group: user_role - rpc UserUnbindRole (UserRoleReq) returns (BaseResp); + rpc userUnbindRole (UserRoleReq) returns (BaseResp); // UserClearRole 用户清理角色 // group: user_role - rpc UserClearRole (IDReq) returns (BaseResp); + rpc userClearRole (IDReq) returns (BaseResp); // GetUserRoles 获取用户绑定的角色列表 // group: user_role - rpc GetUserRoles (GetUserRolesReq) returns (RoleListResp); + rpc getUserRoles (GetUserRolesReq) returns (RoleListResp); } \ No newline at end of file diff --git a/rpc/core/internal/logic/user/update_user_logic.go b/rpc/core/internal/logic/user/update_user_logic.go index ca6a026..fde013a 100644 --- a/rpc/core/internal/logic/user/update_user_logic.go +++ b/rpc/core/internal/logic/user/update_user_logic.go @@ -2,6 +2,7 @@ package user import ( "context" + "git.noahlan.cn/n-admin/n-admin-server/dal/errx" "git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent" "git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/user" "git.noahlan.cn/n-admin/n-admin-server/rpc/core/internal/logic/user/meta" diff --git a/rpc/core/types/core/core.pb.go b/rpc/core/types/core/core.pb.go index a068a5d..8ffadd0 100644 --- a/rpc/core/types/core/core.pb.go +++ b/rpc/core/types/core/core.pb.go @@ -152,27 +152,18 @@ func (DistrictQueryType) EnumDescriptor() ([]byte, []int) { return file_rpc_core_core_proto_rawDescGZIP(), []int{1} } -type DepartmentInfo struct { +// 基础回执 +type BaseResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - LeaderId int64 `protobuf:"varint,6,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"` - Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"` - ParentId int64 `protobuf:"varint,8,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` - Parent *DepartmentInfo `protobuf:"bytes,10,opt,name=parent,proto3" json:"parent,omitempty"` - Children []*DepartmentInfo `protobuf:"bytes,11,rep,name=children,proto3" json:"children,omitempty"` - Users []*UserInfo `protobuf:"bytes,12,rep,name=users,proto3" json:"users,omitempty"` - Leader *UserInfo `protobuf:"bytes,13,opt,name=leader,proto3" json:"leader,omitempty"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } -func (x *DepartmentInfo) Reset() { - *x = DepartmentInfo{} +func (x *BaseResp) Reset() { + *x = BaseResp{} if protoimpl.UnsafeEnabled { mi := &file_rpc_core_core_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -180,13 +171,13 @@ func (x *DepartmentInfo) Reset() { } } -func (x *DepartmentInfo) String() string { +func (x *BaseResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DepartmentInfo) ProtoMessage() {} +func (*BaseResp) ProtoMessage() {} -func (x *DepartmentInfo) ProtoReflect() protoreflect.Message { +func (x *BaseResp) ProtoReflect() protoreflect.Message { mi := &file_rpc_core_core_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -198,121 +189,182 @@ func (x *DepartmentInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DepartmentInfo.ProtoReflect.Descriptor instead. -func (*DepartmentInfo) Descriptor() ([]byte, []int) { +// Deprecated: Use BaseResp.ProtoReflect.Descriptor instead. +func (*BaseResp) Descriptor() ([]byte, []int) { return file_rpc_core_core_proto_rawDescGZIP(), []int{0} } -func (x *DepartmentInfo) GetID() int64 { +func (x *BaseResp) GetCode() int32 { if x != nil { - return x.ID + return x.Code } return 0 } -func (x *DepartmentInfo) GetStatus() string { +func (x *BaseResp) GetMsg() string { if x != nil { - return x.Status + return x.Msg } return "" } -func (x *DepartmentInfo) GetCreatedAt() string { - if x != nil { - return x.CreatedAt +type DistrictTree struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tree []*DistrictInfo `protobuf:"bytes,1,rep,name=tree,proto3" json:"tree,omitempty"` +} + +func (x *DistrictTree) Reset() { + *x = DistrictTree{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DepartmentInfo) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt +func (x *DistrictTree) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DistrictTree) ProtoMessage() {} + +func (x *DistrictTree) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *DepartmentInfo) GetName() string { +// Deprecated: Use DistrictTree.ProtoReflect.Descriptor instead. +func (*DistrictTree) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{1} +} + +func (x *DistrictTree) GetTree() []*DistrictInfo { if x != nil { - return x.Name + return x.Tree } - return "" + return nil } -func (x *DepartmentInfo) GetLeaderId() int64 { - if x != nil { - return x.LeaderId +type RoleReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + WithUser bool `protobuf:"varint,4,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` + Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` +} + +func (x *RoleReq) Reset() { + *x = RoleReq{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *DepartmentInfo) GetRemark() string { - if x != nil { - return x.Remark +func (x *RoleReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoleReq) ProtoMessage() {} + +func (x *RoleReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *DepartmentInfo) GetParentId() int64 { +// Deprecated: Use RoleReq.ProtoReflect.Descriptor instead. +func (*RoleReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{2} +} + +func (x *RoleReq) GetID() int64 { if x != nil { - return x.ParentId + return x.ID } return 0 } -func (x *DepartmentInfo) GetParent() *DepartmentInfo { +func (x *RoleReq) GetName() string { if x != nil { - return x.Parent + return x.Name } - return nil + return "" } -func (x *DepartmentInfo) GetChildren() []*DepartmentInfo { +func (x *RoleReq) GetCode() string { if x != nil { - return x.Children + return x.Code } - return nil + return "" } -func (x *DepartmentInfo) GetUsers() []*UserInfo { +func (x *RoleReq) GetWithUser() bool { if x != nil { - return x.Users + return x.WithUser } - return nil + return false } -func (x *DepartmentInfo) GetLeader() *UserInfo { +func (x *RoleReq) GetPage() *Pagination { if x != nil { - return x.Leader + return x.Page } return nil } -type DeleteDictionaryDetailReq struct { +type TokenReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` - DictId int64 `protobuf:"varint,2,opt,name=dict_id,json=dictId,proto3" json:"dict_id,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + PhoneNumber string `protobuf:"bytes,4,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` + Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"` + WithUser bool `protobuf:"varint,6,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` + Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` } -func (x *DeleteDictionaryDetailReq) Reset() { - *x = DeleteDictionaryDetailReq{} +func (x *TokenReq) Reset() { + *x = TokenReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[1] + mi := &file_rpc_core_core_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeleteDictionaryDetailReq) String() string { +func (x *TokenReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteDictionaryDetailReq) ProtoMessage() {} +func (*TokenReq) ProtoMessage() {} -func (x *DeleteDictionaryDetailReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[1] +func (x *TokenReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -323,25 +375,60 @@ func (x *DeleteDictionaryDetailReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteDictionaryDetailReq.ProtoReflect.Descriptor instead. -func (*DeleteDictionaryDetailReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{1} +// Deprecated: Use TokenReq.ProtoReflect.Descriptor instead. +func (*TokenReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{3} } -func (x *DeleteDictionaryDetailReq) GetIds() []int64 { +func (x *TokenReq) GetID() int64 { if x != nil { - return x.Ids + return x.ID } - return nil + return 0 } -func (x *DeleteDictionaryDetailReq) GetDictId() int64 { +func (x *TokenReq) GetUserId() int64 { if x != nil { - return x.DictId + return x.UserId } return 0 } +func (x *TokenReq) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *TokenReq) GetPhoneNumber() string { + if x != nil { + return x.PhoneNumber + } + return "" +} + +func (x *TokenReq) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *TokenReq) GetWithUser() bool { + if x != nil { + return x.WithUser + } + return false +} + +func (x *TokenReq) GetPage() *Pagination { + if x != nil { + return x.Page + } + return nil +} + type UserSocialListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -354,7 +441,7 @@ type UserSocialListResp struct { func (x *UserSocialListResp) Reset() { *x = UserSocialListResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[2] + mi := &file_rpc_core_core_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -367,7 +454,7 @@ func (x *UserSocialListResp) String() string { func (*UserSocialListResp) ProtoMessage() {} func (x *UserSocialListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[2] + mi := &file_rpc_core_core_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -380,7 +467,7 @@ func (x *UserSocialListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UserSocialListResp.ProtoReflect.Descriptor instead. func (*UserSocialListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{2} + return file_rpc_core_core_proto_rawDescGZIP(), []int{4} } func (x *UserSocialListResp) GetPage() *Pagination { @@ -397,33 +484,32 @@ func (x *UserSocialListResp) GetData() []*UserSocialInfo { return nil } -// 基础回执 -type BaseResp struct { +type DepartmentListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + Data []*DepartmentInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } -func (x *BaseResp) Reset() { - *x = BaseResp{} +func (x *DepartmentListResp) Reset() { + *x = DepartmentListResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[3] + mi := &file_rpc_core_core_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BaseResp) String() string { +func (x *DepartmentListResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BaseResp) ProtoMessage() {} +func (*DepartmentListResp) ProtoMessage() {} -func (x *BaseResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[3] +func (x *DepartmentListResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -434,52 +520,54 @@ func (x *BaseResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BaseResp.ProtoReflect.Descriptor instead. -func (*BaseResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{3} +// Deprecated: Use DepartmentListResp.ProtoReflect.Descriptor instead. +func (*DepartmentListResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{5} } -func (x *BaseResp) GetCode() int32 { +func (x *DepartmentListResp) GetPage() *Pagination { if x != nil { - return x.Code + return x.Page } - return 0 + return nil } -func (x *BaseResp) GetMsg() string { +func (x *DepartmentListResp) GetData() []*DepartmentInfo { if x != nil { - return x.Msg + return x.Data } - return "" + return nil } -type GetDistrictNameResp struct { +type DictionaryReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - NameList []string `protobuf:"bytes,3,rep,name=name_list,json=nameList,proto3" json:"name_list,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + WithDetails bool `protobuf:"varint,4,opt,name=with_details,json=withDetails,proto3" json:"with_details,omitempty"` + Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` } -func (x *GetDistrictNameResp) Reset() { - *x = GetDistrictNameResp{} +func (x *DictionaryReq) Reset() { + *x = DictionaryReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[4] + mi := &file_rpc_core_core_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetDistrictNameResp) String() string { +func (x *DictionaryReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDistrictNameResp) ProtoMessage() {} +func (*DictionaryReq) ProtoMessage() {} -func (x *GetDistrictNameResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[4] +func (x *DictionaryReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -490,57 +578,72 @@ func (x *GetDistrictNameResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDistrictNameResp.ProtoReflect.Descriptor instead. -func (*GetDistrictNameResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{4} +// Deprecated: Use DictionaryReq.ProtoReflect.Descriptor instead. +func (*DictionaryReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{6} } -func (x *GetDistrictNameResp) GetCode() string { +func (x *DictionaryReq) GetID() int64 { if x != nil { - return x.Code + return x.ID } - return "" + return 0 } -func (x *GetDistrictNameResp) GetName() string { +func (x *DictionaryReq) GetName() string { if x != nil { return x.Name } return "" } -func (x *GetDistrictNameResp) GetNameList() []string { +func (x *DictionaryReq) GetTitle() string { if x != nil { - return x.NameList + return x.Title + } + return "" +} + +func (x *DictionaryReq) GetWithDetails() bool { + if x != nil { + return x.WithDetails + } + return false +} + +func (x *DictionaryReq) GetPage() *Pagination { + if x != nil { + return x.Page } return nil } -type RecordReq struct { +type DeleteDictionaryDetailReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` + DictId int64 `protobuf:"varint,2,opt,name=dict_id,json=dictId,proto3" json:"dict_id,omitempty"` } -func (x *RecordReq) Reset() { - *x = RecordReq{} +func (x *DeleteDictionaryDetailReq) Reset() { + *x = DeleteDictionaryDetailReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[5] + mi := &file_rpc_core_core_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RecordReq) String() string { +func (x *DeleteDictionaryDetailReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RecordReq) ProtoMessage() {} +func (*DeleteDictionaryDetailReq) ProtoMessage() {} -func (x *RecordReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[5] +func (x *DeleteDictionaryDetailReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -551,44 +654,51 @@ func (x *RecordReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RecordReq.ProtoReflect.Descriptor instead. -func (*RecordReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{5} +// Deprecated: Use DeleteDictionaryDetailReq.ProtoReflect.Descriptor instead. +func (*DeleteDictionaryDetailReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{7} } -func (x *RecordReq) GetUserId() int64 { +func (x *DeleteDictionaryDetailReq) GetIds() []int64 { if x != nil { - return x.UserId + return x.Ids + } + return nil +} + +func (x *DeleteDictionaryDetailReq) GetDictId() int64 { + if x != nil { + return x.DictId } return 0 } -type OauthProviderListResp struct { +type GetDistrictNameReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - Data []*OauthProviderInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Separator string `protobuf:"bytes,2,opt,name=separator,proto3" json:"separator,omitempty"` } -func (x *OauthProviderListResp) Reset() { - *x = OauthProviderListResp{} +func (x *GetDistrictNameReq) Reset() { + *x = GetDistrictNameReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[6] + mi := &file_rpc_core_core_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *OauthProviderListResp) String() string { +func (x *GetDistrictNameReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OauthProviderListResp) ProtoMessage() {} +func (*GetDistrictNameReq) ProtoMessage() {} -func (x *OauthProviderListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[6] +func (x *GetDistrictNameReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -599,59 +709,51 @@ func (x *OauthProviderListResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OauthProviderListResp.ProtoReflect.Descriptor instead. -func (*OauthProviderListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{6} +// Deprecated: Use GetDistrictNameReq.ProtoReflect.Descriptor instead. +func (*GetDistrictNameReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{8} } -func (x *OauthProviderListResp) GetPage() *Pagination { +func (x *GetDistrictNameReq) GetCode() string { if x != nil { - return x.Page + return x.Code } - return nil + return "" } -func (x *OauthProviderListResp) GetData() []*OauthProviderInfo { +func (x *GetDistrictNameReq) GetSeparator() string { if x != nil { - return x.Data + return x.Separator } - return nil + return "" } -type TokenInfo struct { +type CallbackReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - UserId int64 `protobuf:"varint,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - AccessToken string `protobuf:"bytes,6,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` - RefreshToken string `protobuf:"bytes,7,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` - Source string `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` - ExpiredAt int64 `protobuf:"varint,9,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"` - User *UserInfo `protobuf:"bytes,10,opt,name=user,proto3" json:"user,omitempty"` + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` } -func (x *TokenInfo) Reset() { - *x = TokenInfo{} +func (x *CallbackReq) Reset() { + *x = CallbackReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[7] + mi := &file_rpc_core_core_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TokenInfo) String() string { +func (x *CallbackReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TokenInfo) ProtoMessage() {} +func (*CallbackReq) ProtoMessage() {} -func (x *TokenInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[7] +func (x *CallbackReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -662,116 +764,166 @@ func (x *TokenInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TokenInfo.ProtoReflect.Descriptor instead. -func (*TokenInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{7} +// Deprecated: Use CallbackReq.ProtoReflect.Descriptor instead. +func (*CallbackReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{9} } -func (x *TokenInfo) GetID() int64 { +func (x *CallbackReq) GetState() string { if x != nil { - return x.ID + return x.State } - return 0 + return "" } -func (x *TokenInfo) GetStatus() string { +func (x *CallbackReq) GetCode() string { if x != nil { - return x.Status + return x.Code } return "" } -func (x *TokenInfo) GetCreatedAt() string { - if x != nil { - return x.CreatedAt +type RoleInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Code string `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + Users []*UserInfo `protobuf:"bytes,10,rep,name=users,proto3" json:"users,omitempty"` +} + +func (x *RoleInfo) Reset() { + *x = RoleInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *TokenInfo) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt +func (x *RoleInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoleInfo) ProtoMessage() {} + +func (x *RoleInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *TokenInfo) GetUserId() int64 { +// Deprecated: Use RoleInfo.ProtoReflect.Descriptor instead. +func (*RoleInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{10} +} + +func (x *RoleInfo) GetID() int64 { if x != nil { - return x.UserId + return x.ID } return 0 } -func (x *TokenInfo) GetAccessToken() string { +func (x *RoleInfo) GetStatus() string { if x != nil { - return x.AccessToken + return x.Status } return "" } -func (x *TokenInfo) GetRefreshToken() string { +func (x *RoleInfo) GetCreatedAt() string { if x != nil { - return x.RefreshToken + return x.CreatedAt } return "" } -func (x *TokenInfo) GetSource() string { +func (x *RoleInfo) GetUpdatedAt() string { if x != nil { - return x.Source + return x.UpdatedAt } return "" } -func (x *TokenInfo) GetExpiredAt() int64 { +func (x *RoleInfo) GetCode() string { if x != nil { - return x.ExpiredAt + return x.Code } - return 0 + return "" } -func (x *TokenInfo) GetUser() *UserInfo { +func (x *RoleInfo) GetName() string { if x != nil { - return x.User + return x.Name + } + return "" +} + +func (x *RoleInfo) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *RoleInfo) GetUsers() []*UserInfo { + if x != nil { + return x.Users } return nil } -type UserReq struct { +type UserSocialInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` - PhoneNumber string `protobuf:"bytes,3,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` - Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` - Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"` - WithRole bool `protobuf:"varint,6,opt,name=with_role,json=withRole,proto3" json:"with_role,omitempty"` - WithSocial bool `protobuf:"varint,7,opt,name=with_social,json=withSocial,proto3" json:"with_social,omitempty"` - WithDepartment bool `protobuf:"varint,8,opt,name=with_department,json=withDepartment,proto3" json:"with_department,omitempty"` - WithToken bool `protobuf:"varint,9,opt,name=with_token,json=withToken,proto3" json:"with_token,omitempty"` - WithLoginRecord bool `protobuf:"varint,10,opt,name=with_login_record,json=withLoginRecord,proto3" json:"with_login_record,omitempty"` - Page *Pagination `protobuf:"bytes,20,opt,name=page,proto3,oneof" json:"page,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CreatedAt string `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + UserId int64 `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Provider string `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"` + AccessToken string `protobuf:"bytes,6,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + RefreshToken string `protobuf:"bytes,7,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` + Uid string `protobuf:"bytes,8,opt,name=uid,proto3" json:"uid,omitempty"` + OpenId string `protobuf:"bytes,9,opt,name=open_id,json=openId,proto3" json:"open_id,omitempty"` + UnionId string `protobuf:"bytes,10,opt,name=union_id,json=unionId,proto3" json:"union_id,omitempty"` + Key string `protobuf:"bytes,11,opt,name=key,proto3" json:"key,omitempty"` + ExpiresIn uint64 `protobuf:"varint,12,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` + UserProfile string `protobuf:"bytes,13,opt,name=user_profile,json=userProfile,proto3" json:"user_profile,omitempty"` + User *UserInfo `protobuf:"bytes,14,opt,name=user,proto3" json:"user,omitempty"` } -func (x *UserReq) Reset() { - *x = UserReq{} +func (x *UserSocialInfo) Reset() { + *x = UserSocialInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[8] + mi := &file_rpc_core_core_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UserReq) String() string { +func (x *UserSocialInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UserReq) ProtoMessage() {} +func (*UserSocialInfo) ProtoMessage() {} -func (x *UserReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[8] +func (x *UserSocialInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -782,114 +934,145 @@ func (x *UserReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserReq.ProtoReflect.Descriptor instead. -func (*UserReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{8} +// Deprecated: Use UserSocialInfo.ProtoReflect.Descriptor instead. +func (*UserSocialInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{11} } -func (x *UserReq) GetID() int64 { +func (x *UserSocialInfo) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *UserReq) GetUsername() string { +func (x *UserSocialInfo) GetCreatedAt() string { if x != nil { - return x.Username + return x.CreatedAt } return "" } -func (x *UserReq) GetPhoneNumber() string { +func (x *UserSocialInfo) GetUpdatedAt() string { if x != nil { - return x.PhoneNumber + return x.UpdatedAt } return "" } -func (x *UserReq) GetEmail() string { +func (x *UserSocialInfo) GetUserId() int64 { if x != nil { - return x.Email + return x.UserId + } + return 0 +} + +func (x *UserSocialInfo) GetProvider() string { + if x != nil { + return x.Provider } return "" } -func (x *UserReq) GetNickname() string { +func (x *UserSocialInfo) GetAccessToken() string { if x != nil { - return x.Nickname + return x.AccessToken } return "" } -func (x *UserReq) GetWithRole() bool { +func (x *UserSocialInfo) GetRefreshToken() string { if x != nil { - return x.WithRole + return x.RefreshToken } - return false + return "" } -func (x *UserReq) GetWithSocial() bool { +func (x *UserSocialInfo) GetUid() string { if x != nil { - return x.WithSocial + return x.Uid } - return false + return "" } -func (x *UserReq) GetWithDepartment() bool { +func (x *UserSocialInfo) GetOpenId() string { if x != nil { - return x.WithDepartment + return x.OpenId } - return false + return "" } -func (x *UserReq) GetWithToken() bool { +func (x *UserSocialInfo) GetUnionId() string { if x != nil { - return x.WithToken + return x.UnionId } - return false + return "" } -func (x *UserReq) GetWithLoginRecord() bool { +func (x *UserSocialInfo) GetKey() string { if x != nil { - return x.WithLoginRecord + return x.Key } - return false + return "" } -func (x *UserReq) GetPage() *Pagination { +func (x *UserSocialInfo) GetExpiresIn() uint64 { if x != nil { - return x.Page + return x.ExpiresIn + } + return 0 +} + +func (x *UserSocialInfo) GetUserProfile() string { + if x != nil { + return x.UserProfile + } + return "" +} + +func (x *UserSocialInfo) GetUser() *UserInfo { + if x != nil { + return x.User } return nil } -type GetUserRolesReq struct { +type DepartmentInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + LeaderId int64 `protobuf:"varint,6,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"` + Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"` + ParentId int64 `protobuf:"varint,8,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` + Parent *DepartmentInfo `protobuf:"bytes,10,opt,name=parent,proto3" json:"parent,omitempty"` + Children []*DepartmentInfo `protobuf:"bytes,11,rep,name=children,proto3" json:"children,omitempty"` + Users []*UserInfo `protobuf:"bytes,12,rep,name=users,proto3" json:"users,omitempty"` + Leader *UserInfo `protobuf:"bytes,13,opt,name=leader,proto3" json:"leader,omitempty"` } -func (x *GetUserRolesReq) Reset() { - *x = GetUserRolesReq{} +func (x *DepartmentInfo) Reset() { + *x = DepartmentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[9] + mi := &file_rpc_core_core_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetUserRolesReq) String() string { +func (x *DepartmentInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetUserRolesReq) ProtoMessage() {} +func (*DepartmentInfo) ProtoMessage() {} -func (x *GetUserRolesReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[9] +func (x *DepartmentInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -900,161 +1083,134 @@ func (x *GetUserRolesReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetUserRolesReq.ProtoReflect.Descriptor instead. -func (*GetUserRolesReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{9} +// Deprecated: Use DepartmentInfo.ProtoReflect.Descriptor instead. +func (*DepartmentInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{12} } -func (x *GetUserRolesReq) GetPage() *Pagination { +func (x *DepartmentInfo) GetID() int64 { if x != nil { - return x.Page + return x.ID } - return nil + return 0 } -func (x *GetUserRolesReq) GetUserId() int64 { +func (x *DepartmentInfo) GetStatus() string { if x != nil { - return x.UserId + return x.Status } - return 0 -} - -type DepartmentListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - Data []*DepartmentInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + return "" } -func (x *DepartmentListResp) Reset() { - *x = DepartmentListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DepartmentInfo) GetCreatedAt() string { + if x != nil { + return x.CreatedAt } + return "" } -func (x *DepartmentListResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DepartmentInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" } -func (*DepartmentListResp) ProtoMessage() {} - -func (x *DepartmentListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DepartmentInfo) GetName() string { + if x != nil { + return x.Name } - return mi.MessageOf(x) + return "" } -// Deprecated: Use DepartmentListResp.ProtoReflect.Descriptor instead. -func (*DepartmentListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{10} +func (x *DepartmentInfo) GetLeaderId() int64 { + if x != nil { + return x.LeaderId + } + return 0 } -func (x *DepartmentListResp) GetPage() *Pagination { +func (x *DepartmentInfo) GetRemark() string { if x != nil { - return x.Page + return x.Remark } - return nil + return "" } -func (x *DepartmentListResp) GetData() []*DepartmentInfo { +func (x *DepartmentInfo) GetParentId() int64 { if x != nil { - return x.Data + return x.ParentId } - return nil -} - -type DictionaryDetailListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - Data []*DictionaryDetailInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + return 0 } -func (x *DictionaryDetailListResp) Reset() { - *x = DictionaryDetailListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DepartmentInfo) GetParent() *DepartmentInfo { + if x != nil { + return x.Parent } + return nil } -func (x *DictionaryDetailListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DictionaryDetailListResp) ProtoMessage() {} - -func (x *DictionaryDetailListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DepartmentInfo) GetChildren() []*DepartmentInfo { + if x != nil { + return x.Children } - return mi.MessageOf(x) -} - -// Deprecated: Use DictionaryDetailListResp.ProtoReflect.Descriptor instead. -func (*DictionaryDetailListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{11} + return nil } -func (x *DictionaryDetailListResp) GetPage() *Pagination { +func (x *DepartmentInfo) GetUsers() []*UserInfo { if x != nil { - return x.Page + return x.Users } return nil } -func (x *DictionaryDetailListResp) GetData() []*DictionaryDetailInfo { +func (x *DepartmentInfo) GetLeader() *UserInfo { if x != nil { - return x.Data + return x.Leader } return nil } -type DistrictListResp struct { +// DistrictInfo 地址单体结构 +type DistrictInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - Data []*DistrictInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CreatedAt string `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + ShortName string `protobuf:"bytes,5,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"` + Code string `protobuf:"bytes,6,opt,name=code,proto3" json:"code,omitempty"` + Province string `protobuf:"bytes,7,opt,name=province,proto3" json:"province,omitempty"` + City string `protobuf:"bytes,8,opt,name=city,proto3" json:"city,omitempty"` + Area string `protobuf:"bytes,9,opt,name=area,proto3" json:"area,omitempty"` + Street string `protobuf:"bytes,10,opt,name=street,proto3" json:"street,omitempty"` + Level uint32 `protobuf:"varint,11,opt,name=level,proto3" json:"level,omitempty"` + Latitude float64 `protobuf:"fixed64,12,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude float64 `protobuf:"fixed64,13,opt,name=longitude,proto3" json:"longitude,omitempty"` + Children []*DistrictInfo `protobuf:"bytes,20,rep,name=children,proto3" json:"children,omitempty"` } -func (x *DistrictListResp) Reset() { - *x = DistrictListResp{} +func (x *DistrictInfo) Reset() { + *x = DistrictInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[12] + mi := &file_rpc_core_core_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DistrictListResp) String() string { +func (x *DistrictInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DistrictListResp) ProtoMessage() {} +func (*DistrictInfo) ProtoMessage() {} -func (x *DistrictListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[12] +func (x *DistrictInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1065,123 +1221,120 @@ func (x *DistrictListResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DistrictListResp.ProtoReflect.Descriptor instead. -func (*DistrictListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{12} +// Deprecated: Use DistrictInfo.ProtoReflect.Descriptor instead. +func (*DistrictInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{13} } -func (x *DistrictListResp) GetPage() *Pagination { +func (x *DistrictInfo) GetID() int64 { if x != nil { - return x.Page + return x.ID } - return nil + return 0 } -func (x *DistrictListResp) GetData() []*DistrictInfo { +func (x *DistrictInfo) GetCreatedAt() string { if x != nil { - return x.Data + return x.CreatedAt } - return nil + return "" } -type OauthProviderReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - System *bool `protobuf:"varint,4,opt,name=system,proto3,oneof" json:"system,omitempty"` - Init *bool `protobuf:"varint,5,opt,name=init,proto3,oneof" json:"init,omitempty"` - Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` +func (x *DistrictInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" } -func (x *OauthProviderReq) Reset() { - *x = OauthProviderReq{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DistrictInfo) GetName() string { + if x != nil { + return x.Name } + return "" } -func (x *OauthProviderReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DistrictInfo) GetShortName() string { + if x != nil { + return x.ShortName + } + return "" } -func (*OauthProviderReq) ProtoMessage() {} - -func (x *OauthProviderReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DistrictInfo) GetCode() string { + if x != nil { + return x.Code } - return mi.MessageOf(x) + return "" } -// Deprecated: Use OauthProviderReq.ProtoReflect.Descriptor instead. -func (*OauthProviderReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{13} +func (x *DistrictInfo) GetProvince() string { + if x != nil { + return x.Province + } + return "" } -func (x *OauthProviderReq) GetID() int64 { +func (x *DistrictInfo) GetCity() string { if x != nil { - return x.ID + return x.City } - return 0 + return "" } -func (x *OauthProviderReq) GetName() string { +func (x *DistrictInfo) GetArea() string { if x != nil { - return x.Name + return x.Area } return "" } -func (x *OauthProviderReq) GetClientId() string { +func (x *DistrictInfo) GetStreet() string { if x != nil { - return x.ClientId + return x.Street } return "" } -func (x *OauthProviderReq) GetSystem() bool { - if x != nil && x.System != nil { - return *x.System +func (x *DistrictInfo) GetLevel() uint32 { + if x != nil { + return x.Level } - return false + return 0 } -func (x *OauthProviderReq) GetInit() bool { - if x != nil && x.Init != nil { - return *x.Init +func (x *DistrictInfo) GetLatitude() float64 { + if x != nil { + return x.Latitude } - return false + return 0 } -func (x *OauthProviderReq) GetPage() *Pagination { +func (x *DistrictInfo) GetLongitude() float64 { if x != nil { - return x.Page + return x.Longitude + } + return 0 +} + +func (x *DistrictInfo) GetChildren() []*DistrictInfo { + if x != nil { + return x.Children } return nil } -type CallbackReq struct { +type DistrictListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + Data []*DistrictInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } -func (x *CallbackReq) Reset() { - *x = CallbackReq{} +func (x *DistrictListResp) Reset() { + *x = DistrictListResp{} if protoimpl.UnsafeEnabled { mi := &file_rpc_core_core_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1189,13 +1342,13 @@ func (x *CallbackReq) Reset() { } } -func (x *CallbackReq) String() string { +func (x *DistrictListResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CallbackReq) ProtoMessage() {} +func (*DistrictListResp) ProtoMessage() {} -func (x *CallbackReq) ProtoReflect() protoreflect.Message { +func (x *DistrictListResp) ProtoReflect() protoreflect.Message { mi := &file_rpc_core_core_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1207,35 +1360,35 @@ func (x *CallbackReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CallbackReq.ProtoReflect.Descriptor instead. -func (*CallbackReq) Descriptor() ([]byte, []int) { +// Deprecated: Use DistrictListResp.ProtoReflect.Descriptor instead. +func (*DistrictListResp) Descriptor() ([]byte, []int) { return file_rpc_core_core_proto_rawDescGZIP(), []int{14} } -func (x *CallbackReq) GetState() string { +func (x *DistrictListResp) GetPage() *Pagination { if x != nil { - return x.State + return x.Page } - return "" + return nil } -func (x *CallbackReq) GetCode() string { +func (x *DistrictListResp) GetData() []*DistrictInfo { if x != nil { - return x.Code + return x.Data } - return "" + return nil } -type OauthRedirectResp struct { +type RecordReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } -func (x *OauthRedirectResp) Reset() { - *x = OauthRedirectResp{} +func (x *RecordReq) Reset() { + *x = RecordReq{} if protoimpl.UnsafeEnabled { mi := &file_rpc_core_core_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1243,13 +1396,13 @@ func (x *OauthRedirectResp) Reset() { } } -func (x *OauthRedirectResp) String() string { +func (x *RecordReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OauthRedirectResp) ProtoMessage() {} +func (*RecordReq) ProtoMessage() {} -func (x *OauthRedirectResp) ProtoReflect() protoreflect.Message { +func (x *RecordReq) ProtoReflect() protoreflect.Message { mi := &file_rpc_core_core_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1261,42 +1414,30 @@ func (x *OauthRedirectResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OauthRedirectResp.ProtoReflect.Descriptor instead. -func (*OauthRedirectResp) Descriptor() ([]byte, []int) { +// Deprecated: Use RecordReq.ProtoReflect.Descriptor instead. +func (*RecordReq) Descriptor() ([]byte, []int) { return file_rpc_core_core_proto_rawDescGZIP(), []int{15} } -func (x *OauthRedirectResp) GetUrl() string { +func (x *RecordReq) GetUserId() int64 { if x != nil { - return x.Url + return x.UserId } - return "" + return 0 } -type UserInfo struct { +type UserRoleReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"` - PhoneNumber *string `protobuf:"bytes,6,opt,name=phone_number,json=phoneNumber,proto3,oneof" json:"phone_number,omitempty"` - Email *string `protobuf:"bytes,7,opt,name=email,proto3,oneof" json:"email,omitempty"` - Password string `protobuf:"bytes,8,opt,name=password,proto3" json:"password,omitempty"` - Nickname *string `protobuf:"bytes,9,opt,name=nickname,proto3,oneof" json:"nickname,omitempty"` - Metas map[string]string `protobuf:"bytes,10,rep,name=metas,proto3" json:"metas,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Roles []*RoleInfo `protobuf:"bytes,20,rep,name=roles,proto3" json:"roles,omitempty"` - Socials []*UserSocialInfo `protobuf:"bytes,21,rep,name=socials,proto3" json:"socials,omitempty"` - Departments []*DepartmentInfo `protobuf:"bytes,22,rep,name=departments,proto3" json:"departments,omitempty"` - Tokens []*TokenInfo `protobuf:"bytes,23,rep,name=tokens,proto3" json:"tokens,omitempty"` - LoginRecord *LoginRecordInfo `protobuf:"bytes,24,opt,name=login_record,json=loginRecord,proto3" json:"login_record,omitempty"` + UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + RoleIds []int64 `protobuf:"varint,2,rep,packed,name=role_ids,json=roleIds,proto3" json:"role_ids,omitempty"` + RoleCodes []string `protobuf:"bytes,3,rep,name=role_codes,json=roleCodes,proto3" json:"role_codes,omitempty"` } -func (x *UserInfo) Reset() { - *x = UserInfo{} +func (x *UserRoleReq) Reset() { + *x = UserRoleReq{} if protoimpl.UnsafeEnabled { mi := &file_rpc_core_core_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1304,13 +1445,13 @@ func (x *UserInfo) Reset() { } } -func (x *UserInfo) String() string { +func (x *UserRoleReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UserInfo) ProtoMessage() {} +func (*UserRoleReq) ProtoMessage() {} -func (x *UserInfo) ProtoReflect() protoreflect.Message { +func (x *UserRoleReq) ProtoReflect() protoreflect.Message { mi := &file_rpc_core_core_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1322,143 +1463,181 @@ func (x *UserInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. -func (*UserInfo) Descriptor() ([]byte, []int) { +// Deprecated: Use UserRoleReq.ProtoReflect.Descriptor instead. +func (*UserRoleReq) Descriptor() ([]byte, []int) { return file_rpc_core_core_proto_rawDescGZIP(), []int{16} } -func (x *UserInfo) GetID() int64 { +func (x *UserRoleReq) GetUserId() int64 { if x != nil { - return x.ID + return x.UserId } return 0 } -func (x *UserInfo) GetStatus() string { +func (x *UserRoleReq) GetRoleIds() []int64 { if x != nil { - return x.Status + return x.RoleIds } - return "" + return nil } -func (x *UserInfo) GetCreatedAt() string { +func (x *UserRoleReq) GetRoleCodes() []string { if x != nil { - return x.CreatedAt + return x.RoleCodes } - return "" + return nil } -func (x *UserInfo) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt +type DistrictReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Province string `protobuf:"bytes,2,opt,name=province,proto3" json:"province,omitempty"` + City string `protobuf:"bytes,3,opt,name=city,proto3" json:"city,omitempty"` + Area string `protobuf:"bytes,4,opt,name=area,proto3" json:"area,omitempty"` + Street string `protobuf:"bytes,5,opt,name=street,proto3" json:"street,omitempty"` + Level uint32 `protobuf:"varint,6,opt,name=level,proto3" json:"level,omitempty"` + Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` + ParentCode string `protobuf:"bytes,8,opt,name=parent_code,json=parentCode,proto3" json:"parent_code,omitempty"` + Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` + QueryType DistrictQueryType `protobuf:"varint,11,opt,name=query_type,json=queryType,proto3,enum=core.DistrictQueryType" json:"query_type,omitempty"` +} + +func (x *DistrictReq) Reset() { + *x = DistrictReq{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *UserInfo) GetUsername() string { - if x != nil { - return x.Username +func (x *DistrictReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DistrictReq) ProtoMessage() {} + +func (x *DistrictReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *UserInfo) GetPhoneNumber() string { - if x != nil && x.PhoneNumber != nil { - return *x.PhoneNumber +// Deprecated: Use DistrictReq.ProtoReflect.Descriptor instead. +func (*DistrictReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{17} +} + +func (x *DistrictReq) GetCode() string { + if x != nil { + return x.Code } return "" } -func (x *UserInfo) GetEmail() string { - if x != nil && x.Email != nil { - return *x.Email +func (x *DistrictReq) GetProvince() string { + if x != nil { + return x.Province } return "" } -func (x *UserInfo) GetPassword() string { +func (x *DistrictReq) GetCity() string { if x != nil { - return x.Password + return x.City } return "" } -func (x *UserInfo) GetNickname() string { - if x != nil && x.Nickname != nil { - return *x.Nickname +func (x *DistrictReq) GetArea() string { + if x != nil { + return x.Area } return "" } -func (x *UserInfo) GetMetas() map[string]string { +func (x *DistrictReq) GetStreet() string { if x != nil { - return x.Metas + return x.Street } - return nil + return "" } -func (x *UserInfo) GetRoles() []*RoleInfo { +func (x *DistrictReq) GetLevel() uint32 { if x != nil { - return x.Roles + return x.Level } - return nil + return 0 } -func (x *UserInfo) GetSocials() []*UserSocialInfo { +func (x *DistrictReq) GetName() string { if x != nil { - return x.Socials + return x.Name } - return nil + return "" } -func (x *UserInfo) GetDepartments() []*DepartmentInfo { +func (x *DistrictReq) GetParentCode() string { if x != nil { - return x.Departments + return x.ParentCode } - return nil + return "" } -func (x *UserInfo) GetTokens() []*TokenInfo { +func (x *DistrictReq) GetPage() *Pagination { if x != nil { - return x.Tokens + return x.Page } return nil } -func (x *UserInfo) GetLoginRecord() *LoginRecordInfo { +func (x *DistrictReq) GetQueryType() DistrictQueryType { if x != nil { - return x.LoginRecord + return x.QueryType } - return nil + return DistrictQueryType_Normal } -type UserRoleReq struct { +type OauthProviderReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - RoleIds []int64 `protobuf:"varint,2,rep,packed,name=role_ids,json=roleIds,proto3" json:"role_ids,omitempty"` - RoleCodes []string `protobuf:"bytes,3,rep,name=role_codes,json=roleCodes,proto3" json:"role_codes,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + System *bool `protobuf:"varint,4,opt,name=system,proto3,oneof" json:"system,omitempty"` + Init *bool `protobuf:"varint,5,opt,name=init,proto3,oneof" json:"init,omitempty"` + Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` } -func (x *UserRoleReq) Reset() { - *x = UserRoleReq{} +func (x *OauthProviderReq) Reset() { + *x = OauthProviderReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[17] + mi := &file_rpc_core_core_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UserRoleReq) String() string { +func (x *OauthProviderReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UserRoleReq) ProtoMessage() {} +func (*OauthProviderReq) ProtoMessage() {} -func (x *UserRoleReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[17] +func (x *OauthProviderReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1469,64 +1648,79 @@ func (x *UserRoleReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserRoleReq.ProtoReflect.Descriptor instead. -func (*UserRoleReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{17} +// Deprecated: Use OauthProviderReq.ProtoReflect.Descriptor instead. +func (*OauthProviderReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{18} } -func (x *UserRoleReq) GetUserId() int64 { +func (x *OauthProviderReq) GetID() int64 { if x != nil { - return x.UserId + return x.ID } return 0 } -func (x *UserRoleReq) GetRoleIds() []int64 { +func (x *OauthProviderReq) GetName() string { if x != nil { - return x.RoleIds + return x.Name } - return nil + return "" } -func (x *UserRoleReq) GetRoleCodes() []string { +func (x *OauthProviderReq) GetClientId() string { if x != nil { - return x.RoleCodes + return x.ClientId + } + return "" +} + +func (x *OauthProviderReq) GetSystem() bool { + if x != nil && x.System != nil { + return *x.System + } + return false +} + +func (x *OauthProviderReq) GetInit() bool { + if x != nil && x.Init != nil { + return *x.Init + } + return false +} + +func (x *OauthProviderReq) GetPage() *Pagination { + if x != nil { + return x.Page } return nil } -type DictionaryInfo struct { +type TokenListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` - Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` - Details []*DictionaryDetailInfo `protobuf:"bytes,10,rep,name=details,proto3" json:"details,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + Data []*TokenInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } -func (x *DictionaryInfo) Reset() { - *x = DictionaryInfo{} +func (x *TokenListResp) Reset() { + *x = TokenListResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[18] + mi := &file_rpc_core_core_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DictionaryInfo) String() string { +func (x *TokenListResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DictionaryInfo) ProtoMessage() {} +func (*TokenListResp) ProtoMessage() {} -func (x *DictionaryInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[18] +func (x *TokenListResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1537,101 +1731,60 @@ func (x *DictionaryInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DictionaryInfo.ProtoReflect.Descriptor instead. -func (*DictionaryInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{18} -} - -func (x *DictionaryInfo) GetID() int64 { - if x != nil { - return x.ID - } - return 0 -} - -func (x *DictionaryInfo) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *DictionaryInfo) GetCreatedAt() string { - if x != nil { - return x.CreatedAt - } - return "" -} - -func (x *DictionaryInfo) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt - } - return "" -} - -func (x *DictionaryInfo) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *DictionaryInfo) GetName() string { - if x != nil { - return x.Name - } - return "" +// Deprecated: Use TokenListResp.ProtoReflect.Descriptor instead. +func (*TokenListResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{19} } -func (x *DictionaryInfo) GetDescription() string { +func (x *TokenListResp) GetPage() *Pagination { if x != nil { - return x.Description + return x.Page } - return "" + return nil } -func (x *DictionaryInfo) GetDetails() []*DictionaryDetailInfo { +func (x *TokenListResp) GetData() []*TokenInfo { if x != nil { - return x.Details + return x.Data } return nil } -type DictionaryDetailInfo struct { +type UserReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` - Key string `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"` - Sort uint32 `protobuf:"varint,8,opt,name=sort,proto3" json:"sort,omitempty"` - DictionaryId int64 `protobuf:"varint,9,opt,name=dictionary_id,json=dictionaryId,proto3" json:"dictionary_id,omitempty"` - Dictionary *DictionaryInfo `protobuf:"bytes,10,opt,name=dictionary,proto3" json:"dictionary,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + PhoneNumber string `protobuf:"bytes,3,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"` + WithRole bool `protobuf:"varint,6,opt,name=with_role,json=withRole,proto3" json:"with_role,omitempty"` + WithSocial bool `protobuf:"varint,7,opt,name=with_social,json=withSocial,proto3" json:"with_social,omitempty"` + WithDepartment bool `protobuf:"varint,8,opt,name=with_department,json=withDepartment,proto3" json:"with_department,omitempty"` + WithToken bool `protobuf:"varint,9,opt,name=with_token,json=withToken,proto3" json:"with_token,omitempty"` + WithLoginRecord bool `protobuf:"varint,10,opt,name=with_login_record,json=withLoginRecord,proto3" json:"with_login_record,omitempty"` + Page *Pagination `protobuf:"bytes,20,opt,name=page,proto3,oneof" json:"page,omitempty"` } -func (x *DictionaryDetailInfo) Reset() { - *x = DictionaryDetailInfo{} +func (x *UserReq) Reset() { + *x = UserReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[19] + mi := &file_rpc_core_core_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DictionaryDetailInfo) String() string { +func (x *UserReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DictionaryDetailInfo) ProtoMessage() {} +func (*UserReq) ProtoMessage() {} -func (x *DictionaryDetailInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[19] +func (x *UserReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1642,115 +1795,119 @@ func (x *DictionaryDetailInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DictionaryDetailInfo.ProtoReflect.Descriptor instead. -func (*DictionaryDetailInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{19} +// Deprecated: Use UserReq.ProtoReflect.Descriptor instead. +func (*UserReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{20} } -func (x *DictionaryDetailInfo) GetID() int64 { +func (x *UserReq) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *DictionaryDetailInfo) GetStatus() string { +func (x *UserReq) GetUsername() string { if x != nil { - return x.Status + return x.Username } return "" } -func (x *DictionaryDetailInfo) GetCreatedAt() string { +func (x *UserReq) GetPhoneNumber() string { if x != nil { - return x.CreatedAt + return x.PhoneNumber } return "" } -func (x *DictionaryDetailInfo) GetUpdatedAt() string { +func (x *UserReq) GetEmail() string { if x != nil { - return x.UpdatedAt + return x.Email } return "" } -func (x *DictionaryDetailInfo) GetTitle() string { +func (x *UserReq) GetNickname() string { if x != nil { - return x.Title + return x.Nickname } return "" } -func (x *DictionaryDetailInfo) GetKey() string { +func (x *UserReq) GetWithRole() bool { if x != nil { - return x.Key + return x.WithRole } - return "" + return false } -func (x *DictionaryDetailInfo) GetValue() string { +func (x *UserReq) GetWithSocial() bool { if x != nil { - return x.Value + return x.WithSocial } - return "" + return false } -func (x *DictionaryDetailInfo) GetSort() uint32 { +func (x *UserReq) GetWithDepartment() bool { if x != nil { - return x.Sort + return x.WithDepartment } - return 0 + return false } -func (x *DictionaryDetailInfo) GetDictionaryId() int64 { +func (x *UserReq) GetWithToken() bool { if x != nil { - return x.DictionaryId + return x.WithToken } - return 0 + return false } -func (x *DictionaryDetailInfo) GetDictionary() *DictionaryInfo { +func (x *UserReq) GetWithLoginRecord() bool { if x != nil { - return x.Dictionary + return x.WithLoginRecord + } + return false +} + +func (x *UserReq) GetPage() *Pagination { + if x != nil { + return x.Page } return nil } -type DistrictReq struct { +type DictionaryDetailReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Province string `protobuf:"bytes,2,opt,name=province,proto3" json:"province,omitempty"` - City string `protobuf:"bytes,3,opt,name=city,proto3" json:"city,omitempty"` - Area string `protobuf:"bytes,4,opt,name=area,proto3" json:"area,omitempty"` - Street string `protobuf:"bytes,5,opt,name=street,proto3" json:"street,omitempty"` - Level uint32 `protobuf:"varint,6,opt,name=level,proto3" json:"level,omitempty"` - Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` - ParentCode string `protobuf:"bytes,8,opt,name=parent_code,json=parentCode,proto3" json:"parent_code,omitempty"` - Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` - QueryType DistrictQueryType `protobuf:"varint,11,opt,name=query_type,json=queryType,proto3,enum=core.DistrictQueryType" json:"query_type,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + ID int64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + DictId int64 `protobuf:"varint,3,opt,name=dict_id,json=dictId,proto3" json:"dict_id,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Key string `protobuf:"bytes,5,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"` + WithDictionary bool `protobuf:"varint,7,opt,name=with_dictionary,json=withDictionary,proto3" json:"with_dictionary,omitempty"` } -func (x *DistrictReq) Reset() { - *x = DistrictReq{} +func (x *DictionaryDetailReq) Reset() { + *x = DictionaryDetailReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[20] + mi := &file_rpc_core_core_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DistrictReq) String() string { +func (x *DictionaryDetailReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DistrictReq) ProtoMessage() {} +func (*DictionaryDetailReq) ProtoMessage() {} -func (x *DistrictReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[20] +func (x *DictionaryDetailReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1761,106 +1918,87 @@ func (x *DistrictReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DistrictReq.ProtoReflect.Descriptor instead. -func (*DistrictReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{20} -} - -func (x *DistrictReq) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *DistrictReq) GetProvince() string { - if x != nil { - return x.Province - } - return "" -} - -func (x *DistrictReq) GetCity() string { - if x != nil { - return x.City - } - return "" +// Deprecated: Use DictionaryDetailReq.ProtoReflect.Descriptor instead. +func (*DictionaryDetailReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{21} } -func (x *DistrictReq) GetArea() string { +func (x *DictionaryDetailReq) GetPage() *Pagination { if x != nil { - return x.Area + return x.Page } - return "" + return nil } -func (x *DistrictReq) GetStreet() string { +func (x *DictionaryDetailReq) GetID() int64 { if x != nil { - return x.Street + return x.ID } - return "" + return 0 } -func (x *DistrictReq) GetLevel() uint32 { +func (x *DictionaryDetailReq) GetDictId() int64 { if x != nil { - return x.Level + return x.DictId } return 0 } -func (x *DistrictReq) GetName() string { +func (x *DictionaryDetailReq) GetTitle() string { if x != nil { - return x.Name + return x.Title } return "" } -func (x *DistrictReq) GetParentCode() string { +func (x *DictionaryDetailReq) GetKey() string { if x != nil { - return x.ParentCode + return x.Key } return "" } -func (x *DistrictReq) GetPage() *Pagination { +func (x *DictionaryDetailReq) GetValue() string { if x != nil { - return x.Page + return x.Value } - return nil + return "" } -func (x *DistrictReq) GetQueryType() DistrictQueryType { +func (x *DictionaryDetailReq) GetWithDictionary() bool { if x != nil { - return x.QueryType + return x.WithDictionary } - return DistrictQueryType_Normal + return false } -type DistrictCodeReq struct { +type GetDistrictNameResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + NameList []string `protobuf:"bytes,3,rep,name=name_list,json=nameList,proto3" json:"name_list,omitempty"` } -func (x *DistrictCodeReq) Reset() { - *x = DistrictCodeReq{} +func (x *GetDistrictNameResp) Reset() { + *x = GetDistrictNameResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[21] + mi := &file_rpc_core_core_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DistrictCodeReq) String() string { +func (x *GetDistrictNameResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DistrictCodeReq) ProtoMessage() {} +func (*GetDistrictNameResp) ProtoMessage() {} -func (x *DistrictCodeReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[21] +func (x *GetDistrictNameResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1871,46 +2009,58 @@ func (x *DistrictCodeReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DistrictCodeReq.ProtoReflect.Descriptor instead. -func (*DistrictCodeReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{21} +// Deprecated: Use GetDistrictNameResp.ProtoReflect.Descriptor instead. +func (*GetDistrictNameResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{22} } -func (x *DistrictCodeReq) GetCode() string { +func (x *GetDistrictNameResp) GetCode() string { if x != nil { return x.Code } return "" } -// 分页参数 -type Pagination struct { +func (x *GetDistrictNameResp) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetDistrictNameResp) GetNameList() []string { + if x != nil { + return x.NameList + } + return nil +} + +type GetUserRolesReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` - Total uint64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` - Current uint64 `protobuf:"varint,3,opt,name=current,proto3" json:"current,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } -func (x *Pagination) Reset() { - *x = Pagination{} +func (x *GetUserRolesReq) Reset() { + *x = GetUserRolesReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[22] + mi := &file_rpc_core_core_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Pagination) String() string { +func (x *GetUserRolesReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Pagination) ProtoMessage() {} +func (*GetUserRolesReq) ProtoMessage() {} -func (x *Pagination) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[22] +func (x *GetUserRolesReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1921,58 +2071,92 @@ func (x *Pagination) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Pagination.ProtoReflect.Descriptor instead. -func (*Pagination) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{22} +// Deprecated: Use GetUserRolesReq.ProtoReflect.Descriptor instead. +func (*GetUserRolesReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{23} } -func (x *Pagination) GetSize() uint64 { +func (x *GetUserRolesReq) GetPage() *Pagination { if x != nil { - return x.Size + return x.Page } - return 0 + return nil } -func (x *Pagination) GetTotal() uint64 { +func (x *GetUserRolesReq) GetUserId() int64 { if x != nil { - return x.Total + return x.UserId } return 0 } -func (x *Pagination) GetCurrent() uint64 { - if x != nil { - return x.Current +// Base message +type Empty struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Empty) Reset() { + *x = Empty{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -type GetDistrictNameReq struct { +func (x *Empty) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Empty) ProtoMessage() {} + +func (x *Empty) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[24] + 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 Empty.ProtoReflect.Descriptor instead. +func (*Empty) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{24} +} + +// 基础回执带ID +type BaseIDResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Separator string `protobuf:"bytes,2,opt,name=separator,proto3" json:"separator,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` } -func (x *GetDistrictNameReq) Reset() { - *x = GetDistrictNameReq{} +func (x *BaseIDResp) Reset() { + *x = BaseIDResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[23] + mi := &file_rpc_core_core_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetDistrictNameReq) String() string { +func (x *BaseIDResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDistrictNameReq) ProtoMessage() {} +func (*BaseIDResp) ProtoMessage() {} -func (x *GetDistrictNameReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[23] +func (x *BaseIDResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1983,58 +2167,64 @@ func (x *GetDistrictNameReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDistrictNameReq.ProtoReflect.Descriptor instead. -func (*GetDistrictNameReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{23} +// Deprecated: Use BaseIDResp.ProtoReflect.Descriptor instead. +func (*BaseIDResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{25} } -func (x *GetDistrictNameReq) GetCode() string { +func (x *BaseIDResp) GetID() int64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *BaseIDResp) GetCode() int32 { if x != nil { return x.Code } - return "" + return 0 } -func (x *GetDistrictNameReq) GetSeparator() string { +func (x *BaseIDResp) GetMsg() string { if x != nil { - return x.Separator + return x.Msg } return "" } -type LoginRecordInfo struct { +type DictionaryInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - UserId int64 `protobuf:"varint,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - LastLoginAt string `protobuf:"bytes,6,opt,name=last_login_at,json=lastLoginAt,proto3" json:"last_login_at,omitempty"` - LastLoginIpv4 string `protobuf:"bytes,7,opt,name=last_login_ipv4,json=lastLoginIpv4,proto3" json:"last_login_ipv4,omitempty"` - LastLoginDevice string `protobuf:"bytes,8,opt,name=last_login_device,json=lastLoginDevice,proto3" json:"last_login_device,omitempty"` - LastLoginUa string `protobuf:"bytes,9,opt,name=last_login_ua,json=lastLoginUa,proto3" json:"last_login_ua,omitempty"` - LoginCount uint64 `protobuf:"varint,10,opt,name=login_count,json=loginCount,proto3" json:"login_count,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + Details []*DictionaryDetailInfo `protobuf:"bytes,10,rep,name=details,proto3" json:"details,omitempty"` } -func (x *LoginRecordInfo) Reset() { - *x = LoginRecordInfo{} +func (x *DictionaryInfo) Reset() { + *x = DictionaryInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[24] + mi := &file_rpc_core_core_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *LoginRecordInfo) String() string { +func (x *DictionaryInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LoginRecordInfo) ProtoMessage() {} +func (*DictionaryInfo) ProtoMessage() {} -func (x *LoginRecordInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[24] +func (x *DictionaryInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2045,112 +2235,101 @@ func (x *LoginRecordInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LoginRecordInfo.ProtoReflect.Descriptor instead. -func (*LoginRecordInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{24} +// Deprecated: Use DictionaryInfo.ProtoReflect.Descriptor instead. +func (*DictionaryInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{26} } -func (x *LoginRecordInfo) GetID() int64 { +func (x *DictionaryInfo) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *LoginRecordInfo) GetCreatedAt() string { +func (x *DictionaryInfo) GetStatus() string { if x != nil { - return x.CreatedAt + return x.Status } return "" } -func (x *LoginRecordInfo) GetUpdatedAt() string { +func (x *DictionaryInfo) GetCreatedAt() string { if x != nil { - return x.UpdatedAt + return x.CreatedAt } return "" } -func (x *LoginRecordInfo) GetUserId() int64 { - if x != nil { - return x.UserId - } - return 0 -} - -func (x *LoginRecordInfo) GetLastLoginAt() string { +func (x *DictionaryInfo) GetUpdatedAt() string { if x != nil { - return x.LastLoginAt + return x.UpdatedAt } return "" } -func (x *LoginRecordInfo) GetLastLoginIpv4() string { +func (x *DictionaryInfo) GetTitle() string { if x != nil { - return x.LastLoginIpv4 + return x.Title } return "" } -func (x *LoginRecordInfo) GetLastLoginDevice() string { +func (x *DictionaryInfo) GetName() string { if x != nil { - return x.LastLoginDevice + return x.Name } return "" } -func (x *LoginRecordInfo) GetLastLoginUa() string { +func (x *DictionaryInfo) GetDescription() string { if x != nil { - return x.LastLoginUa + return x.Description } return "" } -func (x *LoginRecordInfo) GetLoginCount() uint64 { +func (x *DictionaryInfo) GetDetails() []*DictionaryDetailInfo { if x != nil { - return x.LoginCount + return x.Details } - return 0 + return nil } -type OauthProviderInfo struct { +type DictionaryDetailInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - CreatedAt string `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - ClientId string `protobuf:"bytes,5,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - ClientSecret string `protobuf:"bytes,6,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` - RedirectUrl string `protobuf:"bytes,7,opt,name=redirect_url,json=redirectUrl,proto3" json:"redirect_url,omitempty"` - Scopes string `protobuf:"bytes,8,opt,name=scopes,proto3" json:"scopes,omitempty"` - AuthUrl string `protobuf:"bytes,9,opt,name=auth_url,json=authUrl,proto3" json:"auth_url,omitempty"` - TokenUrl string `protobuf:"bytes,10,opt,name=token_url,json=tokenUrl,proto3" json:"token_url,omitempty"` - InfoUrl string `protobuf:"bytes,11,opt,name=info_url,json=infoUrl,proto3" json:"info_url,omitempty"` - Description string `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"` - System bool `protobuf:"varint,13,opt,name=system,proto3" json:"system,omitempty"` - Init bool `protobuf:"varint,14,opt,name=init,proto3" json:"init,omitempty"` -} - -func (x *OauthProviderInfo) Reset() { - *x = OauthProviderInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` + Key string `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"` + Sort uint32 `protobuf:"varint,8,opt,name=sort,proto3" json:"sort,omitempty"` + DictionaryId int64 `protobuf:"varint,9,opt,name=dictionary_id,json=dictionaryId,proto3" json:"dictionary_id,omitempty"` + Dictionary *DictionaryInfo `protobuf:"bytes,10,opt,name=dictionary,proto3" json:"dictionary,omitempty"` } -func (x *OauthProviderInfo) String() string { +func (x *DictionaryDetailInfo) Reset() { + *x = DictionaryDetailInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DictionaryDetailInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OauthProviderInfo) ProtoMessage() {} +func (*DictionaryDetailInfo) ProtoMessage() {} -func (x *OauthProviderInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[25] +func (x *DictionaryDetailInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2161,135 +2340,162 @@ func (x *OauthProviderInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OauthProviderInfo.ProtoReflect.Descriptor instead. -func (*OauthProviderInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{25} +// Deprecated: Use DictionaryDetailInfo.ProtoReflect.Descriptor instead. +func (*DictionaryDetailInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{27} } -func (x *OauthProviderInfo) GetID() int64 { +func (x *DictionaryDetailInfo) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *OauthProviderInfo) GetCreatedAt() string { +func (x *DictionaryDetailInfo) GetStatus() string { if x != nil { - return x.CreatedAt + return x.Status } return "" } -func (x *OauthProviderInfo) GetUpdatedAt() string { +func (x *DictionaryDetailInfo) GetCreatedAt() string { if x != nil { - return x.UpdatedAt + return x.CreatedAt } return "" } -func (x *OauthProviderInfo) GetName() string { +func (x *DictionaryDetailInfo) GetUpdatedAt() string { if x != nil { - return x.Name + return x.UpdatedAt } return "" } -func (x *OauthProviderInfo) GetClientId() string { +func (x *DictionaryDetailInfo) GetTitle() string { if x != nil { - return x.ClientId + return x.Title } return "" } -func (x *OauthProviderInfo) GetClientSecret() string { +func (x *DictionaryDetailInfo) GetKey() string { if x != nil { - return x.ClientSecret + return x.Key } return "" } -func (x *OauthProviderInfo) GetRedirectUrl() string { +func (x *DictionaryDetailInfo) GetValue() string { if x != nil { - return x.RedirectUrl + return x.Value } return "" } -func (x *OauthProviderInfo) GetScopes() string { +func (x *DictionaryDetailInfo) GetSort() uint32 { if x != nil { - return x.Scopes + return x.Sort } - return "" + return 0 } -func (x *OauthProviderInfo) GetAuthUrl() string { +func (x *DictionaryDetailInfo) GetDictionaryId() int64 { if x != nil { - return x.AuthUrl + return x.DictionaryId } - return "" + return 0 } -func (x *OauthProviderInfo) GetTokenUrl() string { +func (x *DictionaryDetailInfo) GetDictionary() *DictionaryInfo { if x != nil { - return x.TokenUrl + return x.Dictionary } - return "" + return nil } -func (x *OauthProviderInfo) GetInfoUrl() string { - if x != nil { - return x.InfoUrl +type OauthProviderListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + Data []*OauthProviderInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *OauthProviderListResp) Reset() { + *x = OauthProviderListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *OauthProviderInfo) GetDescription() string { - if x != nil { - return x.Description +func (x *OauthProviderListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OauthProviderListResp) ProtoMessage() {} + +func (x *OauthProviderListResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *OauthProviderInfo) GetSystem() bool { +// Deprecated: Use OauthProviderListResp.ProtoReflect.Descriptor instead. +func (*OauthProviderListResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{28} +} + +func (x *OauthProviderListResp) GetPage() *Pagination { if x != nil { - return x.System + return x.Page } - return false + return nil } -func (x *OauthProviderInfo) GetInit() bool { +func (x *OauthProviderListResp) GetData() []*OauthProviderInfo { if x != nil { - return x.Init + return x.Data } - return false + return nil } -type OauthLoginReq struct { +type RoleListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + Data []*RoleInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } -func (x *OauthLoginReq) Reset() { - *x = OauthLoginReq{} +func (x *RoleListResp) Reset() { + *x = RoleListResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[26] + mi := &file_rpc_core_core_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *OauthLoginReq) String() string { +func (x *RoleListResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OauthLoginReq) ProtoMessage() {} +func (*RoleListResp) ProtoMessage() {} -func (x *OauthLoginReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[26] +func (x *RoleListResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2300,23 +2506,23 @@ func (x *OauthLoginReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OauthLoginReq.ProtoReflect.Descriptor instead. -func (*OauthLoginReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{26} +// Deprecated: Use RoleListResp.ProtoReflect.Descriptor instead. +func (*RoleListResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{29} } -func (x *OauthLoginReq) GetState() string { +func (x *RoleListResp) GetPage() *Pagination { if x != nil { - return x.State + return x.Page } - return "" + return nil } -func (x *OauthLoginReq) GetProvider() string { +func (x *RoleListResp) GetData() []*RoleInfo { if x != nil { - return x.Provider + return x.Data } - return "" + return nil } type TokenUserReq struct { @@ -2330,7 +2536,7 @@ type TokenUserReq struct { func (x *TokenUserReq) Reset() { *x = TokenUserReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[27] + mi := &file_rpc_core_core_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2343,7 +2549,7 @@ func (x *TokenUserReq) String() string { func (*TokenUserReq) ProtoMessage() {} func (x *TokenUserReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[27] + mi := &file_rpc_core_core_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2356,7 +2562,7 @@ func (x *TokenUserReq) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenUserReq.ProtoReflect.Descriptor instead. func (*TokenUserReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{27} + return file_rpc_core_core_proto_rawDescGZIP(), []int{30} } func (x *TokenUserReq) GetUserId() int64 { @@ -2366,37 +2572,31 @@ func (x *TokenUserReq) GetUserId() int64 { return 0 } -type TokenReq struct { +type IDReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` - PhoneNumber string `protobuf:"bytes,4,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` - Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"` - WithUser bool `protobuf:"varint,6,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` - Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` } -func (x *TokenReq) Reset() { - *x = TokenReq{} +func (x *IDReq) Reset() { + *x = IDReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[28] + mi := &file_rpc_core_core_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TokenReq) String() string { +func (x *IDReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TokenReq) ProtoMessage() {} +func (*IDReq) ProtoMessage() {} -func (x *TokenReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[28] +func (x *IDReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2407,146 +2607,97 @@ func (x *TokenReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TokenReq.ProtoReflect.Descriptor instead. -func (*TokenReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{28} +// Deprecated: Use IDReq.ProtoReflect.Descriptor instead. +func (*IDReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{31} } -func (x *TokenReq) GetID() int64 { +func (x *IDReq) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *TokenReq) GetUserId() int64 { - if x != nil { - return x.UserId - } - return 0 -} +type IDsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *TokenReq) GetUsername() string { - if x != nil { - return x.Username - } - return "" + Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` } -func (x *TokenReq) GetPhoneNumber() string { - if x != nil { - return x.PhoneNumber +func (x *IDsReq) Reset() { + *x = IDsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_core_core_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *TokenReq) GetEmail() string { - if x != nil { - return x.Email - } - return "" +func (x *IDsReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *TokenReq) GetWithUser() bool { - if x != nil { - return x.WithUser +func (*IDsReq) ProtoMessage() {} + +func (x *IDsReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -func (x *TokenReq) GetPage() *Pagination { - if x != nil { - return x.Page - } - return nil -} - -type TokenListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - Data []*TokenInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` -} - -func (x *TokenListResp) Reset() { - *x = TokenListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TokenListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokenListResp) ProtoMessage() {} - -func (x *TokenListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_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 TokenListResp.ProtoReflect.Descriptor instead. -func (*TokenListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{29} -} - -func (x *TokenListResp) GetPage() *Pagination { - if x != nil { - return x.Page - } - return nil +// Deprecated: Use IDsReq.ProtoReflect.Descriptor instead. +func (*IDsReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{32} } -func (x *TokenListResp) GetData() []*TokenInfo { +func (x *IDsReq) GetIds() []int64 { if x != nil { - return x.Data + return x.Ids } return nil } -type DictionaryDetailReq struct { +type DepartmentReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - ID int64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` - DictId int64 `protobuf:"varint,3,opt,name=dict_id,json=dictId,proto3" json:"dict_id,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Key string `protobuf:"bytes,5,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"` - WithDictionary bool `protobuf:"varint,7,opt,name=with_dictionary,json=withDictionary,proto3" json:"with_dictionary,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + LeaderId int64 `protobuf:"varint,3,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"` + ParentId int64 `protobuf:"varint,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` + WithLeader bool `protobuf:"varint,5,opt,name=with_leader,json=withLeader,proto3" json:"with_leader,omitempty"` + WithUser bool `protobuf:"varint,6,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` + WithChildren bool `protobuf:"varint,7,opt,name=with_children,json=withChildren,proto3" json:"with_children,omitempty"` + Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` } -func (x *DictionaryDetailReq) Reset() { - *x = DictionaryDetailReq{} +func (x *DepartmentReq) Reset() { + *x = DepartmentReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[30] + mi := &file_rpc_core_core_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DictionaryDetailReq) String() string { +func (x *DepartmentReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DictionaryDetailReq) ProtoMessage() {} +func (*DepartmentReq) ProtoMessage() {} -func (x *DictionaryDetailReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[30] +func (x *DepartmentReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2557,165 +2708,93 @@ func (x *DictionaryDetailReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DictionaryDetailReq.ProtoReflect.Descriptor instead. -func (*DictionaryDetailReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{30} -} - -func (x *DictionaryDetailReq) GetPage() *Pagination { - if x != nil { - return x.Page - } - return nil +// Deprecated: Use DepartmentReq.ProtoReflect.Descriptor instead. +func (*DepartmentReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{33} } -func (x *DictionaryDetailReq) GetID() int64 { +func (x *DepartmentReq) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *DictionaryDetailReq) GetDictId() int64 { - if x != nil { - return x.DictId - } - return 0 -} - -func (x *DictionaryDetailReq) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *DictionaryDetailReq) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *DictionaryDetailReq) GetValue() string { +func (x *DepartmentReq) GetName() string { if x != nil { - return x.Value + return x.Name } return "" } -func (x *DictionaryDetailReq) GetWithDictionary() bool { +func (x *DepartmentReq) GetLeaderId() int64 { if x != nil { - return x.WithDictionary - } - return false -} - -type DictionaryReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - WithDetails bool `protobuf:"varint,4,opt,name=with_details,json=withDetails,proto3" json:"with_details,omitempty"` - Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` -} - -func (x *DictionaryReq) Reset() { - *x = DictionaryReq{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DictionaryReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DictionaryReq) ProtoMessage() {} - -func (x *DictionaryReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms + return x.LeaderId } - return mi.MessageOf(x) -} - -// Deprecated: Use DictionaryReq.ProtoReflect.Descriptor instead. -func (*DictionaryReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{31} + return 0 } -func (x *DictionaryReq) GetID() int64 { +func (x *DepartmentReq) GetParentId() int64 { if x != nil { - return x.ID + return x.ParentId } return 0 } -func (x *DictionaryReq) GetName() string { +func (x *DepartmentReq) GetWithLeader() bool { if x != nil { - return x.Name + return x.WithLeader } - return "" + return false } -func (x *DictionaryReq) GetTitle() string { +func (x *DepartmentReq) GetWithUser() bool { if x != nil { - return x.Title + return x.WithUser } - return "" + return false } -func (x *DictionaryReq) GetWithDetails() bool { +func (x *DepartmentReq) GetWithChildren() bool { if x != nil { - return x.WithDetails + return x.WithChildren } return false } -func (x *DictionaryReq) GetPage() *Pagination { +func (x *DepartmentReq) GetPage() *Pagination { if x != nil { return x.Page } return nil } -type RoleListResp struct { +type DictionaryListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - Data []*RoleInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + Data []*DictionaryInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } -func (x *RoleListResp) Reset() { - *x = RoleListResp{} +func (x *DictionaryListResp) Reset() { + *x = DictionaryListResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[32] + mi := &file_rpc_core_core_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RoleListResp) String() string { +func (x *DictionaryListResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RoleListResp) ProtoMessage() {} +func (*DictionaryListResp) ProtoMessage() {} -func (x *RoleListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[32] +func (x *DictionaryListResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2726,63 +2805,58 @@ func (x *RoleListResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RoleListResp.ProtoReflect.Descriptor instead. -func (*RoleListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{32} +// Deprecated: Use DictionaryListResp.ProtoReflect.Descriptor instead. +func (*DictionaryListResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{34} } -func (x *RoleListResp) GetPage() *Pagination { +func (x *DictionaryListResp) GetPage() *Pagination { if x != nil { return x.Page } return nil } -func (x *RoleListResp) GetData() []*RoleInfo { +func (x *DictionaryListResp) GetData() []*DictionaryInfo { if x != nil { return x.Data } return nil } -type UserSocialInfo struct { +type UserSocialReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - CreatedAt string `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - UserId int64 `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Provider string `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"` - AccessToken string `protobuf:"bytes,6,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` - RefreshToken string `protobuf:"bytes,7,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` - Uid string `protobuf:"bytes,8,opt,name=uid,proto3" json:"uid,omitempty"` - OpenId string `protobuf:"bytes,9,opt,name=open_id,json=openId,proto3" json:"open_id,omitempty"` - UnionId string `protobuf:"bytes,10,opt,name=union_id,json=unionId,proto3" json:"union_id,omitempty"` - Key string `protobuf:"bytes,11,opt,name=key,proto3" json:"key,omitempty"` - ExpiresIn uint64 `protobuf:"varint,12,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` - UserProfile string `protobuf:"bytes,13,opt,name=user_profile,json=userProfile,proto3" json:"user_profile,omitempty"` - User *UserInfo `protobuf:"bytes,14,opt,name=user,proto3" json:"user,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + AccessToken string `protobuf:"bytes,4,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + Uid string `protobuf:"bytes,5,opt,name=uid,proto3" json:"uid,omitempty"` + OpenId string `protobuf:"bytes,6,opt,name=open_id,json=openId,proto3" json:"open_id,omitempty"` + UnionId string `protobuf:"bytes,7,opt,name=union_id,json=unionId,proto3" json:"union_id,omitempty"` + WithUser bool `protobuf:"varint,8,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` + Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` } -func (x *UserSocialInfo) Reset() { - *x = UserSocialInfo{} +func (x *UserSocialReq) Reset() { + *x = UserSocialReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[33] + mi := &file_rpc_core_core_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UserSocialInfo) String() string { +func (x *UserSocialReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UserSocialInfo) ProtoMessage() {} +func (*UserSocialReq) ProtoMessage() {} -func (x *UserSocialInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[33] +func (x *UserSocialReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2793,141 +2867,100 @@ func (x *UserSocialInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserSocialInfo.ProtoReflect.Descriptor instead. -func (*UserSocialInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{33} +// Deprecated: Use UserSocialReq.ProtoReflect.Descriptor instead. +func (*UserSocialReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{35} } -func (x *UserSocialInfo) GetID() int64 { +func (x *UserSocialReq) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *UserSocialInfo) GetCreatedAt() string { - if x != nil { - return x.CreatedAt - } - return "" -} - -func (x *UserSocialInfo) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt - } - return "" -} - -func (x *UserSocialInfo) GetUserId() int64 { +func (x *UserSocialReq) GetUserId() int64 { if x != nil { return x.UserId } return 0 } -func (x *UserSocialInfo) GetProvider() string { +func (x *UserSocialReq) GetProvider() string { if x != nil { return x.Provider } return "" } -func (x *UserSocialInfo) GetAccessToken() string { +func (x *UserSocialReq) GetAccessToken() string { if x != nil { return x.AccessToken } return "" } -func (x *UserSocialInfo) GetRefreshToken() string { - if x != nil { - return x.RefreshToken - } - return "" -} - -func (x *UserSocialInfo) GetUid() string { +func (x *UserSocialReq) GetUid() string { if x != nil { return x.Uid } return "" } -func (x *UserSocialInfo) GetOpenId() string { +func (x *UserSocialReq) GetOpenId() string { if x != nil { return x.OpenId } return "" } -func (x *UserSocialInfo) GetUnionId() string { +func (x *UserSocialReq) GetUnionId() string { if x != nil { return x.UnionId } return "" } -func (x *UserSocialInfo) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *UserSocialInfo) GetExpiresIn() uint64 { - if x != nil { - return x.ExpiresIn - } - return 0 -} - -func (x *UserSocialInfo) GetUserProfile() string { +func (x *UserSocialReq) GetWithUser() bool { if x != nil { - return x.UserProfile + return x.WithUser } - return "" + return false } -func (x *UserSocialInfo) GetUser() *UserInfo { +func (x *UserSocialReq) GetPage() *Pagination { if x != nil { - return x.User + return x.Page } return nil } -type DepartmentReq struct { +type DictionaryDetailListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - LeaderId int64 `protobuf:"varint,3,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"` - ParentId int64 `protobuf:"varint,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` - WithLeader bool `protobuf:"varint,5,opt,name=with_leader,json=withLeader,proto3" json:"with_leader,omitempty"` - WithUser bool `protobuf:"varint,6,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` - WithChildren bool `protobuf:"varint,7,opt,name=with_children,json=withChildren,proto3" json:"with_children,omitempty"` - Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` + Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` + Data []*DictionaryDetailInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } -func (x *DepartmentReq) Reset() { - *x = DepartmentReq{} +func (x *DictionaryDetailListResp) Reset() { + *x = DictionaryDetailListResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[34] + mi := &file_rpc_core_core_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DepartmentReq) String() string { +func (x *DictionaryDetailListResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DepartmentReq) ProtoMessage() {} +func (*DictionaryDetailListResp) ProtoMessage() {} -func (x *DepartmentReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[34] +func (x *DictionaryDetailListResp) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2938,95 +2971,58 @@ func (x *DepartmentReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DepartmentReq.ProtoReflect.Descriptor instead. -func (*DepartmentReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{34} -} - -func (x *DepartmentReq) GetID() int64 { - if x != nil { - return x.ID - } - return 0 -} - -func (x *DepartmentReq) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *DepartmentReq) GetLeaderId() int64 { - if x != nil { - return x.LeaderId - } - return 0 -} - -func (x *DepartmentReq) GetParentId() int64 { - if x != nil { - return x.ParentId - } - return 0 -} - -func (x *DepartmentReq) GetWithLeader() bool { - if x != nil { - return x.WithLeader - } - return false -} - -func (x *DepartmentReq) GetWithUser() bool { - if x != nil { - return x.WithUser - } - return false +// Deprecated: Use DictionaryDetailListResp.ProtoReflect.Descriptor instead. +func (*DictionaryDetailListResp) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{36} } -func (x *DepartmentReq) GetWithChildren() bool { +func (x *DictionaryDetailListResp) GetPage() *Pagination { if x != nil { - return x.WithChildren + return x.Page } - return false + return nil } -func (x *DepartmentReq) GetPage() *Pagination { +func (x *DictionaryDetailListResp) GetData() []*DictionaryDetailInfo { if x != nil { - return x.Page + return x.Data } return nil } -// 基础回执带ID -type BaseIDResp struct { +type LoginRecordInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` - Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + UserId int64 `protobuf:"varint,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + LastLoginAt string `protobuf:"bytes,6,opt,name=last_login_at,json=lastLoginAt,proto3" json:"last_login_at,omitempty"` + LastLoginIpv4 string `protobuf:"bytes,7,opt,name=last_login_ipv4,json=lastLoginIpv4,proto3" json:"last_login_ipv4,omitempty"` + LastLoginDevice string `protobuf:"bytes,8,opt,name=last_login_device,json=lastLoginDevice,proto3" json:"last_login_device,omitempty"` + LastLoginUa string `protobuf:"bytes,9,opt,name=last_login_ua,json=lastLoginUa,proto3" json:"last_login_ua,omitempty"` + LoginCount uint64 `protobuf:"varint,10,opt,name=login_count,json=loginCount,proto3" json:"login_count,omitempty"` } -func (x *BaseIDResp) Reset() { - *x = BaseIDResp{} +func (x *LoginRecordInfo) Reset() { + *x = LoginRecordInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[35] + mi := &file_rpc_core_core_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BaseIDResp) String() string { +func (x *LoginRecordInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BaseIDResp) ProtoMessage() {} +func (*LoginRecordInfo) ProtoMessage() {} -func (x *BaseIDResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[35] +func (x *LoginRecordInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3037,58 +3033,100 @@ func (x *BaseIDResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BaseIDResp.ProtoReflect.Descriptor instead. -func (*BaseIDResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{35} +// Deprecated: Use LoginRecordInfo.ProtoReflect.Descriptor instead. +func (*LoginRecordInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{37} } -func (x *BaseIDResp) GetID() int64 { +func (x *LoginRecordInfo) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *BaseIDResp) GetCode() int32 { +func (x *LoginRecordInfo) GetCreatedAt() string { if x != nil { - return x.Code + return x.CreatedAt + } + return "" +} + +func (x *LoginRecordInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *LoginRecordInfo) GetUserId() int64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *LoginRecordInfo) GetLastLoginAt() string { + if x != nil { + return x.LastLoginAt + } + return "" +} + +func (x *LoginRecordInfo) GetLastLoginIpv4() string { + if x != nil { + return x.LastLoginIpv4 + } + return "" +} + +func (x *LoginRecordInfo) GetLastLoginDevice() string { + if x != nil { + return x.LastLoginDevice + } + return "" +} + +func (x *LoginRecordInfo) GetLastLoginUa() string { + if x != nil { + return x.LastLoginUa } - return 0 + return "" } -func (x *BaseIDResp) GetMsg() string { +func (x *LoginRecordInfo) GetLoginCount() uint64 { if x != nil { - return x.Msg + return x.LoginCount } - return "" + return 0 } -type DictionaryListResp struct { +type OauthLoginReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"` - Data []*DictionaryInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` } -func (x *DictionaryListResp) Reset() { - *x = DictionaryListResp{} +func (x *OauthLoginReq) Reset() { + *x = OauthLoginReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[36] + mi := &file_rpc_core_core_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DictionaryListResp) String() string { +func (x *OauthLoginReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DictionaryListResp) ProtoMessage() {} +func (*OauthLoginReq) ProtoMessage() {} -func (x *DictionaryListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[36] +func (x *OauthLoginReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3099,64 +3137,59 @@ func (x *DictionaryListResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DictionaryListResp.ProtoReflect.Descriptor instead. -func (*DictionaryListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{36} +// Deprecated: Use OauthLoginReq.ProtoReflect.Descriptor instead. +func (*OauthLoginReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{38} } -func (x *DictionaryListResp) GetPage() *Pagination { +func (x *OauthLoginReq) GetState() string { if x != nil { - return x.Page + return x.State } - return nil + return "" } -func (x *DictionaryListResp) GetData() []*DictionaryInfo { +func (x *OauthLoginReq) GetProvider() string { if x != nil { - return x.Data + return x.Provider } - return nil + return "" } -// DistrictInfo 地址单体结构 -type DistrictInfo struct { +type TokenInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - CreatedAt string `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - ShortName string `protobuf:"bytes,5,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"` - Code string `protobuf:"bytes,6,opt,name=code,proto3" json:"code,omitempty"` - Province string `protobuf:"bytes,7,opt,name=province,proto3" json:"province,omitempty"` - City string `protobuf:"bytes,8,opt,name=city,proto3" json:"city,omitempty"` - Area string `protobuf:"bytes,9,opt,name=area,proto3" json:"area,omitempty"` - Street string `protobuf:"bytes,10,opt,name=street,proto3" json:"street,omitempty"` - Level uint32 `protobuf:"varint,11,opt,name=level,proto3" json:"level,omitempty"` - Latitude float64 `protobuf:"fixed64,12,opt,name=latitude,proto3" json:"latitude,omitempty"` - Longitude float64 `protobuf:"fixed64,13,opt,name=longitude,proto3" json:"longitude,omitempty"` - Children []*DistrictInfo `protobuf:"bytes,20,rep,name=children,proto3" json:"children,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + UserId int64 `protobuf:"varint,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + AccessToken string `protobuf:"bytes,6,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + RefreshToken string `protobuf:"bytes,7,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` + Source string `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` + ExpiredAt int64 `protobuf:"varint,9,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"` + User *UserInfo `protobuf:"bytes,10,opt,name=user,proto3" json:"user,omitempty"` } -func (x *DistrictInfo) Reset() { - *x = DistrictInfo{} +func (x *TokenInfo) Reset() { + *x = TokenInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[37] + mi := &file_rpc_core_core_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DistrictInfo) String() string { +func (x *TokenInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DistrictInfo) ProtoMessage() {} +func (*TokenInfo) ProtoMessage() {} -func (x *DistrictInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[37] +func (x *TokenInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3167,134 +3200,120 @@ func (x *DistrictInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DistrictInfo.ProtoReflect.Descriptor instead. -func (*DistrictInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{37} +// Deprecated: Use TokenInfo.ProtoReflect.Descriptor instead. +func (*TokenInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{39} } -func (x *DistrictInfo) GetID() int64 { +func (x *TokenInfo) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *DistrictInfo) GetCreatedAt() string { - if x != nil { - return x.CreatedAt - } - return "" -} - -func (x *DistrictInfo) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt - } - return "" -} - -func (x *DistrictInfo) GetName() string { +func (x *TokenInfo) GetStatus() string { if x != nil { - return x.Name + return x.Status } return "" } -func (x *DistrictInfo) GetShortName() string { +func (x *TokenInfo) GetCreatedAt() string { if x != nil { - return x.ShortName + return x.CreatedAt } return "" } -func (x *DistrictInfo) GetCode() string { +func (x *TokenInfo) GetUpdatedAt() string { if x != nil { - return x.Code + return x.UpdatedAt } return "" } -func (x *DistrictInfo) GetProvince() string { +func (x *TokenInfo) GetUserId() int64 { if x != nil { - return x.Province + return x.UserId } - return "" + return 0 } -func (x *DistrictInfo) GetCity() string { +func (x *TokenInfo) GetAccessToken() string { if x != nil { - return x.City + return x.AccessToken } return "" } -func (x *DistrictInfo) GetArea() string { +func (x *TokenInfo) GetRefreshToken() string { if x != nil { - return x.Area + return x.RefreshToken } return "" } -func (x *DistrictInfo) GetStreet() string { +func (x *TokenInfo) GetSource() string { if x != nil { - return x.Street + return x.Source } return "" } -func (x *DistrictInfo) GetLevel() uint32 { - if x != nil { - return x.Level - } - return 0 -} - -func (x *DistrictInfo) GetLatitude() float64 { - if x != nil { - return x.Latitude - } - return 0 -} - -func (x *DistrictInfo) GetLongitude() float64 { +func (x *TokenInfo) GetExpiredAt() int64 { if x != nil { - return x.Longitude + return x.ExpiredAt } return 0 } -func (x *DistrictInfo) GetChildren() []*DistrictInfo { +func (x *TokenInfo) GetUser() *UserInfo { if x != nil { - return x.Children + return x.User } return nil } -type DistrictTree struct { +type UserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tree []*DistrictInfo `protobuf:"bytes,1,rep,name=tree,proto3" json:"tree,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"` + PhoneNumber *string `protobuf:"bytes,6,opt,name=phone_number,json=phoneNumber,proto3,oneof" json:"phone_number,omitempty"` + Email *string `protobuf:"bytes,7,opt,name=email,proto3,oneof" json:"email,omitempty"` + Password string `protobuf:"bytes,8,opt,name=password,proto3" json:"password,omitempty"` + Nickname *string `protobuf:"bytes,9,opt,name=nickname,proto3,oneof" json:"nickname,omitempty"` + Metas map[string]string `protobuf:"bytes,10,rep,name=metas,proto3" json:"metas,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Roles []*RoleInfo `protobuf:"bytes,20,rep,name=roles,proto3" json:"roles,omitempty"` + Socials []*UserSocialInfo `protobuf:"bytes,21,rep,name=socials,proto3" json:"socials,omitempty"` + Departments []*DepartmentInfo `protobuf:"bytes,22,rep,name=departments,proto3" json:"departments,omitempty"` + Tokens []*TokenInfo `protobuf:"bytes,23,rep,name=tokens,proto3" json:"tokens,omitempty"` + LoginRecord *LoginRecordInfo `protobuf:"bytes,24,opt,name=login_record,json=loginRecord,proto3" json:"login_record,omitempty"` } -func (x *DistrictTree) Reset() { - *x = DistrictTree{} +func (x *UserInfo) Reset() { + *x = UserInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[38] + mi := &file_rpc_core_core_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DistrictTree) String() string { +func (x *UserInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DistrictTree) ProtoMessage() {} +func (*UserInfo) ProtoMessage() {} -func (x *DistrictTree) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[38] +func (x *UserInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3305,93 +3324,112 @@ func (x *DistrictTree) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DistrictTree.ProtoReflect.Descriptor instead. -func (*DistrictTree) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{38} +// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. +func (*UserInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{40} } -func (x *DistrictTree) GetTree() []*DistrictInfo { +func (x *UserInfo) GetID() int64 { if x != nil { - return x.Tree + return x.ID } - return nil + return 0 } -type RoleReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *UserInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` - WithUser bool `protobuf:"varint,4,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` - Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` +func (x *UserInfo) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" } -func (x *RoleReq) Reset() { - *x = RoleReq{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *UserInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt } + return "" } -func (x *RoleReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *UserInfo) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserInfo) GetPhoneNumber() string { + if x != nil && x.PhoneNumber != nil { + return *x.PhoneNumber + } + return "" +} + +func (x *UserInfo) GetEmail() string { + if x != nil && x.Email != nil { + return *x.Email + } + return "" } -func (*RoleReq) ProtoMessage() {} +func (x *UserInfo) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} -func (x *RoleReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *UserInfo) GetNickname() string { + if x != nil && x.Nickname != nil { + return *x.Nickname } - return mi.MessageOf(x) + return "" } -// Deprecated: Use RoleReq.ProtoReflect.Descriptor instead. -func (*RoleReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{39} +func (x *UserInfo) GetMetas() map[string]string { + if x != nil { + return x.Metas + } + return nil } -func (x *RoleReq) GetID() int64 { +func (x *UserInfo) GetRoles() []*RoleInfo { if x != nil { - return x.ID + return x.Roles } - return 0 + return nil } -func (x *RoleReq) GetName() string { +func (x *UserInfo) GetSocials() []*UserSocialInfo { if x != nil { - return x.Name + return x.Socials } - return "" + return nil } -func (x *RoleReq) GetCode() string { +func (x *UserInfo) GetDepartments() []*DepartmentInfo { if x != nil { - return x.Code + return x.Departments } - return "" + return nil } -func (x *RoleReq) GetWithUser() bool { +func (x *UserInfo) GetTokens() []*TokenInfo { if x != nil { - return x.WithUser + return x.Tokens } - return false + return nil } -func (x *RoleReq) GetPage() *Pagination { +func (x *UserInfo) GetLoginRecord() *LoginRecordInfo { if x != nil { - return x.Page + return x.LoginRecord } return nil } @@ -3408,7 +3446,7 @@ type UserListResp struct { func (x *UserListResp) Reset() { *x = UserListResp{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[40] + mi := &file_rpc_core_core_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3421,7 +3459,7 @@ func (x *UserListResp) String() string { func (*UserListResp) ProtoMessage() {} func (x *UserListResp) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[40] + mi := &file_rpc_core_core_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3434,7 +3472,7 @@ func (x *UserListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UserListResp.ProtoReflect.Descriptor instead. func (*UserListResp) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{40} + return file_rpc_core_core_proto_rawDescGZIP(), []int{41} } func (x *UserListResp) GetPage() *Pagination { @@ -3451,31 +3489,34 @@ func (x *UserListResp) GetData() []*UserInfo { return nil } -type IDsReq struct { +// 分页参数 +type Pagination struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` + Total uint64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + Current uint64 `protobuf:"varint,3,opt,name=current,proto3" json:"current,omitempty"` } -func (x *IDsReq) Reset() { - *x = IDsReq{} +func (x *Pagination) Reset() { + *x = Pagination{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[41] + mi := &file_rpc_core_core_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *IDsReq) String() string { +func (x *Pagination) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IDsReq) ProtoMessage() {} +func (*Pagination) ProtoMessage() {} -func (x *IDsReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[41] +func (x *Pagination) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3486,43 +3527,57 @@ func (x *IDsReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IDsReq.ProtoReflect.Descriptor instead. -func (*IDsReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{41} +// Deprecated: Use Pagination.ProtoReflect.Descriptor instead. +func (*Pagination) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{42} } -func (x *IDsReq) GetIds() []int64 { +func (x *Pagination) GetSize() uint64 { if x != nil { - return x.Ids + return x.Size } - return nil + return 0 } -type IDReq struct { +func (x *Pagination) GetTotal() uint64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *Pagination) GetCurrent() uint64 { + if x != nil { + return x.Current + } + return 0 +} + +type DistrictCodeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` } -func (x *IDReq) Reset() { - *x = IDReq{} +func (x *DistrictCodeReq) Reset() { + *x = DistrictCodeReq{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[42] + mi := &file_rpc_core_core_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *IDReq) String() string { +func (x *DistrictCodeReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IDReq) ProtoMessage() {} +func (*DistrictCodeReq) ProtoMessage() {} -func (x *IDReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[42] +func (x *DistrictCodeReq) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3533,50 +3588,56 @@ func (x *IDReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IDReq.ProtoReflect.Descriptor instead. -func (*IDReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{42} +// Deprecated: Use DistrictCodeReq.ProtoReflect.Descriptor instead. +func (*DistrictCodeReq) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{43} } -func (x *IDReq) GetID() int64 { +func (x *DistrictCodeReq) GetCode() string { if x != nil { - return x.ID + return x.Code } - return 0 + return "" } -type RoleInfo struct { +type OauthProviderInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedAt string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - Code string `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"` - Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` - Users []*UserInfo `protobuf:"bytes,10,rep,name=users,proto3" json:"users,omitempty"` + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CreatedAt string `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + ClientId string `protobuf:"bytes,5,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,6,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + RedirectUrl string `protobuf:"bytes,7,opt,name=redirect_url,json=redirectUrl,proto3" json:"redirect_url,omitempty"` + Scopes string `protobuf:"bytes,8,opt,name=scopes,proto3" json:"scopes,omitempty"` + AuthUrl string `protobuf:"bytes,9,opt,name=auth_url,json=authUrl,proto3" json:"auth_url,omitempty"` + TokenUrl string `protobuf:"bytes,10,opt,name=token_url,json=tokenUrl,proto3" json:"token_url,omitempty"` + InfoUrl string `protobuf:"bytes,11,opt,name=info_url,json=infoUrl,proto3" json:"info_url,omitempty"` + Description string `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"` + System bool `protobuf:"varint,13,opt,name=system,proto3" json:"system,omitempty"` + Init bool `protobuf:"varint,14,opt,name=init,proto3" json:"init,omitempty"` } -func (x *RoleInfo) Reset() { - *x = RoleInfo{} +func (x *OauthProviderInfo) Reset() { + *x = OauthProviderInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[43] + mi := &file_rpc_core_core_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RoleInfo) String() string { +func (x *OauthProviderInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RoleInfo) ProtoMessage() {} +func (*OauthProviderInfo) ProtoMessage() {} -func (x *RoleInfo) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[43] +func (x *OauthProviderInfo) ProtoReflect() protoreflect.Message { + mi := &file_rpc_core_core_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3587,187 +3648,119 @@ func (x *RoleInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RoleInfo.ProtoReflect.Descriptor instead. -func (*RoleInfo) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{43} +// Deprecated: Use OauthProviderInfo.ProtoReflect.Descriptor instead. +func (*OauthProviderInfo) Descriptor() ([]byte, []int) { + return file_rpc_core_core_proto_rawDescGZIP(), []int{44} } -func (x *RoleInfo) GetID() int64 { +func (x *OauthProviderInfo) GetID() int64 { if x != nil { return x.ID } return 0 } -func (x *RoleInfo) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *RoleInfo) GetCreatedAt() string { +func (x *OauthProviderInfo) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } -func (x *RoleInfo) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt - } - return "" -} - -func (x *RoleInfo) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *RoleInfo) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *RoleInfo) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *RoleInfo) GetUsers() []*UserInfo { +func (x *OauthProviderInfo) GetUpdatedAt() string { if x != nil { - return x.Users - } - return nil -} - -type UserSocialReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - AccessToken string `protobuf:"bytes,4,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` - Uid string `protobuf:"bytes,5,opt,name=uid,proto3" json:"uid,omitempty"` - OpenId string `protobuf:"bytes,6,opt,name=open_id,json=openId,proto3" json:"open_id,omitempty"` - UnionId string `protobuf:"bytes,7,opt,name=union_id,json=unionId,proto3" json:"union_id,omitempty"` - WithUser bool `protobuf:"varint,8,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"` - Page *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"` -} - -func (x *UserSocialReq) Reset() { - *x = UserSocialReq{} - if protoimpl.UnsafeEnabled { - mi := &file_rpc_core_core_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserSocialReq) String() string { - return protoimpl.X.MessageStringOf(x) + return x.UpdatedAt + } + return "" } -func (*UserSocialReq) ProtoMessage() {} - -func (x *UserSocialReq) ProtoReflect() protoreflect.Message { - mi := &file_rpc_core_core_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *OauthProviderInfo) GetName() string { + if x != nil { + return x.Name } - return mi.MessageOf(x) + return "" } -// Deprecated: Use UserSocialReq.ProtoReflect.Descriptor instead. -func (*UserSocialReq) Descriptor() ([]byte, []int) { - return file_rpc_core_core_proto_rawDescGZIP(), []int{44} +func (x *OauthProviderInfo) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" } -func (x *UserSocialReq) GetID() int64 { +func (x *OauthProviderInfo) GetClientSecret() string { if x != nil { - return x.ID + return x.ClientSecret } - return 0 + return "" } -func (x *UserSocialReq) GetUserId() int64 { +func (x *OauthProviderInfo) GetRedirectUrl() string { if x != nil { - return x.UserId + return x.RedirectUrl } - return 0 + return "" } -func (x *UserSocialReq) GetProvider() string { +func (x *OauthProviderInfo) GetScopes() string { if x != nil { - return x.Provider + return x.Scopes } return "" } -func (x *UserSocialReq) GetAccessToken() string { +func (x *OauthProviderInfo) GetAuthUrl() string { if x != nil { - return x.AccessToken + return x.AuthUrl } return "" } -func (x *UserSocialReq) GetUid() string { +func (x *OauthProviderInfo) GetTokenUrl() string { if x != nil { - return x.Uid + return x.TokenUrl } return "" } -func (x *UserSocialReq) GetOpenId() string { +func (x *OauthProviderInfo) GetInfoUrl() string { if x != nil { - return x.OpenId + return x.InfoUrl } return "" } -func (x *UserSocialReq) GetUnionId() string { +func (x *OauthProviderInfo) GetDescription() string { if x != nil { - return x.UnionId + return x.Description } return "" } -func (x *UserSocialReq) GetWithUser() bool { +func (x *OauthProviderInfo) GetSystem() bool { if x != nil { - return x.WithUser + return x.System } return false } -func (x *UserSocialReq) GetPage() *Pagination { +func (x *OauthProviderInfo) GetInit() bool { if x != nil { - return x.Page + return x.Init } - return nil + return false } -// Base message -type Empty struct { +type OauthRedirectResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` } -func (x *Empty) Reset() { - *x = Empty{} +func (x *OauthRedirectResp) Reset() { + *x = OauthRedirectResp{} if protoimpl.UnsafeEnabled { mi := &file_rpc_core_core_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3775,13 +3768,13 @@ func (x *Empty) Reset() { } } -func (x *Empty) String() string { +func (x *OauthRedirectResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Empty) ProtoMessage() {} +func (*OauthRedirectResp) ProtoMessage() {} -func (x *Empty) ProtoReflect() protoreflect.Message { +func (x *OauthRedirectResp) ProtoReflect() protoreflect.Message { mi := &file_rpc_core_core_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3793,403 +3786,342 @@ func (x *Empty) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Empty.ProtoReflect.Descriptor instead. -func (*Empty) Descriptor() ([]byte, []int) { +// Deprecated: Use OauthRedirectResp.ProtoReflect.Descriptor instead. +func (*OauthRedirectResp) Descriptor() ([]byte, []int) { return file_rpc_core_core_proto_rawDescGZIP(), []int{45} } +func (x *OauthRedirectResp) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + var File_rpc_core_core_proto protoreflect.FileDescriptor var file_rpc_core_core_proto_rawDesc = []byte{ 0x0a, 0x13, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x8a, 0x03, 0x0a, 0x0e, - 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x72, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x12, 0x26, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x46, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x69, 0x63, 0x74, 0x49, 0x64, - 0x22, 0x72, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x08, 0x42, + 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x36, 0x0a, + 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x26, 0x0a, + 0x04, 0x74, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x74, 0x72, 0x65, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x07, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, + 0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, + 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x22, 0x30, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x5a, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x24, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, - 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x15, 0x4f, 0x61, 0x75, 0x74, - 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x22, 0xad, 0x02, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x08, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x44, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xa0, + 0x01, 0x0a, 0x0d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x22, 0xf0, 0x02, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, - 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x68, - 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x27, 0x0a, - 0x0f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x44, 0x65, 0x70, 0x61, - 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6c, 0x6f, - 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x5e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, - 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x44, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x6e, 0x0a, 0x10, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x4f, 0x61, - 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, - 0x69, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x04, 0x69, 0x6e, - 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x69, 0x6e, 0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x37, 0x0a, - 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x25, 0x0a, 0x11, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x52, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x90, 0x05, - 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, - 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x6e, - 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, - 0x6d, 0x65, 0x74, 0x61, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x12, 0x24, 0x0a, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x15, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x6c, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, - 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x38, - 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x68, 0x6f, - 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x60, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, - 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, - 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x73, 0x22, 0xf8, 0x01, 0x0a, 0x0e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa9, 0x02, - 0x0a, 0x14, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, - 0x79, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, - 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x22, 0xb4, 0x02, 0x0a, 0x0b, 0x44, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, - 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, - 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x36, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x63, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x22, 0x25, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x50, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x22, 0x46, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x10, + 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x64, 0x69, 0x63, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x74, - 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x69, - 0x70, 0x76, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x5f, 0x75, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, - 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, - 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, - 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x93, 0x03, 0x0a, 0x11, 0x4f, 0x61, - 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, + 0x72, 0x22, 0x37, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x52, + 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x55, 0x72, - 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x22, - 0x41, 0x0a, 0x0d, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x22, 0x27, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x08, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x99, 0x03, + 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, + 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, + 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, + 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, + 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x8a, 0x03, 0x0a, 0x0e, 0x44, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, + 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x26, + 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, + 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xff, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x61, 0x72, 0x65, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, + 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, + 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x72, 0x65, 0x6e, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x6e, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x24, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x60, + 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, + 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, + 0x22, 0xb4, 0x02, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, + 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x4f, 0x61, 0x75, 0x74, + 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x6e, + 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x68, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x69, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x77, - 0x69, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x72, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xa0, 0x01, - 0x0a, 0x0d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x77, 0x69, 0x74, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x04, - 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, + 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x6e, + 0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x68, 0x0a, 0x0d, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, - 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x22, 0x66, 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, + 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x52, 0x6f, 0x6c, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x44, + 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, + 0x69, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x99, 0x03, 0x0a, 0x0e, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, - 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, - 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x21, 0x0a, - 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x22, 0x84, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, + 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x64, + 0x69, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x69, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x69, 0x74, + 0x68, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x22, 0x5a, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x5e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x42, 0x0a, 0x0a, 0x42, 0x61, 0x73, + 0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf8, 0x01, + 0x0a, 0x0e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa9, 0x02, 0x0a, 0x14, 0x44, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, + 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0c, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x12, 0x34, + 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x72, 0x79, 0x22, 0x78, 0x0a, 0x15, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x61, + 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x66, + 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, + 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x27, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, + 0x17, 0x0a, 0x05, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x22, 0x1a, 0x0a, 0x06, 0x49, 0x44, 0x73, 0x52, + 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x03, 0x69, 0x64, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, @@ -4205,97 +4137,165 @@ var file_rpc_core_core_proto_rawDesc = []byte{ 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x42, 0x0a, 0x0a, 0x42, - 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x72, 0x0a, 0x12, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x22, 0xff, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x44, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, + 0x8e, 0x02, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, + 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, + 0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6f, + 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x22, 0x7e, 0x0a, 0x18, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, - 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, - 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, - 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, - 0x6e, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x36, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x74, 0x72, 0x65, 0x65, 0x22, 0x92, 0x01, - 0x0a, 0x07, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, - 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x22, 0x66, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x1a, 0x0a, 0x06, 0x49, 0x44, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x17, 0x0a, 0x05, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x22, - 0xe0, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, - 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x2a, 0x97, 0x01, 0x0a, + 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12, + 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x70, + 0x76, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, + 0x67, 0x69, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, + 0x6e, 0x5f, 0x75, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x6f, + 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x41, 0x0a, 0x0d, 0x4f, 0x61, 0x75, 0x74, + 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xad, 0x02, 0x0a, 0x09, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x90, 0x05, 0x0a, 0x08, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x68, + 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x6e, 0x69, 0x63, + 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x6e, + 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, 0x6d, 0x65, + 0x74, 0x61, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, + 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x38, 0x0a, 0x0a, + 0x4d, 0x65, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66, + 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x50, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x25, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, + 0x93, 0x03, 0x0a, 0x11, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, + 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x69, 0x6e, 0x66, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x69, 0x6e, 0x69, 0x74, 0x22, 0x25, 0x0a, 0x11, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x52, 0x65, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x2a, 0x97, 0x01, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x45, 0x51, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x10, 0x03, 0x12, 0x06, 0x0a, @@ -4472,16 +4472,16 @@ var file_rpc_core_core_proto_rawDesc = []byte{ 0x6f, 0x12, 0x2a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, - 0x0c, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x11, 0x2e, + 0x0c, 0x75, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x33, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x52, 0x6f, + 0x12, 0x33, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x65, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0b, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, + 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, @@ -4524,209 +4524,209 @@ var file_rpc_core_core_proto_msgTypes = make([]protoimpl.MessageInfo, 47) var file_rpc_core_core_proto_goTypes = []interface{}{ (Operator)(0), // 0: core.Operator (DistrictQueryType)(0), // 1: core.DistrictQueryType - (*DepartmentInfo)(nil), // 2: core.DepartmentInfo - (*DeleteDictionaryDetailReq)(nil), // 3: core.DeleteDictionaryDetailReq - (*UserSocialListResp)(nil), // 4: core.UserSocialListResp - (*BaseResp)(nil), // 5: core.BaseResp - (*GetDistrictNameResp)(nil), // 6: core.GetDistrictNameResp - (*RecordReq)(nil), // 7: core.RecordReq - (*OauthProviderListResp)(nil), // 8: core.OauthProviderListResp - (*TokenInfo)(nil), // 9: core.TokenInfo - (*UserReq)(nil), // 10: core.UserReq - (*GetUserRolesReq)(nil), // 11: core.GetUserRolesReq - (*DepartmentListResp)(nil), // 12: core.DepartmentListResp - (*DictionaryDetailListResp)(nil), // 13: core.DictionaryDetailListResp - (*DistrictListResp)(nil), // 14: core.DistrictListResp - (*OauthProviderReq)(nil), // 15: core.OauthProviderReq - (*CallbackReq)(nil), // 16: core.CallbackReq - (*OauthRedirectResp)(nil), // 17: core.OauthRedirectResp - (*UserInfo)(nil), // 18: core.UserInfo - (*UserRoleReq)(nil), // 19: core.UserRoleReq - (*DictionaryInfo)(nil), // 20: core.DictionaryInfo - (*DictionaryDetailInfo)(nil), // 21: core.DictionaryDetailInfo - (*DistrictReq)(nil), // 22: core.DistrictReq - (*DistrictCodeReq)(nil), // 23: core.DistrictCodeReq - (*Pagination)(nil), // 24: core.Pagination - (*GetDistrictNameReq)(nil), // 25: core.GetDistrictNameReq - (*LoginRecordInfo)(nil), // 26: core.LoginRecordInfo - (*OauthProviderInfo)(nil), // 27: core.OauthProviderInfo - (*OauthLoginReq)(nil), // 28: core.OauthLoginReq - (*TokenUserReq)(nil), // 29: core.TokenUserReq - (*TokenReq)(nil), // 30: core.TokenReq - (*TokenListResp)(nil), // 31: core.TokenListResp - (*DictionaryDetailReq)(nil), // 32: core.DictionaryDetailReq - (*DictionaryReq)(nil), // 33: core.DictionaryReq - (*RoleListResp)(nil), // 34: core.RoleListResp - (*UserSocialInfo)(nil), // 35: core.UserSocialInfo - (*DepartmentReq)(nil), // 36: core.DepartmentReq - (*BaseIDResp)(nil), // 37: core.BaseIDResp - (*DictionaryListResp)(nil), // 38: core.DictionaryListResp - (*DistrictInfo)(nil), // 39: core.DistrictInfo - (*DistrictTree)(nil), // 40: core.DistrictTree - (*RoleReq)(nil), // 41: core.RoleReq - (*UserListResp)(nil), // 42: core.UserListResp - (*IDsReq)(nil), // 43: core.IDsReq - (*IDReq)(nil), // 44: core.IDReq - (*RoleInfo)(nil), // 45: core.RoleInfo - (*UserSocialReq)(nil), // 46: core.UserSocialReq - (*Empty)(nil), // 47: core.Empty + (*BaseResp)(nil), // 2: core.BaseResp + (*DistrictTree)(nil), // 3: core.DistrictTree + (*RoleReq)(nil), // 4: core.RoleReq + (*TokenReq)(nil), // 5: core.TokenReq + (*UserSocialListResp)(nil), // 6: core.UserSocialListResp + (*DepartmentListResp)(nil), // 7: core.DepartmentListResp + (*DictionaryReq)(nil), // 8: core.DictionaryReq + (*DeleteDictionaryDetailReq)(nil), // 9: core.DeleteDictionaryDetailReq + (*GetDistrictNameReq)(nil), // 10: core.GetDistrictNameReq + (*CallbackReq)(nil), // 11: core.CallbackReq + (*RoleInfo)(nil), // 12: core.RoleInfo + (*UserSocialInfo)(nil), // 13: core.UserSocialInfo + (*DepartmentInfo)(nil), // 14: core.DepartmentInfo + (*DistrictInfo)(nil), // 15: core.DistrictInfo + (*DistrictListResp)(nil), // 16: core.DistrictListResp + (*RecordReq)(nil), // 17: core.RecordReq + (*UserRoleReq)(nil), // 18: core.UserRoleReq + (*DistrictReq)(nil), // 19: core.DistrictReq + (*OauthProviderReq)(nil), // 20: core.OauthProviderReq + (*TokenListResp)(nil), // 21: core.TokenListResp + (*UserReq)(nil), // 22: core.UserReq + (*DictionaryDetailReq)(nil), // 23: core.DictionaryDetailReq + (*GetDistrictNameResp)(nil), // 24: core.GetDistrictNameResp + (*GetUserRolesReq)(nil), // 25: core.GetUserRolesReq + (*Empty)(nil), // 26: core.Empty + (*BaseIDResp)(nil), // 27: core.BaseIDResp + (*DictionaryInfo)(nil), // 28: core.DictionaryInfo + (*DictionaryDetailInfo)(nil), // 29: core.DictionaryDetailInfo + (*OauthProviderListResp)(nil), // 30: core.OauthProviderListResp + (*RoleListResp)(nil), // 31: core.RoleListResp + (*TokenUserReq)(nil), // 32: core.TokenUserReq + (*IDReq)(nil), // 33: core.IDReq + (*IDsReq)(nil), // 34: core.IDsReq + (*DepartmentReq)(nil), // 35: core.DepartmentReq + (*DictionaryListResp)(nil), // 36: core.DictionaryListResp + (*UserSocialReq)(nil), // 37: core.UserSocialReq + (*DictionaryDetailListResp)(nil), // 38: core.DictionaryDetailListResp + (*LoginRecordInfo)(nil), // 39: core.LoginRecordInfo + (*OauthLoginReq)(nil), // 40: core.OauthLoginReq + (*TokenInfo)(nil), // 41: core.TokenInfo + (*UserInfo)(nil), // 42: core.UserInfo + (*UserListResp)(nil), // 43: core.UserListResp + (*Pagination)(nil), // 44: core.Pagination + (*DistrictCodeReq)(nil), // 45: core.DistrictCodeReq + (*OauthProviderInfo)(nil), // 46: core.OauthProviderInfo + (*OauthRedirectResp)(nil), // 47: core.OauthRedirectResp nil, // 48: core.UserInfo.MetasEntry } var file_rpc_core_core_proto_depIdxs = []int32{ - 2, // 0: core.DepartmentInfo.parent:type_name -> core.DepartmentInfo - 2, // 1: core.DepartmentInfo.children:type_name -> core.DepartmentInfo - 18, // 2: core.DepartmentInfo.users:type_name -> core.UserInfo - 18, // 3: core.DepartmentInfo.leader:type_name -> core.UserInfo - 24, // 4: core.UserSocialListResp.page:type_name -> core.Pagination - 35, // 5: core.UserSocialListResp.data:type_name -> core.UserSocialInfo - 24, // 6: core.OauthProviderListResp.page:type_name -> core.Pagination - 27, // 7: core.OauthProviderListResp.data:type_name -> core.OauthProviderInfo - 18, // 8: core.TokenInfo.user:type_name -> core.UserInfo - 24, // 9: core.UserReq.page:type_name -> core.Pagination - 24, // 10: core.GetUserRolesReq.page:type_name -> core.Pagination - 24, // 11: core.DepartmentListResp.page:type_name -> core.Pagination - 2, // 12: core.DepartmentListResp.data:type_name -> core.DepartmentInfo - 24, // 13: core.DictionaryDetailListResp.page:type_name -> core.Pagination - 21, // 14: core.DictionaryDetailListResp.data:type_name -> core.DictionaryDetailInfo - 24, // 15: core.DistrictListResp.page:type_name -> core.Pagination - 39, // 16: core.DistrictListResp.data:type_name -> core.DistrictInfo - 24, // 17: core.OauthProviderReq.page:type_name -> core.Pagination - 48, // 18: core.UserInfo.metas:type_name -> core.UserInfo.MetasEntry - 45, // 19: core.UserInfo.roles:type_name -> core.RoleInfo - 35, // 20: core.UserInfo.socials:type_name -> core.UserSocialInfo - 2, // 21: core.UserInfo.departments:type_name -> core.DepartmentInfo - 9, // 22: core.UserInfo.tokens:type_name -> core.TokenInfo - 26, // 23: core.UserInfo.login_record:type_name -> core.LoginRecordInfo - 21, // 24: core.DictionaryInfo.details:type_name -> core.DictionaryDetailInfo - 20, // 25: core.DictionaryDetailInfo.dictionary:type_name -> core.DictionaryInfo - 24, // 26: core.DistrictReq.page:type_name -> core.Pagination - 1, // 27: core.DistrictReq.query_type:type_name -> core.DistrictQueryType - 24, // 28: core.TokenReq.page:type_name -> core.Pagination - 24, // 29: core.TokenListResp.page:type_name -> core.Pagination - 9, // 30: core.TokenListResp.data:type_name -> core.TokenInfo - 24, // 31: core.DictionaryDetailReq.page:type_name -> core.Pagination - 24, // 32: core.DictionaryReq.page:type_name -> core.Pagination - 24, // 33: core.RoleListResp.page:type_name -> core.Pagination - 45, // 34: core.RoleListResp.data:type_name -> core.RoleInfo - 18, // 35: core.UserSocialInfo.user:type_name -> core.UserInfo - 24, // 36: core.DepartmentReq.page:type_name -> core.Pagination - 24, // 37: core.DictionaryListResp.page:type_name -> core.Pagination - 20, // 38: core.DictionaryListResp.data:type_name -> core.DictionaryInfo - 39, // 39: core.DistrictInfo.children:type_name -> core.DistrictInfo - 39, // 40: core.DistrictTree.tree:type_name -> core.DistrictInfo - 24, // 41: core.RoleReq.page:type_name -> core.Pagination - 24, // 42: core.UserListResp.page:type_name -> core.Pagination - 18, // 43: core.UserListResp.data:type_name -> core.UserInfo - 18, // 44: core.RoleInfo.users:type_name -> core.UserInfo - 24, // 45: core.UserSocialReq.page:type_name -> core.Pagination - 47, // 46: core.Core.initDatabase:input_type -> core.Empty - 2, // 47: core.Core.createDepartment:input_type -> core.DepartmentInfo - 2, // 48: core.Core.updateDepartment:input_type -> core.DepartmentInfo - 36, // 49: core.Core.getDepartmentList:input_type -> core.DepartmentReq - 36, // 50: core.Core.getDepartment:input_type -> core.DepartmentReq - 43, // 51: core.Core.deleteDepartment:input_type -> core.IDsReq - 20, // 52: core.Core.createDictionary:input_type -> core.DictionaryInfo - 20, // 53: core.Core.updateDictionary:input_type -> core.DictionaryInfo - 33, // 54: core.Core.getDictionaryList:input_type -> core.DictionaryReq - 33, // 55: core.Core.getDictionary:input_type -> core.DictionaryReq - 43, // 56: core.Core.deleteDictionary:input_type -> core.IDsReq - 21, // 57: core.Core.createDictionaryDetail:input_type -> core.DictionaryDetailInfo - 21, // 58: core.Core.updateDictionaryDetail:input_type -> core.DictionaryDetailInfo - 32, // 59: core.Core.getDictionaryDetailList:input_type -> core.DictionaryDetailReq - 32, // 60: core.Core.getDictionaryDetail:input_type -> core.DictionaryDetailReq - 3, // 61: core.Core.deleteDictionaryDetail:input_type -> core.DeleteDictionaryDetailReq - 23, // 62: core.Core.getDistrict:input_type -> core.DistrictCodeReq - 22, // 63: core.Core.getDistrictList:input_type -> core.DistrictReq - 23, // 64: core.Core.getDistrictTree:input_type -> core.DistrictCodeReq - 25, // 65: core.Core.getDistrictName:input_type -> core.GetDistrictNameReq - 7, // 66: core.Core.getRecord:input_type -> core.RecordReq - 26, // 67: core.Core.record:input_type -> core.LoginRecordInfo - 27, // 68: core.Core.createOauthProvider:input_type -> core.OauthProviderInfo - 27, // 69: core.Core.updateOauthProvider:input_type -> core.OauthProviderInfo - 15, // 70: core.Core.getOauthProviderList:input_type -> core.OauthProviderReq - 15, // 71: core.Core.getOauthProvider:input_type -> core.OauthProviderReq - 43, // 72: core.Core.deleteOauthProvider:input_type -> core.IDsReq - 28, // 73: core.Core.oauthLogin:input_type -> core.OauthLoginReq - 16, // 74: core.Core.oauthCallback:input_type -> core.CallbackReq - 45, // 75: core.Core.createRole:input_type -> core.RoleInfo - 45, // 76: core.Core.updateRole:input_type -> core.RoleInfo - 41, // 77: core.Core.getRoleList:input_type -> core.RoleReq - 41, // 78: core.Core.getRole:input_type -> core.RoleReq - 43, // 79: core.Core.deleteRole:input_type -> core.IDsReq - 9, // 80: core.Core.createToken:input_type -> core.TokenInfo - 9, // 81: core.Core.updateToken:input_type -> core.TokenInfo - 30, // 82: core.Core.getTokenList:input_type -> core.TokenReq - 30, // 83: core.Core.getToken:input_type -> core.TokenReq - 43, // 84: core.Core.deleteToken:input_type -> core.IDsReq - 29, // 85: core.Core.blockUserAllToken:input_type -> core.TokenUserReq - 18, // 86: core.Core.createUser:input_type -> core.UserInfo - 18, // 87: core.Core.updateUser:input_type -> core.UserInfo - 10, // 88: core.Core.getUserList:input_type -> core.UserReq - 10, // 89: core.Core.getUser:input_type -> core.UserReq - 43, // 90: core.Core.deleteUser:input_type -> core.IDsReq - 19, // 91: core.Core.UserBindRole:input_type -> core.UserRoleReq - 19, // 92: core.Core.UserUnbindRole:input_type -> core.UserRoleReq - 44, // 93: core.Core.UserClearRole:input_type -> core.IDReq - 11, // 94: core.Core.GetUserRoles:input_type -> core.GetUserRolesReq - 35, // 95: core.Core.createUserSocial:input_type -> core.UserSocialInfo - 35, // 96: core.Core.updateUserSocial:input_type -> core.UserSocialInfo - 46, // 97: core.Core.getUserSocialList:input_type -> core.UserSocialReq - 46, // 98: core.Core.getUserSocial:input_type -> core.UserSocialReq - 43, // 99: core.Core.deleteUserSocial:input_type -> core.IDsReq - 5, // 100: core.Core.initDatabase:output_type -> core.BaseResp - 37, // 101: core.Core.createDepartment:output_type -> core.BaseIDResp - 5, // 102: core.Core.updateDepartment:output_type -> core.BaseResp - 12, // 103: core.Core.getDepartmentList:output_type -> core.DepartmentListResp - 2, // 104: core.Core.getDepartment:output_type -> core.DepartmentInfo - 5, // 105: core.Core.deleteDepartment:output_type -> core.BaseResp - 37, // 106: core.Core.createDictionary:output_type -> core.BaseIDResp - 5, // 107: core.Core.updateDictionary:output_type -> core.BaseResp - 38, // 108: core.Core.getDictionaryList:output_type -> core.DictionaryListResp - 20, // 109: core.Core.getDictionary:output_type -> core.DictionaryInfo - 5, // 110: core.Core.deleteDictionary:output_type -> core.BaseResp - 37, // 111: core.Core.createDictionaryDetail:output_type -> core.BaseIDResp - 5, // 112: core.Core.updateDictionaryDetail:output_type -> core.BaseResp - 13, // 113: core.Core.getDictionaryDetailList:output_type -> core.DictionaryDetailListResp - 21, // 114: core.Core.getDictionaryDetail:output_type -> core.DictionaryDetailInfo - 5, // 115: core.Core.deleteDictionaryDetail:output_type -> core.BaseResp - 39, // 116: core.Core.getDistrict:output_type -> core.DistrictInfo - 14, // 117: core.Core.getDistrictList:output_type -> core.DistrictListResp - 40, // 118: core.Core.getDistrictTree:output_type -> core.DistrictTree - 6, // 119: core.Core.getDistrictName:output_type -> core.GetDistrictNameResp - 26, // 120: core.Core.getRecord:output_type -> core.LoginRecordInfo - 5, // 121: core.Core.record:output_type -> core.BaseResp - 37, // 122: core.Core.createOauthProvider:output_type -> core.BaseIDResp - 5, // 123: core.Core.updateOauthProvider:output_type -> core.BaseResp - 8, // 124: core.Core.getOauthProviderList:output_type -> core.OauthProviderListResp - 27, // 125: core.Core.getOauthProvider:output_type -> core.OauthProviderInfo - 5, // 126: core.Core.deleteOauthProvider:output_type -> core.BaseResp - 17, // 127: core.Core.oauthLogin:output_type -> core.OauthRedirectResp - 18, // 128: core.Core.oauthCallback:output_type -> core.UserInfo - 37, // 129: core.Core.createRole:output_type -> core.BaseIDResp - 5, // 130: core.Core.updateRole:output_type -> core.BaseResp - 34, // 131: core.Core.getRoleList:output_type -> core.RoleListResp - 45, // 132: core.Core.getRole:output_type -> core.RoleInfo - 5, // 133: core.Core.deleteRole:output_type -> core.BaseResp - 37, // 134: core.Core.createToken:output_type -> core.BaseIDResp - 5, // 135: core.Core.updateToken:output_type -> core.BaseResp - 31, // 136: core.Core.getTokenList:output_type -> core.TokenListResp - 9, // 137: core.Core.getToken:output_type -> core.TokenInfo - 5, // 138: core.Core.deleteToken:output_type -> core.BaseResp - 5, // 139: core.Core.blockUserAllToken:output_type -> core.BaseResp - 37, // 140: core.Core.createUser:output_type -> core.BaseIDResp - 5, // 141: core.Core.updateUser:output_type -> core.BaseResp - 42, // 142: core.Core.getUserList:output_type -> core.UserListResp - 18, // 143: core.Core.getUser:output_type -> core.UserInfo - 5, // 144: core.Core.deleteUser:output_type -> core.BaseResp - 5, // 145: core.Core.UserBindRole:output_type -> core.BaseResp - 5, // 146: core.Core.UserUnbindRole:output_type -> core.BaseResp - 5, // 147: core.Core.UserClearRole:output_type -> core.BaseResp - 34, // 148: core.Core.GetUserRoles:output_type -> core.RoleListResp - 37, // 149: core.Core.createUserSocial:output_type -> core.BaseIDResp - 5, // 150: core.Core.updateUserSocial:output_type -> core.BaseResp - 4, // 151: core.Core.getUserSocialList:output_type -> core.UserSocialListResp - 35, // 152: core.Core.getUserSocial:output_type -> core.UserSocialInfo - 5, // 153: core.Core.deleteUserSocial:output_type -> core.BaseResp + 15, // 0: core.DistrictTree.tree:type_name -> core.DistrictInfo + 44, // 1: core.RoleReq.page:type_name -> core.Pagination + 44, // 2: core.TokenReq.page:type_name -> core.Pagination + 44, // 3: core.UserSocialListResp.page:type_name -> core.Pagination + 13, // 4: core.UserSocialListResp.data:type_name -> core.UserSocialInfo + 44, // 5: core.DepartmentListResp.page:type_name -> core.Pagination + 14, // 6: core.DepartmentListResp.data:type_name -> core.DepartmentInfo + 44, // 7: core.DictionaryReq.page:type_name -> core.Pagination + 42, // 8: core.RoleInfo.users:type_name -> core.UserInfo + 42, // 9: core.UserSocialInfo.user:type_name -> core.UserInfo + 14, // 10: core.DepartmentInfo.parent:type_name -> core.DepartmentInfo + 14, // 11: core.DepartmentInfo.children:type_name -> core.DepartmentInfo + 42, // 12: core.DepartmentInfo.users:type_name -> core.UserInfo + 42, // 13: core.DepartmentInfo.leader:type_name -> core.UserInfo + 15, // 14: core.DistrictInfo.children:type_name -> core.DistrictInfo + 44, // 15: core.DistrictListResp.page:type_name -> core.Pagination + 15, // 16: core.DistrictListResp.data:type_name -> core.DistrictInfo + 44, // 17: core.DistrictReq.page:type_name -> core.Pagination + 1, // 18: core.DistrictReq.query_type:type_name -> core.DistrictQueryType + 44, // 19: core.OauthProviderReq.page:type_name -> core.Pagination + 44, // 20: core.TokenListResp.page:type_name -> core.Pagination + 41, // 21: core.TokenListResp.data:type_name -> core.TokenInfo + 44, // 22: core.UserReq.page:type_name -> core.Pagination + 44, // 23: core.DictionaryDetailReq.page:type_name -> core.Pagination + 44, // 24: core.GetUserRolesReq.page:type_name -> core.Pagination + 29, // 25: core.DictionaryInfo.details:type_name -> core.DictionaryDetailInfo + 28, // 26: core.DictionaryDetailInfo.dictionary:type_name -> core.DictionaryInfo + 44, // 27: core.OauthProviderListResp.page:type_name -> core.Pagination + 46, // 28: core.OauthProviderListResp.data:type_name -> core.OauthProviderInfo + 44, // 29: core.RoleListResp.page:type_name -> core.Pagination + 12, // 30: core.RoleListResp.data:type_name -> core.RoleInfo + 44, // 31: core.DepartmentReq.page:type_name -> core.Pagination + 44, // 32: core.DictionaryListResp.page:type_name -> core.Pagination + 28, // 33: core.DictionaryListResp.data:type_name -> core.DictionaryInfo + 44, // 34: core.UserSocialReq.page:type_name -> core.Pagination + 44, // 35: core.DictionaryDetailListResp.page:type_name -> core.Pagination + 29, // 36: core.DictionaryDetailListResp.data:type_name -> core.DictionaryDetailInfo + 42, // 37: core.TokenInfo.user:type_name -> core.UserInfo + 48, // 38: core.UserInfo.metas:type_name -> core.UserInfo.MetasEntry + 12, // 39: core.UserInfo.roles:type_name -> core.RoleInfo + 13, // 40: core.UserInfo.socials:type_name -> core.UserSocialInfo + 14, // 41: core.UserInfo.departments:type_name -> core.DepartmentInfo + 41, // 42: core.UserInfo.tokens:type_name -> core.TokenInfo + 39, // 43: core.UserInfo.login_record:type_name -> core.LoginRecordInfo + 44, // 44: core.UserListResp.page:type_name -> core.Pagination + 42, // 45: core.UserListResp.data:type_name -> core.UserInfo + 26, // 46: core.Core.initDatabase:input_type -> core.Empty + 14, // 47: core.Core.createDepartment:input_type -> core.DepartmentInfo + 14, // 48: core.Core.updateDepartment:input_type -> core.DepartmentInfo + 35, // 49: core.Core.getDepartmentList:input_type -> core.DepartmentReq + 35, // 50: core.Core.getDepartment:input_type -> core.DepartmentReq + 34, // 51: core.Core.deleteDepartment:input_type -> core.IDsReq + 28, // 52: core.Core.createDictionary:input_type -> core.DictionaryInfo + 28, // 53: core.Core.updateDictionary:input_type -> core.DictionaryInfo + 8, // 54: core.Core.getDictionaryList:input_type -> core.DictionaryReq + 8, // 55: core.Core.getDictionary:input_type -> core.DictionaryReq + 34, // 56: core.Core.deleteDictionary:input_type -> core.IDsReq + 29, // 57: core.Core.createDictionaryDetail:input_type -> core.DictionaryDetailInfo + 29, // 58: core.Core.updateDictionaryDetail:input_type -> core.DictionaryDetailInfo + 23, // 59: core.Core.getDictionaryDetailList:input_type -> core.DictionaryDetailReq + 23, // 60: core.Core.getDictionaryDetail:input_type -> core.DictionaryDetailReq + 9, // 61: core.Core.deleteDictionaryDetail:input_type -> core.DeleteDictionaryDetailReq + 45, // 62: core.Core.getDistrict:input_type -> core.DistrictCodeReq + 19, // 63: core.Core.getDistrictList:input_type -> core.DistrictReq + 45, // 64: core.Core.getDistrictTree:input_type -> core.DistrictCodeReq + 10, // 65: core.Core.getDistrictName:input_type -> core.GetDistrictNameReq + 17, // 66: core.Core.getRecord:input_type -> core.RecordReq + 39, // 67: core.Core.record:input_type -> core.LoginRecordInfo + 46, // 68: core.Core.createOauthProvider:input_type -> core.OauthProviderInfo + 46, // 69: core.Core.updateOauthProvider:input_type -> core.OauthProviderInfo + 20, // 70: core.Core.getOauthProviderList:input_type -> core.OauthProviderReq + 20, // 71: core.Core.getOauthProvider:input_type -> core.OauthProviderReq + 34, // 72: core.Core.deleteOauthProvider:input_type -> core.IDsReq + 40, // 73: core.Core.oauthLogin:input_type -> core.OauthLoginReq + 11, // 74: core.Core.oauthCallback:input_type -> core.CallbackReq + 12, // 75: core.Core.createRole:input_type -> core.RoleInfo + 12, // 76: core.Core.updateRole:input_type -> core.RoleInfo + 4, // 77: core.Core.getRoleList:input_type -> core.RoleReq + 4, // 78: core.Core.getRole:input_type -> core.RoleReq + 34, // 79: core.Core.deleteRole:input_type -> core.IDsReq + 41, // 80: core.Core.createToken:input_type -> core.TokenInfo + 41, // 81: core.Core.updateToken:input_type -> core.TokenInfo + 5, // 82: core.Core.getTokenList:input_type -> core.TokenReq + 5, // 83: core.Core.getToken:input_type -> core.TokenReq + 34, // 84: core.Core.deleteToken:input_type -> core.IDsReq + 32, // 85: core.Core.blockUserAllToken:input_type -> core.TokenUserReq + 42, // 86: core.Core.createUser:input_type -> core.UserInfo + 42, // 87: core.Core.updateUser:input_type -> core.UserInfo + 22, // 88: core.Core.getUserList:input_type -> core.UserReq + 22, // 89: core.Core.getUser:input_type -> core.UserReq + 34, // 90: core.Core.deleteUser:input_type -> core.IDsReq + 18, // 91: core.Core.userBindRole:input_type -> core.UserRoleReq + 18, // 92: core.Core.userUnbindRole:input_type -> core.UserRoleReq + 33, // 93: core.Core.userClearRole:input_type -> core.IDReq + 25, // 94: core.Core.getUserRoles:input_type -> core.GetUserRolesReq + 13, // 95: core.Core.createUserSocial:input_type -> core.UserSocialInfo + 13, // 96: core.Core.updateUserSocial:input_type -> core.UserSocialInfo + 37, // 97: core.Core.getUserSocialList:input_type -> core.UserSocialReq + 37, // 98: core.Core.getUserSocial:input_type -> core.UserSocialReq + 34, // 99: core.Core.deleteUserSocial:input_type -> core.IDsReq + 2, // 100: core.Core.initDatabase:output_type -> core.BaseResp + 27, // 101: core.Core.createDepartment:output_type -> core.BaseIDResp + 2, // 102: core.Core.updateDepartment:output_type -> core.BaseResp + 7, // 103: core.Core.getDepartmentList:output_type -> core.DepartmentListResp + 14, // 104: core.Core.getDepartment:output_type -> core.DepartmentInfo + 2, // 105: core.Core.deleteDepartment:output_type -> core.BaseResp + 27, // 106: core.Core.createDictionary:output_type -> core.BaseIDResp + 2, // 107: core.Core.updateDictionary:output_type -> core.BaseResp + 36, // 108: core.Core.getDictionaryList:output_type -> core.DictionaryListResp + 28, // 109: core.Core.getDictionary:output_type -> core.DictionaryInfo + 2, // 110: core.Core.deleteDictionary:output_type -> core.BaseResp + 27, // 111: core.Core.createDictionaryDetail:output_type -> core.BaseIDResp + 2, // 112: core.Core.updateDictionaryDetail:output_type -> core.BaseResp + 38, // 113: core.Core.getDictionaryDetailList:output_type -> core.DictionaryDetailListResp + 29, // 114: core.Core.getDictionaryDetail:output_type -> core.DictionaryDetailInfo + 2, // 115: core.Core.deleteDictionaryDetail:output_type -> core.BaseResp + 15, // 116: core.Core.getDistrict:output_type -> core.DistrictInfo + 16, // 117: core.Core.getDistrictList:output_type -> core.DistrictListResp + 3, // 118: core.Core.getDistrictTree:output_type -> core.DistrictTree + 24, // 119: core.Core.getDistrictName:output_type -> core.GetDistrictNameResp + 39, // 120: core.Core.getRecord:output_type -> core.LoginRecordInfo + 2, // 121: core.Core.record:output_type -> core.BaseResp + 27, // 122: core.Core.createOauthProvider:output_type -> core.BaseIDResp + 2, // 123: core.Core.updateOauthProvider:output_type -> core.BaseResp + 30, // 124: core.Core.getOauthProviderList:output_type -> core.OauthProviderListResp + 46, // 125: core.Core.getOauthProvider:output_type -> core.OauthProviderInfo + 2, // 126: core.Core.deleteOauthProvider:output_type -> core.BaseResp + 47, // 127: core.Core.oauthLogin:output_type -> core.OauthRedirectResp + 42, // 128: core.Core.oauthCallback:output_type -> core.UserInfo + 27, // 129: core.Core.createRole:output_type -> core.BaseIDResp + 2, // 130: core.Core.updateRole:output_type -> core.BaseResp + 31, // 131: core.Core.getRoleList:output_type -> core.RoleListResp + 12, // 132: core.Core.getRole:output_type -> core.RoleInfo + 2, // 133: core.Core.deleteRole:output_type -> core.BaseResp + 27, // 134: core.Core.createToken:output_type -> core.BaseIDResp + 2, // 135: core.Core.updateToken:output_type -> core.BaseResp + 21, // 136: core.Core.getTokenList:output_type -> core.TokenListResp + 41, // 137: core.Core.getToken:output_type -> core.TokenInfo + 2, // 138: core.Core.deleteToken:output_type -> core.BaseResp + 2, // 139: core.Core.blockUserAllToken:output_type -> core.BaseResp + 27, // 140: core.Core.createUser:output_type -> core.BaseIDResp + 2, // 141: core.Core.updateUser:output_type -> core.BaseResp + 43, // 142: core.Core.getUserList:output_type -> core.UserListResp + 42, // 143: core.Core.getUser:output_type -> core.UserInfo + 2, // 144: core.Core.deleteUser:output_type -> core.BaseResp + 2, // 145: core.Core.userBindRole:output_type -> core.BaseResp + 2, // 146: core.Core.userUnbindRole:output_type -> core.BaseResp + 2, // 147: core.Core.userClearRole:output_type -> core.BaseResp + 31, // 148: core.Core.getUserRoles:output_type -> core.RoleListResp + 27, // 149: core.Core.createUserSocial:output_type -> core.BaseIDResp + 2, // 150: core.Core.updateUserSocial:output_type -> core.BaseResp + 6, // 151: core.Core.getUserSocialList:output_type -> core.UserSocialListResp + 13, // 152: core.Core.getUserSocial:output_type -> core.UserSocialInfo + 2, // 153: core.Core.deleteUserSocial:output_type -> core.BaseResp 100, // [100:154] is the sub-list for method output_type 46, // [46:100] is the sub-list for method input_type 46, // [46:46] is the sub-list for extension type_name @@ -4741,7 +4741,7 @@ func file_rpc_core_core_proto_init() { } if !protoimpl.UnsafeEnabled { file_rpc_core_core_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DepartmentInfo); i { + switch v := v.(*BaseResp); i { case 0: return &v.state case 1: @@ -4753,7 +4753,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteDictionaryDetailReq); i { + switch v := v.(*DistrictTree); i { case 0: return &v.state case 1: @@ -4765,7 +4765,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserSocialListResp); i { + switch v := v.(*RoleReq); i { case 0: return &v.state case 1: @@ -4777,7 +4777,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BaseResp); i { + switch v := v.(*TokenReq); i { case 0: return &v.state case 1: @@ -4789,7 +4789,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDistrictNameResp); i { + switch v := v.(*UserSocialListResp); i { case 0: return &v.state case 1: @@ -4801,7 +4801,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RecordReq); i { + switch v := v.(*DepartmentListResp); i { case 0: return &v.state case 1: @@ -4813,7 +4813,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OauthProviderListResp); i { + switch v := v.(*DictionaryReq); i { case 0: return &v.state case 1: @@ -4825,7 +4825,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenInfo); i { + switch v := v.(*DeleteDictionaryDetailReq); i { case 0: return &v.state case 1: @@ -4837,7 +4837,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserReq); i { + switch v := v.(*GetDistrictNameReq); i { case 0: return &v.state case 1: @@ -4849,7 +4849,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserRolesReq); i { + switch v := v.(*CallbackReq); i { case 0: return &v.state case 1: @@ -4861,7 +4861,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DepartmentListResp); i { + switch v := v.(*RoleInfo); i { case 0: return &v.state case 1: @@ -4873,7 +4873,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DictionaryDetailListResp); i { + switch v := v.(*UserSocialInfo); i { case 0: return &v.state case 1: @@ -4885,7 +4885,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DistrictListResp); i { + switch v := v.(*DepartmentInfo); i { case 0: return &v.state case 1: @@ -4897,7 +4897,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OauthProviderReq); i { + switch v := v.(*DistrictInfo); i { case 0: return &v.state case 1: @@ -4909,7 +4909,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallbackReq); i { + switch v := v.(*DistrictListResp); i { case 0: return &v.state case 1: @@ -4921,7 +4921,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OauthRedirectResp); i { + switch v := v.(*RecordReq); i { case 0: return &v.state case 1: @@ -4933,7 +4933,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserInfo); i { + switch v := v.(*UserRoleReq); i { case 0: return &v.state case 1: @@ -4945,7 +4945,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserRoleReq); i { + switch v := v.(*DistrictReq); i { case 0: return &v.state case 1: @@ -4957,7 +4957,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DictionaryInfo); i { + switch v := v.(*OauthProviderReq); i { case 0: return &v.state case 1: @@ -4969,7 +4969,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DictionaryDetailInfo); i { + switch v := v.(*TokenListResp); i { case 0: return &v.state case 1: @@ -4981,7 +4981,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DistrictReq); i { + switch v := v.(*UserReq); i { case 0: return &v.state case 1: @@ -4993,7 +4993,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DistrictCodeReq); i { + switch v := v.(*DictionaryDetailReq); i { case 0: return &v.state case 1: @@ -5005,7 +5005,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Pagination); i { + switch v := v.(*GetDistrictNameResp); i { case 0: return &v.state case 1: @@ -5017,7 +5017,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDistrictNameReq); i { + switch v := v.(*GetUserRolesReq); i { case 0: return &v.state case 1: @@ -5029,7 +5029,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoginRecordInfo); i { + switch v := v.(*Empty); i { case 0: return &v.state case 1: @@ -5041,7 +5041,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OauthProviderInfo); i { + switch v := v.(*BaseIDResp); i { case 0: return &v.state case 1: @@ -5053,7 +5053,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OauthLoginReq); i { + switch v := v.(*DictionaryInfo); i { case 0: return &v.state case 1: @@ -5065,7 +5065,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenUserReq); i { + switch v := v.(*DictionaryDetailInfo); i { case 0: return &v.state case 1: @@ -5077,7 +5077,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenReq); i { + switch v := v.(*OauthProviderListResp); i { case 0: return &v.state case 1: @@ -5089,7 +5089,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenListResp); i { + switch v := v.(*RoleListResp); i { case 0: return &v.state case 1: @@ -5101,7 +5101,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DictionaryDetailReq); i { + switch v := v.(*TokenUserReq); i { case 0: return &v.state case 1: @@ -5113,7 +5113,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DictionaryReq); i { + switch v := v.(*IDReq); i { case 0: return &v.state case 1: @@ -5125,7 +5125,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoleListResp); i { + switch v := v.(*IDsReq); i { case 0: return &v.state case 1: @@ -5137,7 +5137,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserSocialInfo); i { + switch v := v.(*DepartmentReq); i { case 0: return &v.state case 1: @@ -5149,7 +5149,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DepartmentReq); i { + switch v := v.(*DictionaryListResp); i { case 0: return &v.state case 1: @@ -5161,7 +5161,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BaseIDResp); i { + switch v := v.(*UserSocialReq); i { case 0: return &v.state case 1: @@ -5173,7 +5173,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DictionaryListResp); i { + switch v := v.(*DictionaryDetailListResp); i { case 0: return &v.state case 1: @@ -5185,7 +5185,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DistrictInfo); i { + switch v := v.(*LoginRecordInfo); i { case 0: return &v.state case 1: @@ -5197,7 +5197,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DistrictTree); i { + switch v := v.(*OauthLoginReq); i { case 0: return &v.state case 1: @@ -5209,7 +5209,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoleReq); i { + switch v := v.(*TokenInfo); i { case 0: return &v.state case 1: @@ -5221,7 +5221,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserListResp); i { + switch v := v.(*UserInfo); i { case 0: return &v.state case 1: @@ -5233,7 +5233,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IDsReq); i { + switch v := v.(*UserListResp); i { case 0: return &v.state case 1: @@ -5245,7 +5245,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IDReq); i { + switch v := v.(*Pagination); i { case 0: return &v.state case 1: @@ -5257,7 +5257,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoleInfo); i { + switch v := v.(*DistrictCodeReq); i { case 0: return &v.state case 1: @@ -5269,7 +5269,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserSocialReq); i { + switch v := v.(*OauthProviderInfo); i { case 0: return &v.state case 1: @@ -5281,7 +5281,7 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Empty); i { + switch v := v.(*OauthRedirectResp); i { case 0: return &v.state case 1: @@ -5294,25 +5294,25 @@ func file_rpc_core_core_proto_init() { } } file_rpc_core_core_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[3].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[5].OneofWrappers = []interface{}{} file_rpc_core_core_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[11].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[13].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[18].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[19].OneofWrappers = []interface{}{} file_rpc_core_core_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[21].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[23].OneofWrappers = []interface{}{} file_rpc_core_core_proto_msgTypes[28].OneofWrappers = []interface{}{} file_rpc_core_core_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[30].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[31].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[32].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[33].OneofWrappers = []interface{}{} file_rpc_core_core_proto_msgTypes[34].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[35].OneofWrappers = []interface{}{} file_rpc_core_core_proto_msgTypes[36].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[39].OneofWrappers = []interface{}{} file_rpc_core_core_proto_msgTypes[40].OneofWrappers = []interface{}{} - file_rpc_core_core_proto_msgTypes[44].OneofWrappers = []interface{}{} + file_rpc_core_core_proto_msgTypes[41].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/rpc/core/types/core/core_grpc.pb.go b/rpc/core/types/core/core_grpc.pb.go index 9033e65..eec1725 100644 --- a/rpc/core/types/core/core_grpc.pb.go +++ b/rpc/core/types/core/core_grpc.pb.go @@ -562,7 +562,7 @@ func (c *coreClient) DeleteUser(ctx context.Context, in *IDsReq, opts ...grpc.Ca func (c *coreClient) UserBindRole(ctx context.Context, in *UserRoleReq, opts ...grpc.CallOption) (*BaseResp, error) { out := new(BaseResp) - err := c.cc.Invoke(ctx, "/core.Core/UserBindRole", in, out, opts...) + err := c.cc.Invoke(ctx, "/core.Core/userBindRole", in, out, opts...) if err != nil { return nil, err } @@ -571,7 +571,7 @@ func (c *coreClient) UserBindRole(ctx context.Context, in *UserRoleReq, opts ... func (c *coreClient) UserUnbindRole(ctx context.Context, in *UserRoleReq, opts ...grpc.CallOption) (*BaseResp, error) { out := new(BaseResp) - err := c.cc.Invoke(ctx, "/core.Core/UserUnbindRole", in, out, opts...) + err := c.cc.Invoke(ctx, "/core.Core/userUnbindRole", in, out, opts...) if err != nil { return nil, err } @@ -580,7 +580,7 @@ func (c *coreClient) UserUnbindRole(ctx context.Context, in *UserRoleReq, opts . func (c *coreClient) UserClearRole(ctx context.Context, in *IDReq, opts ...grpc.CallOption) (*BaseResp, error) { out := new(BaseResp) - err := c.cc.Invoke(ctx, "/core.Core/UserClearRole", in, out, opts...) + err := c.cc.Invoke(ctx, "/core.Core/userClearRole", in, out, opts...) if err != nil { return nil, err } @@ -589,7 +589,7 @@ func (c *coreClient) UserClearRole(ctx context.Context, in *IDReq, opts ...grpc. func (c *coreClient) GetUserRoles(ctx context.Context, in *GetUserRolesReq, opts ...grpc.CallOption) (*RoleListResp, error) { out := new(RoleListResp) - err := c.cc.Invoke(ctx, "/core.Core/GetUserRoles", in, out, opts...) + err := c.cc.Invoke(ctx, "/core.Core/getUserRoles", in, out, opts...) if err != nil { return nil, err } @@ -1770,7 +1770,7 @@ func _Core_UserBindRole_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/core.Core/UserBindRole", + FullMethod: "/core.Core/userBindRole", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CoreServer).UserBindRole(ctx, req.(*UserRoleReq)) @@ -1788,7 +1788,7 @@ func _Core_UserUnbindRole_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/core.Core/UserUnbindRole", + FullMethod: "/core.Core/userUnbindRole", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CoreServer).UserUnbindRole(ctx, req.(*UserRoleReq)) @@ -1806,7 +1806,7 @@ func _Core_UserClearRole_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/core.Core/UserClearRole", + FullMethod: "/core.Core/userClearRole", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CoreServer).UserClearRole(ctx, req.(*IDReq)) @@ -1824,7 +1824,7 @@ func _Core_GetUserRoles_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/core.Core/GetUserRoles", + FullMethod: "/core.Core/getUserRoles", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CoreServer).GetUserRoles(ctx, req.(*GetUserRolesReq)) @@ -2110,19 +2110,19 @@ var Core_ServiceDesc = grpc.ServiceDesc{ Handler: _Core_DeleteUser_Handler, }, { - MethodName: "UserBindRole", + MethodName: "userBindRole", Handler: _Core_UserBindRole_Handler, }, { - MethodName: "UserUnbindRole", + MethodName: "userUnbindRole", Handler: _Core_UserUnbindRole_Handler, }, { - MethodName: "UserClearRole", + MethodName: "userClearRole", Handler: _Core_UserClearRole_Handler, }, { - MethodName: "GetUserRoles", + MethodName: "getUserRoles", Handler: _Core_GetUserRoles_Handler, }, {