AdminRoleController.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using GxPress.Repository.Interface;
  4. using GxPress.Request.Role;
  5. using GxPress.Result.Role;
  6. using Microsoft.AspNetCore.Authorization;
  7. using Microsoft.AspNetCore.Mvc;
  8. namespace GxPress.Api.AdminControllers
  9. {
  10. /// <summary>
  11. /// 角色
  12. /// </summary>
  13. [Route("api/admin/role")]
  14. [ApiController]
  15. [Authorize]
  16. public class AdminRoleController : ControllerBase
  17. {
  18. private readonly IRoleRepository _roleRepository;
  19. public AdminRoleController(IRoleRepository roleRepository)
  20. {
  21. _roleRepository = roleRepository;
  22. }
  23. /// <summary>
  24. /// 添加
  25. /// </summary>
  26. /// <param name="request"></param>
  27. /// <returns></returns>
  28. [HttpPost]
  29. public async Task<RoleDetailResult> Add(RoleAddRequest request)
  30. {
  31. return await _roleRepository.AddAsync(request);
  32. }
  33. /// <summary>
  34. /// 删除
  35. /// </summary>
  36. /// <param name="id"></param>
  37. /// <returns></returns>
  38. [HttpDelete("{id}")]
  39. public async Task<bool> Delete(int id)
  40. {
  41. return await _roleRepository.DeleteAsync(id);
  42. }
  43. /// <summary>
  44. /// 修改
  45. /// </summary>
  46. /// <param name="id"></param>
  47. /// <param name="request"></param>
  48. /// <returns></returns>
  49. [HttpPut("{id}")]
  50. public async Task<bool> Update(int id, [FromBody]RoleAddRequest request)
  51. {
  52. return await _roleRepository.UpdateAsync(id, request);
  53. }
  54. /// <summary>
  55. /// 详情
  56. /// </summary>
  57. /// <param name="id"></param>
  58. /// <returns></returns>
  59. [HttpGet("{id}")]
  60. public async Task<RoleDetailResult> GetDetail(int id)
  61. {
  62. return await _roleRepository.GetDetailAsync(id);
  63. }
  64. /// <summary>
  65. /// 列表
  66. /// </summary>
  67. /// <param name="groupId"></param>
  68. /// <returns></returns>
  69. [HttpGet("list")]
  70. public async Task<List<RoleDetailResult>> GetList(int groupId)
  71. {
  72. return await _roleRepository.GetDetailListAsync(groupId);
  73. }
  74. }
  75. }