LinkedServerController.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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/linkedServer")]
  13. [Produces("application/json")]
  14. public class LinkedServerController : BaseModule
  15. {
  16. private readonly ILogger<LinkedServerController> _log;
  17. private readonly ILinkedServerRepository _service;
  18. public LinkedServerController(ILogger<LinkedServerController> log, ILinkedServerRepository service)
  19. {
  20. _log = log;
  21. _service = service;
  22. }
  23. [HttpPost("findByIp")]
  24. [SwaggerResponse(200, type: typeof(ApiResponseModel<DataCount>))]
  25. public async Task<IResult> FindByIp([Required] int systemId, [Required] string serverIpAddr)
  26. {
  27. return await CreateResponseAsync(async () =>
  28. {
  29. var response = await _service.FindByIp(systemId, serverIpAddr);
  30. var result = Results.Ok(new ApiResponseModel<DataCount>()
  31. {
  32. success = true,
  33. errorCode = 0,
  34. errorMessage = GlobalConstants.API_RESULT_SUCCESS,
  35. result = response,
  36. });
  37. return result;
  38. });
  39. }
  40. [HttpPost("add")]
  41. [SwaggerResponse(200, type: typeof(ApiResponseModel<DataCount>))]
  42. public async Task<IResult> Add([Required] int systemId, [Required] string serverIpAddr, [Required] string serverDesc,
  43. [Required] string apiKey, [Required] DateTime expiredAt,
  44. [Required] bool policyLookupYn,
  45. [Required] bool fileInfoLookupYn,
  46. [Required] bool applyLabelYn,
  47. [Required] bool releaseLabelYn,
  48. [Required] bool encryptionFileYn,
  49. [Required] bool decryptionFileYn)
  50. {
  51. return await CreateResponseAsync(async () =>
  52. {
  53. var response = await _service.Add(systemId, serverIpAddr, serverDesc,
  54. apiKey, expiredAt,
  55. policyLookupYn, fileInfoLookupYn, applyLabelYn, releaseLabelYn, encryptionFileYn, decryptionFileYn);
  56. var result = Results.Ok(new ApiResponseModel<DataCount>()
  57. {
  58. success = true,
  59. errorCode = 0,
  60. errorMessage = GlobalConstants.API_RESULT_SUCCESS,
  61. result = response,
  62. });
  63. return result;
  64. });
  65. }
  66. [HttpPost("delete")]
  67. [SwaggerResponse(200, type: typeof(ApiResponseModel<DataCount>))]
  68. public async Task<IResult> Delete([Required] int serverId)
  69. {
  70. return await CreateResponseAsync(async () =>
  71. {
  72. var response = await _service.Delete(serverId);
  73. var result = Results.Ok(new ApiResponseModel<DataCount>()
  74. {
  75. success = true,
  76. errorCode = 0,
  77. errorMessage = GlobalConstants.API_RESULT_SUCCESS,
  78. result = response,
  79. });
  80. return result;
  81. });
  82. }
  83. [HttpPost("update")]
  84. [SwaggerResponse(200, type: typeof(ApiResponseModel<DataCount>))]
  85. public async Task<IResult> Update([Required] int serverId, [Required] string serverIpAddr, [Required] string serverDesc,
  86. [Required] int apiId, [Required] DateTime expiredAt,
  87. [Required] bool policyLookupYn,
  88. [Required] bool fileInfoLookupYn,
  89. [Required] bool applyLabelYn,
  90. [Required] bool releaseLabelYn,
  91. [Required] bool encryptionFileYn,
  92. [Required] bool decryptionFileYn)
  93. {
  94. return await CreateResponseAsync(async () =>
  95. {
  96. var response = await _service.Update(serverId, serverIpAddr, serverDesc,
  97. apiId, expiredAt,
  98. policyLookupYn, fileInfoLookupYn, applyLabelYn, releaseLabelYn, encryptionFileYn, decryptionFileYn);
  99. var result = Results.Ok(new ApiResponseModel<DataCount>()
  100. {
  101. success = true,
  102. errorCode = 0,
  103. errorMessage = GlobalConstants.API_RESULT_SUCCESS,
  104. result = response,
  105. });
  106. return result;
  107. });
  108. }
  109. [HttpPost("list")]
  110. [SwaggerResponse(200, type: typeof(ApiResponseModel<Pagination<LinkedServer>>))]
  111. public async Task<IResult> GetLists([Required] int pagePerCount, [Required] int pageSize, [Required] int systemId, int? page)
  112. {
  113. return await CreateResponseAsync(async () =>
  114. {
  115. int pageNo = 1;
  116. if (page != null)
  117. {
  118. pageNo = (int)page;
  119. }
  120. var response = await _service.GetLists(pagePerCount, pageSize, pageNo, systemId);
  121. var result = Results.Ok(new ApiResponseModel<Pagination<LinkedServer>>()
  122. {
  123. success = true,
  124. errorCode = 0,
  125. errorMessage = GlobalConstants.API_RESULT_SUCCESS,
  126. result = response,
  127. });
  128. return result;
  129. });
  130. }
  131. }
  132. }