syntax = "proto3"; package pb; option go_package = "perms-system-server/pb"; service PermService { rpc SyncPermissions(SyncPermissionsReq) returns (SyncPermissionsResp); rpc Login(LoginReq) returns (LoginResp); rpc RefreshToken(RefreshTokenReq) returns (RefreshTokenResp); rpc VerifyToken(VerifyTokenReq) returns (VerifyTokenResp); rpc GetUserPerms(GetUserPermsReq) returns (GetUserPermsResp); } message PermItem { string code = 1; string name = 2; string remark = 3; } message SyncPermissionsReq { string appKey = 1; string appSecret = 2; repeated PermItem perms = 3; } message SyncPermissionsResp { int64 added = 1; int64 updated = 2; int64 disabled = 3; } message LoginReq { string productCode = 1; string username = 2; string password = 3; } message LoginResp { string accessToken = 1; string refreshToken = 2; int64 expires = 3; int64 userId = 4; string username = 5; string nickname = 6; string memberType = 7; repeated string perms = 8; } message RefreshTokenReq { string refreshToken = 1; string productCode = 2; } message RefreshTokenResp { string accessToken = 1; string refreshToken = 2; int64 expires = 3; repeated string perms = 4; } message VerifyTokenReq { string accessToken = 1; } message VerifyTokenResp { bool valid = 1; int64 userId = 2; string username = 3; string productCode = 4; string memberType = 5; repeated string perms = 6; } message GetUserPermsReq { int64 userId = 1; string productCode = 2; } message GetUserPermsResp { repeated string perms = 1; string memberType = 2; }