syntax = "proto3";

message UserRoleReq {
  int64 user_id = 1;
  repeated int64 role_ids = 2;
  repeated string role_codes = 3;
}

message GetUserRolesReq {
  optional Pagination page = 1;
  int64 user_id = 2;
}

service Core {
  // User-Role Relationship Management
  // UserBindRole 用户绑定角色
  // group: user_role
  rpc userBindRole (UserRoleReq) returns (BaseResp);
  // UserUnbindRole 用户解绑角色
  // group: user_role
  rpc userUnbindRole (UserRoleReq) returns (BaseResp);
  // UserClearRole 用户清理角色
  // group: user_role
  rpc userClearRole (IDReq) returns (BaseResp);
  // GetUserRoles 获取用户绑定的角色列表
  // group: user_role
  rpc getUserRoles (GetUserRolesReq) returns (RoleListResp);
}