93 lines
2.2 KiB
C#
93 lines
2.2 KiB
C#
using Dlhis.Sys.Identity.Request;
|
|
using Dlhis.Sys.Identity.Response;
|
|
using Dlhis.User.Identity.Services;
|
|
using Kurisu.Core.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<RoleRespone>> GetPageAsync([FromQuery] RolePageRequest request)
|
|
{
|
|
return await _roleService.GetPageAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 角色列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[Authorize(Roles = "admin")]
|
|
[HttpGet("list")]
|
|
public async Task<List<RoleRespone>> GetListAsync()
|
|
{
|
|
return await _roleService.GetListAsync();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分配角色
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[Authorize(Roles = "admin")]
|
|
[HttpPost("assign")]
|
|
public async Task AssignRole(AssignRoleRequest 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(RoleRemoveRequest request)
|
|
{
|
|
await _roleService.RemoveRoleAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 我的角色
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("my")]
|
|
public async Task<RoleRespone> GetMyRoleAsync(int? userId)
|
|
{
|
|
return await _roleService.GetMyRoleAsync(userId);
|
|
}
|
|
}
|