AdminMediaController.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using GxPress.Auth;
  4. using GxPress.Common.Page;
  5. using GxPress.Repository.Interface.Media;
  6. using GxPress.Request.Media;
  7. using GxPress.Result.Media;
  8. using Microsoft.AspNetCore.Authorization;
  9. using Microsoft.AspNetCore.Mvc;
  10. // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
  11. namespace GxPress.Api.AdminControllers
  12. {
  13. [Route("api/admin/media")]
  14. [ApiController]
  15. [Authorize]
  16. public class AdminMediaController : Controller
  17. {
  18. private readonly IMediaRepository mediaRepository;
  19. private readonly ILoginContext _loginContext;
  20. public AdminMediaController(IMediaRepository mediaRepository, ILoginContext _loginContext)
  21. {
  22. this.mediaRepository = mediaRepository;
  23. this._loginContext = _loginContext;
  24. }
  25. /// <summary>
  26. /// 详情
  27. /// </summary>
  28. /// <param name="id"></param>
  29. /// <returns></returns>
  30. [HttpGet("{id}")]
  31. public async Task<MediaResult> GetAsync(int id)
  32. {
  33. return await mediaRepository.GetAsync(id);
  34. }
  35. /// <summary>
  36. /// 删除
  37. /// </summary>
  38. /// <param name="id"></param>
  39. /// <returns></returns>
  40. [HttpDelete("{id}")]
  41. public async Task<bool> DeleteAsync(int id)
  42. {
  43. return await mediaRepository.DeleteAsync(id);
  44. }
  45. /// <summary>
  46. /// 添加媒体
  47. /// </summary>
  48. /// <param name="result"></param>
  49. /// <returns></returns>
  50. [HttpPost]
  51. public async Task<bool> InsertAsync(MediaResult result)
  52. {
  53. result.AdminId = _loginContext.AccountId;
  54. result.Creator = _loginContext.Name;
  55. return await mediaRepository.InsertAsync(result);
  56. }
  57. /// <summary>
  58. /// 修改
  59. /// </summary>
  60. /// <param name="result"></param>
  61. /// <returns></returns>
  62. [HttpPut]
  63. public async Task<bool> UpdateAsync(MediaResult result)
  64. {
  65. return await mediaRepository.UpdateAsync(result);
  66. }
  67. /// <summary>
  68. /// 查询
  69. /// </summary>
  70. /// <param name="request"></param>
  71. /// <returns></returns>
  72. [HttpPost("list/{mediaType}")]
  73. public async Task<PagedList<Entity.tede2.Media.Media>> GetAllAsync(MediaSearchRequest request)
  74. {
  75. return await mediaRepository.GetAllAsync(request);
  76. }
  77. }
  78. }