syntax = "proto3"; option go_package ="./pb"; package pb; // ------------------------------------ // Messages // ------------------------------------ //--------------------------------users-------------------------------- message Users { string 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 { string 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 { string 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 string 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; } message ValidateTokenReq { string token = 1; // JWT token string userId = 2; // 用户ID } message ValidateTokenResp { bool valid = 1; // token 是否有效(不在黑名单中) string message = 2; // 验证失败原因 string userId = 3; // 用户ID int64 roleType = 4; // 用户角色 } message CheckPermissionReq { string userId = 1; // 用户ID string resource = 2; // 资源 ID string action = 3; // 操作类型: read/write/delete } message CheckPermissionResp { bool allowed = 1; // 是否有权限 string message = 2; // 拒绝原因 } // ------------------------------------ // 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 ValidateToken(ValidateTokenReq) returns (ValidateTokenResp); rpc CheckPermission(CheckPermissionReq) returns (CheckPermissionResp); }