syntax = "proto3"; option go_package = "./pb"; package pb; // ------------------------------------ // Messages // ------------------------------------ //--------------------------------users-------------------------------- //--------------------------------users-------------------------------- message Users { int64 id = 1; //id string username = 2; //username string passwordHash = 3; //passwordHash string phone = 4; //phone string email = 5; //email string nickname = 6; //nickname string avatar = 7; //avatar string bio = 8; //bio string currentRole = 9; //currentRole repeated string verifiedRoles = 10; //verifiedRoles string verificationStatus = 11; //verificationStatus bool isAdmin = 12; //isAdmin int64 createdAt = 13; //createdAt int64 updatedAt = 14; //updatedAt int64 deletedAt = 15; //deletedAt } message AddUsersReq { string username = 1; //username string passwordHash = 2; //passwordHash string phone = 3; //phone string email = 4; //email string nickname = 5; //nickname string avatar = 6; //avatar string bio = 7; //bio string currentRole = 8; //currentRole repeated string verifiedRoles = 9; //verifiedRoles string verificationStatus = 10; //verificationStatus bool isAdmin = 11; //isAdmin int64 createdAt = 12; //createdAt int64 updatedAt = 13; //updatedAt int64 deletedAt = 14; //deletedAt } message AddUsersResp { } message UpdateUsersReq { int64 id = 1; //id optional string username = 2; //username optional string passwordHash = 3; //passwordHash optional string phone = 4; //phone optional string email = 5; //email optional string nickname = 6; //nickname optional string avatar = 7; //avatar optional string bio = 8; //bio optional string currentRole = 9; //currentRole repeated string verifiedRoles = 10; //verifiedRoles optional string verificationStatus = 11; //verificationStatus optional bool isAdmin = 12; //isAdmin optional int64 createdAt = 13; //createdAt optional int64 updatedAt = 14; //updatedAt optional int64 deletedAt = 15; //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 { optional int64 page = 1; //page optional int64 limit = 2; //limit optional int64 id = 3; //id optional string username = 4; //username optional string passwordHash = 5; //passwordHash optional string phone = 6; //phone optional string email = 7; //email optional string nickname = 8; //nickname optional string avatar = 9; //avatar optional string bio = 10; //bio optional string currentRole = 11; //currentRole repeated string verifiedRoles = 12; //verifiedRoles optional string verificationStatus = 13; //verificationStatus optional bool isAdmin = 14; //isAdmin optional int64 createdAt = 15; //createdAt optional int64 updatedAt = 16; //updatedAt optional int64 deletedAt = 17; //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 string 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 { } message ResetPasswordReq { string newPassword = 1; string email = 2; string requestId = 3; string vcode = 4; } message ResetPasswordResp { } // ------------------------------------ // 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); rpc ResetPassword(ResetPasswordReq) returns (ResetPasswordResp); }