PSController.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. using System;
  2. using System.Threading.Tasks;
  3. using BO.AppServer.Business.Services;
  4. using BO.AppServer.Metadata.Dto;
  5. using BO.AppServer.Metadata.Enums;
  6. using Microsoft.AspNetCore.Authorization;
  7. using Microsoft.AspNetCore.Http;
  8. using Microsoft.AspNetCore.Mvc;
  9. using Microsoft.Extensions.Logging;
  10. using Quadarax.Foundation.Core.Data.Interface.Entity.Dto;
  11. namespace BO.AppServer.Web.Services
  12. {
  13. [Authorize]
  14. [Route("api/[controller]")]
  15. [ApiController]
  16. public class PSController : Base<PSController>
  17. {
  18. #region *** Properties ***
  19. protected override RoleEnum LoginRoleAllowed => RoleEnum.System;
  20. #endregion
  21. #region *** Private fields ***
  22. private DocumentService _srvDocument;
  23. #endregion
  24. #region *** Constructors ***
  25. public PSController(ILoggerFactory logger, AccessService srvAccess) : base(logger, srvAccess)
  26. {
  27. }
  28. #endregion
  29. #region *** Registrations ***
  30. [HttpPost("{ticket}/register")]
  31. public async Task<ResultValueDto<RegistrationRDto>> Register(string ticket, [FromBody] RegistrationCDto registration)
  32. {
  33. CheckAccess(ticket);
  34. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  35. return null;
  36. }
  37. [HttpPatch("{ticket}/register")]
  38. public async Task<ResultValueDto<RegistrationRDto>> Register(string ticket, [FromBody] RegistrationUDto registration)
  39. {
  40. CheckAccess(ticket);
  41. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  42. return null;
  43. }
  44. [HttpGet("{ticket}/register")]
  45. public async Task<ResultValueDto<RegistrationRDto>> RegisterEnsure(string ticket, [FromBody] RegistrationCDto registration)
  46. {
  47. CheckAccess(ticket);
  48. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  49. return null;
  50. }
  51. #endregion
  52. #region *** Document gathering ***
  53. [HttpGet("{ticket}/queue/{registrationId}/pending")]
  54. public async Task<ResultsValueDto<DocumentRDto>> GetQueueNew(string ticket, long registrationId)
  55. {
  56. CheckAccess(ticket);
  57. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  58. return null;
  59. }
  60. [HttpGet("{ticket}/queue/{registrationId}/working")]
  61. public async Task<ResultsValueDto<DocumentRDto>> GetQueuePending(string ticket, long registrationId)
  62. {
  63. CheckAccess(ticket);
  64. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  65. return null;
  66. }
  67. [HttpGet("{ticket}/queue/{registrationId}/document/{documentId}/artifact/{artifactId}")]
  68. public async Task<IActionResult> GetDocumentArtifactContent(string ticket, long documentId, long artifactId)
  69. {
  70. // TODO: May wrap to better way
  71. try
  72. {
  73. CheckAccess(ticket);
  74. //var id = await _srvWorkspace.GetWorkspaceIdByAPIAccess(wrkspApiKey, apiKeyPassword, context);
  75. //var content = await _srvDocument.GetArtifactAsync(id, documentId, artifactId);
  76. //return new FileStreamResult(content.Item1, content.Item2);
  77. return null;
  78. }
  79. catch (Exception e)
  80. {
  81. return Problem(e.Message);
  82. }
  83. }
  84. #endregion
  85. #region *** Document state operations ***
  86. [HttpPatch("{ticket}/queue/{registrationId}/document/{documentId}/status/{status}")]
  87. public async Task<ResultValueDto<PingDto>> SetDocumentProcessingStatus(string ticket, long registrationId, long documentId, DocumentStatusEnum status)
  88. {
  89. CheckAccess(ticket);
  90. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  91. return null;
  92. }
  93. [HttpGet("{ticket}/queue/{registrationId}/document/{documentId}/status")]
  94. public async Task<ResultValueDto<PingDto>> GetDocumentProcessingStatus(string ticket, long registrationId, long documentId)
  95. {
  96. CheckAccess(ticket);
  97. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  98. return null;
  99. }
  100. [HttpGet("{ticket}/queue/{registrationId}/document/{documentId}/info")]
  101. public async Task<ResultValueDto<DocumentRDto>> GetDocumentInfo(string ticket, long registrationId, long documentId)
  102. {
  103. CheckAccess(ticket);
  104. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  105. return null;
  106. }
  107. #endregion
  108. #region *** Document uploading ***
  109. [HttpPatch("{ticket}/queue/{registrationId}/document/{documentId}")]
  110. public async Task<ResultValueDto<ArtifactRDto>> UploadDocumentArtifact(string ticket, long registrationId, long documentId,IFormFile content)
  111. {
  112. CheckAccess(ticket);
  113. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  114. return null;
  115. }
  116. #endregion
  117. }
  118. }