PS.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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 PS : Base<PS>
  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 PS(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. #endregion
  45. #region *** Document gathering ***
  46. [HttpGet("{ticket}/ps/{registrationId}/new")]
  47. public async Task<ResultsValueDto<DocumentRDto>> GetQueueNew(string ticket, long registrationId)
  48. {
  49. CheckAccess(ticket);
  50. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  51. return null;
  52. }
  53. [HttpGet("{ticket}/ps/{registrationId}/pending")]
  54. public async Task<ResultsValueDto<DocumentRDto>> GetQueuePending(string ticket, long registrationId)
  55. {
  56. CheckAccess(ticket);
  57. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  58. return null;
  59. }
  60. [HttpGet("{ticket}/ps/{registrationId}/document/{documentId}/artifact/{artifactId}")]
  61. public async Task<IActionResult> GetDocumentArtifactContent(string ticket, long documentId, long artifactId)
  62. {
  63. // TODO: May wrap to better way
  64. try
  65. {
  66. CheckAccess(ticket);
  67. //var id = await _srvWorkspace.GetWorkspaceIdByAPIAccess(wrkspApiKey, apiKeyPassword, context);
  68. //var content = await _srvDocument.GetArtifactAsync(id, documentId, artifactId);
  69. //return new FileStreamResult(content.Item1, content.Item2);
  70. return null;
  71. }
  72. catch (Exception e)
  73. {
  74. return Problem(e.Message);
  75. }
  76. }
  77. #endregion
  78. #region *** Document state operations ***
  79. [HttpPatch("{ticket}/ps/{registrationId}/document/{documentId}/status")]
  80. public async Task<ResultValueDto<EmptyDto>> SetDocumentProcessingStatus(string ticket, long registrationId, long documentId)
  81. {
  82. CheckAccess(ticket);
  83. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  84. return null;
  85. }
  86. [HttpPatch("{ticket}/ps/{registrationId}/document/{documentId}/free")]
  87. public async Task<ResultsValueDto<EmptyDto>> SetFreeDocument(string ticket, long registrationId, long documentId)
  88. {
  89. CheckAccess(ticket);
  90. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  91. return null;
  92. }
  93. #endregion
  94. #region *** Document uploading ***
  95. [HttpPatch("{ticket}/ps/{registrationId}/document/{documentId}")]
  96. public async Task<ResultValueDto<DocumentRDto>> UploadDocumentArtifact(string ticket, long registrationId, long documentId, [FromBody] ArtifactCDto artifact, IFormFile content)
  97. {
  98. CheckAccess(ticket);
  99. //return await Call(async () => await _srvUsers.CreateUserAsync(user));
  100. return null;
  101. }
  102. #endregion
  103. }
  104. }