syntax = "proto3"; package admin_role_service; option go_package = "./proto;authorization_service"; import "proto/base_service.proto"; service AdminRoleService { rpc CreateAdminRole(CreateAdminRoleRequest) returns (CreateAdminRoleResponse); rpc ListAdminRoles(ListAdminRolesRequest) returns (ListAdminRolesResponse); rpc UpdateAdminRole(UpdateAdminRoleRequest) returns (UpdateAdminRoleResponse); rpc DeleteAdminRole(DeleteAdminRoleRequest) returns (DeleteAdminRoleResponse); rpc GetAdminRole(GetAdminRoleRequest) returns (GetAdminRoleResponse); rpc ToggleAdminRole(ToggleAdminRoleRequest) returns (ToggleAdminRoleResponse); rpc RetrieveEnabledRoles(RetrieveEnabledRolesRequest) returns (RetrieveEnabledRolesResponse); } // ------------ 创建角色 ------------ message CreateAdminRoleRequest { string name = 1; string description = 2; repeated int64 users = 3; repeated int64 permissions = 4; } message CreateAdminRoleResponse {} // ------------ 查询角色 ------------ message ListAdminRolesRequest { int32 page = 1; int32 page_size = 2; string keyword = 3; base_service.StatusEnum status = 4; } message ListAdminRolesResponse { repeated base_service.AdminRole items = 1; int64 total_count = 2; } // ------------ 更新角色信息 ------------ message UpdateAdminRoleRequest { int64 role_id = 1; string description = 3; repeated int64 users = 4; repeated int64 permissions = 5; } message UpdateAdminRoleResponse {} // ------------ 删除角色 ------------ message DeleteAdminRoleRequest { int64 id = 1; } message DeleteAdminRoleResponse {} // ------------ 获取角色详情 ------------ message GetAdminRoleRequest { int64 id = 1; } message GetAdminRoleResponse { base_service.AdminRole role = 1; } // ------------ 启用禁用角色 ------------ // ToggleAdminRoleRequest message ToggleAdminRoleRequest { int64 role_id = 1; base_service.StatusEnum status = 2; } message ToggleAdminRoleResponse {} // ------------ 获取所有启用角色 ------------ message RetrieveEnabledRolesRequest {} message RetrieveEnabledRolesResponse { repeated base_service.AdminRole roles = 1; }