Files
juwan-backend/desc/rpc/users.proto
T
2026-02-26 02:17:07 +08:00

177 lines
4.0 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "./pb";
package pb;
// ------------------------------------
// Messages
// ------------------------------------
//--------------------------------users--------------------------------
message Users {
int64 userId = 1; //userId
string username = 2; //username
string passwd = 3; //passwd
string nickname = 4; //nickname
string phone = 5; //phone
int64 roleType = 6; //roleType
bool isVerified = 7; //isVerified
bool state = 8; //state
int64 createdAt = 9; //createdAt
int64 updatedAt = 10; //updatedAt
int64 deletedAt = 11; //deletedAt
}
message AddUsersReq {
int64 userId = 1; //userId
string username = 2; //username
string passwd = 3; //passwd
string nickname = 4; //nickname
string phone = 5; //phone
int64 roleType = 6; //roleType
bool isVerified = 7; //isVerified
bool state = 8; //state
int64 createdAt = 9; //createdAt
int64 updatedAt = 10; //updatedAt
int64 deletedAt = 11; //deletedAt
}
message AddUsersResp {
}
message UpdateUsersReq {
int64 userId = 1; //userId
string username = 2; //username
string passwd = 3; //passwd
string nickname = 4; //nickname
string phone = 5; //phone
int64 roleType = 6; //roleType
bool isVerified = 7; //isVerified
bool state = 8; //state
int64 createdAt = 9; //createdAt
int64 updatedAt = 10; //updatedAt
int64 deletedAt = 11; //deletedAt
}
message UpdateUsersResp {
}
message DelUsersReq {
int64 id = 1; //id
}
message DelUsersResp {
}
message GetUsersByIdReq {
int64 id = 1; //id
}
message GetUsersByIdResp {
Users users = 1; //users
}
message SearchUsersReq {
int64 page = 1; //page
int64 limit = 2; //limit
int64 userId = 3; //userId
string username = 4; //username
string passwd = 5; //passwd
string nickname = 6; //nickname
string phone = 7; //phone
int64 roleType = 8; //roleType
bool isVerified = 9; //isVerified
bool state = 10; //state
int64 createdAt = 11; //createdAt
int64 updatedAt = 12; //updatedAt
int64 deletedAt = 13; //deletedAt
}
message SearchUsersResp {
repeated Users users = 1; //users
}
message GetUserByUsernameReq {
string username = 1; //username
}
message GetUserByUsernameResp {
Users users = 1; //users
}
message LoginReq {
string username = 1;
string passwd = 2;
}
message LoginResp {
string token = 1;
string username = 2;
string email = 3;
int64 id = 4;
}
message ValidateTokenReq {
string token = 1; // JWT token
int64 userId = 2; // 用户ID
}
message ValidateTokenResp {
bool valid = 1; // token 是否有效(不在黑名单中)
string message = 2; // 验证失败原因
int64 userId = 3; // 用户ID
int64 roleType = 4; // 用户角色
}
message CheckPermissionReq {
int64 userId = 1; // 用户ID
string resource = 2; // 资源 ID
string action = 3; // 操作类型: read/write/delete
}
message CheckPermissionResp {
bool allowed = 1; // 是否有权限
string message = 2; // 拒绝原因
}
message RegisterReq {
string username = 1;
string passwd = 2;
string phone = 3;
int32 vcode = 4;
string email = 5;
string requestId = 6;
}
message RegisterResp {
string res = 1;
}
message LogoutReq {
int64 userId = 1;
}
message LogoutResp {
}
// ------------------------------------
// Rpc Func
// ------------------------------------
service usercenter {
//-----------------------users-----------------------
rpc AddUsers(AddUsersReq) returns (AddUsersResp);
rpc UpdateUsers(UpdateUsersReq) returns (UpdateUsersResp);
rpc DelUsers(DelUsersReq) returns (DelUsersResp);
rpc GetUsersById(GetUsersByIdReq) returns (GetUsersByIdResp);
rpc GetUserByUsername(GetUserByUsernameReq) returns (GetUserByUsernameResp);
rpc SearchUsers(SearchUsersReq) returns (SearchUsersResp);
rpc Login(LoginReq) returns (LoginResp);
rpc Register(RegisterReq) returns (RegisterResp);
rpc ValidateToken(ValidateTokenReq) returns (ValidateTokenResp);
rpc CheckPermission(CheckPermissionReq) returns (CheckPermissionResp);
rpc Logout(LogoutReq) returns (LogoutResp);
}