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

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);
}
}