/
user.proto
143 lines (114 loc) · 3.59 KB
/
user.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
syntax = "proto3";
package api.user.v1;
import "api/types/types.proto";
import "tagger/tagger.proto";
import "validate/validate.proto";
option go_package = "community_gw/api/user/v1;v1";
service UserService {
// 发送邮件验证码
rpc SendEmailVerifyCode(SendEmailVerifyCodeRequest) returns (SendEmailVerifyCodeReply) {}
// 注册
rpc Register(RegisterRequest) returns (RegisterReply) {}
// 登录
rpc Login(LoginRequest) returns (LoginReply) {}
// 登出
rpc Logout(LogoutRequest) returns (LogoutReply) {}
// 检查登录状态
rpc CheckLogin(CheckLoginRequest) returns (CheckLoginReply) {}
// 删除用户
rpc DeleteByID(DeleteUserByIDRequest) returns (DeleteUserByIDReply) {}
// 更新用户
rpc UpdateByID(UpdateUserByIDRequest) returns (UpdateUserByIDReply) {}
// 获取用户详情
rpc GetByID(GetUserByIDRequest) returns (GetUserByIDReply) {}
// 获取用户列表
rpc List(ListUserRequest) returns (ListUserReply) {}
// 更新密码
rpc UpdatePassword(UpdatePasswordRequest) returns (UpdatePasswordReply) {}
}
message SendEmailVerifyCodeRequest {
string email = 1 [(validate.rules).string.email = true];
}
message SendEmailVerifyCodeReply {}
message RegisterRequest {
string email = 1 [(validate.rules).string.email = true];
string emailCode = 2 [(validate.rules).string.len = 6];
string password = 3 [(validate.rules).string.min_len = 6];
}
message RegisterReply {
uint64 id = 1;
}
message LoginRequest {
string email = 1 [(validate.rules).string.email = true];
string password = 2 [(validate.rules).string.min_len = 6];
string ip = 3;
}
message LoginReply {
uint64 id = 1;
string token = 2;
}
message LogoutRequest {
uint64 id = 1 [(validate.rules).uint64.gte = 1];
string token = 2 [(validate.rules).string.min_len = 20];
}
message LogoutReply {
}
message CheckLoginRequest {
uint64 id = 1 [(validate.rules).uint64.gte = 1];
}
message CheckLoginReply {
bool isLogin = 1; // true:已登录, false:未登录
string tokenTails = 2; // token尾部10字节
}
message DeleteUserByIDRequest {
uint64 id =1 [(validate.rules).uint64.gte = 1, (tagger.tags) = "uri:\"id\"" ];
}
message DeleteUserByIDReply {
}
message UpdateUserByIDRequest {
uint64 id = 1 [(validate.rules).uint64.gte = 1, (tagger.tags) = "uri:\"id\"" ];
string name = 2; // 用户名
string nickName = 3; // 用户昵称
string phone = 4; // 手机号码
string avatar = 5; // 头像
int32 gender = 6; // 性别,1:男,2:女,其他值:未知
int32 age = 7; // 年龄
string birthday = 8; // 出生日期
}
message UpdateUserByIDReply {
}
message User {
uint64 id = 1;
string name = 2; // 用户名
string nickName = 3; // 用户昵称
string email = 4; // 邮件
string phone = 5; // 手机号码
string avatar = 6; // 头像
int32 gender = 7; // 性别,1:男,2:女,其他值:未知
int32 age = 8; // 年龄
string birthday = 9; // 出生日期
int64 loginAt = 10; // 登录时间
string loginIp = 11; // 登录ip
int32 status = 12; // 状态, 1:正常, 2:删除, 3:封禁
int64 createdAt = 13;
int64 updatedAt = 14;
}
message GetUserByIDRequest {
uint64 id =1 [(validate.rules).uint64.gte = 1, (tagger.tags) = "uri:\"id\"" ];
}
message GetUserByIDReply {
User userInfo = 1;
}
message ListUserRequest {
types.Params params = 1;
}
message ListUserReply {
int64 total =1;
repeated User userInfos = 2;
}
message UpdatePasswordRequest {
uint64 id = 1 [(validate.rules).uint64.gte = 1, (tagger.tags) = "uri:\"id\"" ];
string password = 2 [(validate.rules).string.min_len = 6];
}
message UpdatePasswordReply {
}