LinkedApiKeyController.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using AipDatabase.API.Controllers.Base;
  2. using AipDatabase.API.Domain;
  3. using AipDatabase.API.Interfaces;
  4. using AipDatabase.API.Models;
  5. using AipDatabase.API.Models.Response;
  6. using Microsoft.AspNetCore.Mvc;
  7. using Swashbuckle.AspNetCore.Annotations;
  8. using System.ComponentModel.DataAnnotations;
  9. namespace AipDatabase.API.Controllers
  10. {
  11. [ApiController]
  12. [Route("/service/api/db/linkedApiKey")]
  13. [Produces("application/json")]
  14. public class LinkedApiKeyController : BaseModule
  15. {
  16. private readonly ILogger<LinkedApiKeyController> _log;
  17. private readonly ILinkedApiKeyRepository _service;
  18. public LinkedApiKeyController(ILogger<LinkedApiKeyController> log, ILinkedApiKeyRepository service)
  19. {
  20. _log = log;
  21. _service = service;
  22. }
  23. [HttpPost("list")]
  24. [SwaggerResponse(200, type: typeof(ApiResponseModel<Pagination<LinkedApiKey>>))]
  25. public async Task<IResult> GetLists([Required] int pagePerCount, [Required] int pageSize, [Required] int systemId, int? page)
  26. {
  27. return await CreateResponseAsync(async () =>
  28. {
  29. int pageNo = 1;
  30. if (page != null)
  31. {
  32. pageNo = (int)page;
  33. }
  34. var response = await _service.GetLists(pagePerCount, pageSize, pageNo, systemId);
  35. var result = Results.Ok(new ApiResponseModel<Pagination<LinkedApiKey>>()
  36. {
  37. success = true,
  38. errorCode = 0,
  39. errorMessage = GlobalConstants.API_RESULT_SUCCESS,
  40. result = response,
  41. });
  42. return result;
  43. });
  44. }
  45. }
  46. }