#403 api/ftp methods added
This commit is contained in:
parent
fa44a626e3
commit
4f605bd3fe
@ -4,7 +4,10 @@ using RMuseum.Models.Auth.Memory;
|
||||
using RMuseum.Services;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using RMuseum.Models.FAQ;
|
||||
using System.Collections.Generic;
|
||||
using RMuseum.Models.ExternalFTPUpload;
|
||||
using RSecurityBackend.Models.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace RMuseum.Controllers
|
||||
{
|
||||
@ -12,6 +15,62 @@ namespace RMuseum.Controllers
|
||||
[Route("api/ftp")]
|
||||
public class ExternalFTPController : Controller
|
||||
{
|
||||
/// <summary>
|
||||
/// queued ftp uploads
|
||||
/// </summary>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Authorize(Policy = RMuseumSecurableItem.QueuedFTPUploadShortName + ":" + RMuseumSecurableItem.ModerateOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<QueuedFTPUpload>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> GetQueuedFTPUploadsAsync([FromQuery] PagingParameterModel paging)
|
||||
{
|
||||
|
||||
RServiceResult<(PaginationMetadata PagingMeta, QueuedFTPUpload[] Items)> itemsInfo = await _ftpService.GetQueuedFTPUploadsAsync(paging);
|
||||
if (!string.IsNullOrEmpty(itemsInfo.ExceptionString))
|
||||
{
|
||||
return BadRequest(itemsInfo.ExceptionString);
|
||||
}
|
||||
|
||||
// Paging Header
|
||||
HttpContext.Response.Headers.Add("paging-headers", JsonConvert.SerializeObject(itemsInfo.Result.PagingMeta));
|
||||
|
||||
return Ok(itemsInfo.Result.Items);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// process ftp queue
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("start")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.QueuedFTPUploadShortName + ":" + RMuseumSecurableItem.ModerateOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK)]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> ProcessQueueAsync()
|
||||
{
|
||||
var res = await _ftpService.ProcessQueueAsync();
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// reset ftp queue
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("reset")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.QueuedFTPUploadShortName + ":" + RMuseumSecurableItem.ModerateOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK)]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> ResetQueueAsync()
|
||||
{
|
||||
var res = await _ftpService.ResetQueueAsync();
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// FTP Service
|
||||
/// </summary>
|
||||
|
||||
@ -787,12 +787,31 @@
|
||||
donation service
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:RMuseum.Controllers.ExtenalFTPController._ftpService">
|
||||
<member name="M:RMuseum.Controllers.ExternalFTPController.GetQueuedFTPUploadsAsync(RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
queued ftp uploads
|
||||
</summary>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.ExternalFTPController.ProcessQueueAsync">
|
||||
<summary>
|
||||
process ftp queue
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.ExternalFTPController.ResetQueueAsync">
|
||||
<summary>
|
||||
reset ftp queue
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:RMuseum.Controllers.ExternalFTPController._ftpService">
|
||||
<summary>
|
||||
FTP Service
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.ExtenalFTPController.#ctor(RMuseum.Services.IQueuedFTPUploadService)">
|
||||
<member name="M:RMuseum.Controllers.ExternalFTPController.#ctor(RMuseum.Services.IQueuedFTPUploadService)">
|
||||
<summary>
|
||||
constructor
|
||||
</summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user