Files
jinko.yikatong/Src/Dlhis.Sys/Identity/Controllers/RolesController.cs

113 lines
2.8 KiB
C#

using Dlhis.Sys.Identity.Request;
using Dlhis.Sys.Identity.Response;
using Dlhis.Sys.Identity.Services;
using Kurisu.AspNetCore.DataAccess.Dto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Sys.Identity.Controllers;
/// <summary>
/// 角色
/// </summary>
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class RolesController : ControllerBase
{
private readonly IRoleService _roleService;
public RolesController(IRoleService roleService)
{
_roleService = roleService;
}
/// <summary>
/// 获取角色分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Authorize(Roles = "admin")]
[HttpGet("page")]
public async Task<Pagination<RoleResponse>> GetPageAsync([FromQuery] RolePageRequest request)
{
return await _roleService.GetPageAsync(request);
}
/// <summary>
/// 角色列表
/// </summary>
/// <returns></returns>
[Authorize(Roles = "admin")]
[HttpGet("list")]
public async Task<List<RoleResponse>> GetListAsync()
{
return await _roleService.GetListAsync();
}
/// <summary>
/// 分配角色
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Authorize(Roles = "admin,tenant-admin")]
[HttpPost("assign")]
public async Task AssignRole(RoleAssignRequest request)
{
await _roleService.AssignRoleAsync(request);
}
/// <summary>
/// 保存角色
/// </summary>
/// <returns></returns>
[Authorize(Roles = "admin")]
[HttpPost("save")]
public async Task SaveRole(RoleSaveRequest request)
{
await _roleService.SaveRoleAsync(request);
}
/// <summary>
/// 移除角色
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Authorize(Roles = "admin")]
[HttpPost("delete")]
public async Task RemoveRole(IdRequest request)
{
await _roleService.RemoveRoleAsync(request);
}
/// <summary>
/// 我的角色
/// </summary>
/// <returns></returns>
[HttpGet("my")]
public async Task<RoleResponse> GetMyRoleAsync(int? userId)
{
return await _roleService.GetMyRoleAsync(userId);
}
/// <summary>
/// 设置混淆
/// </summary>
/// <param name="request"></param>
[HttpPost("obfuscate")]
public async Task SaveRoleObfuscateAsync(RoleObfuscateRequest request)
{
await _roleService.SaveRoleObfuscateAsync(request);
}
/// <summary>
/// 获取混淆状态
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("obfuscate")]
public async Task<bool> GetRoleObfuscateAsync(int id)
{
return await _roleService.GetRoleObfuscateAsync(id);
}
}