#11 changing uploads GET api return type from dynamic to predefined structure
This commit is contained in:
parent
4c9756deee
commit
ef070fecfb
@ -6,6 +6,7 @@ using RMuseum.Models.Auth.Memory;
|
||||
using RMuseum.Models.GanjoorAudio;
|
||||
using RMuseum.Models.GanjoorAudio.ViewModels;
|
||||
using RMuseum.Models.UploadSession;
|
||||
using RMuseum.Models.UploadSession.ViewModels;
|
||||
using RMuseum.Services;
|
||||
using RSecurityBackend.Models.Generic;
|
||||
using RSecurityBackend.Services;
|
||||
@ -155,7 +156,7 @@ namespace RMuseum.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpGet("uploads")]
|
||||
[Authorize]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<dynamic>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<UploadedItemViewModel>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.Forbidden, Type = typeof(string))]
|
||||
|
||||
|
||||
@ -0,0 +1,50 @@
|
||||
using System;
|
||||
|
||||
namespace RMuseum.Models.UploadSession.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Uploaded Item View Model
|
||||
/// </summary>
|
||||
public class UploadedItemViewModel
|
||||
{
|
||||
/// <summary>
|
||||
/// filename
|
||||
/// </summary>
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// process result
|
||||
/// </summary>
|
||||
public bool ProcessResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// process result message
|
||||
/// </summary>
|
||||
public string ProcessResultMsg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Upload End Time
|
||||
/// </summary>
|
||||
public DateTime UploadEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Upload User Name
|
||||
/// </summary>
|
||||
public string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Process Start Time
|
||||
/// </summary>
|
||||
public DateTime ProcessStartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// progress progress
|
||||
/// </summary>
|
||||
public int ProcessProgress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// process end time
|
||||
/// </summary>
|
||||
public DateTime ProcessEndTime { get; set; }
|
||||
}
|
||||
}
|
||||
@ -3400,6 +3400,51 @@
|
||||
Audio
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel">
|
||||
<summary>
|
||||
Uploaded Item View Model
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.FileName">
|
||||
<summary>
|
||||
filename
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.ProcessResult">
|
||||
<summary>
|
||||
process result
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.ProcessResultMsg">
|
||||
<summary>
|
||||
process result message
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.UploadEndTime">
|
||||
<summary>
|
||||
Upload End Time
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.UserName">
|
||||
<summary>
|
||||
Upload User Name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.ProcessStartTime">
|
||||
<summary>
|
||||
Process Start Time
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.ProcessProgress">
|
||||
<summary>
|
||||
progress progress
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.UploadSession.ViewModels.UploadedItemViewModel.ProcessEndTime">
|
||||
<summary>
|
||||
process end time
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Services.IArtifactService">
|
||||
<summary>
|
||||
Artifact Item Service
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
using RMuseum.Models.GanjoorAudio;
|
||||
using RMuseum.Models.GanjoorAudio.ViewModels;
|
||||
using RMuseum.Models.UploadSession;
|
||||
using RMuseum.Models.UploadSession.ViewModels;
|
||||
using RSecurityBackend.Models.Generic;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
@ -117,7 +118,7 @@ namespace RMuseum.Services
|
||||
/// <param name="paging"></param>
|
||||
/// <param name="userId">if userId is empty all user uploads would be returned</param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, dynamic[] Items)>> GetUploads(PagingParameterModel paging, Guid userId);
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, UploadedItemViewModel[] Items)>> GetUploads(PagingParameterModel paging, Guid userId);
|
||||
|
||||
/// <summary>
|
||||
/// retry publish unpublished narrations
|
||||
|
||||
@ -10,6 +10,7 @@ using RMuseum.Models.Ganjoor;
|
||||
using RMuseum.Models.GanjoorAudio;
|
||||
using RMuseum.Models.GanjoorAudio.ViewModels;
|
||||
using RMuseum.Models.UploadSession;
|
||||
using RMuseum.Models.UploadSession.ViewModels;
|
||||
using RSecurityBackend.Models.Auth.Db;
|
||||
using RSecurityBackend.Models.Auth.ViewModels;
|
||||
using RSecurityBackend.Models.Generic;
|
||||
@ -911,7 +912,7 @@ namespace RMuseum.Services.Implementation
|
||||
/// <param name="paging"></param>
|
||||
/// <param name="userId">if userId is empty all user uploads would be returned</param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<(PaginationMetadata PagingMeta, dynamic[] Items)>> GetUploads(PagingParameterModel paging, Guid userId)
|
||||
public async Task<RServiceResult<(PaginationMetadata PagingMeta, UploadedItemViewModel[] Items)>> GetUploads(PagingParameterModel paging, Guid userId)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -922,20 +923,20 @@ namespace RMuseum.Services.Implementation
|
||||
on file.UploadSessionId equals session.Id
|
||||
where userId == Guid.Empty || session.UseId == userId
|
||||
orderby session.UploadEndTime descending
|
||||
select new
|
||||
{ file.FileName, file.ProcessResult, file.ProcessResultMsg, session.UploadEndTime, session.User.UserName, session.ProcessStartTime, session.ProcessProgress, session.ProcessEndTime }
|
||||
select new UploadedItemViewModel()
|
||||
{ FileName = file.FileName, ProcessResult = file.ProcessResult, ProcessResultMsg = file.ProcessResultMsg, UploadEndTime = session.UploadEndTime, UserName = session.User.UserName, ProcessStartTime = session.ProcessStartTime, ProcessProgress = session.ProcessProgress, ProcessEndTime = session.ProcessEndTime }
|
||||
).AsQueryable();
|
||||
|
||||
(PaginationMetadata PagingMeta, dynamic[] Items) paginatedResult =
|
||||
await QueryablePaginator<dynamic>.Paginate(source, paging);
|
||||
(PaginationMetadata PagingMeta, UploadedItemViewModel[] Items) paginatedResult =
|
||||
await QueryablePaginator<UploadedItemViewModel>.Paginate(source, paging);
|
||||
|
||||
|
||||
|
||||
return new RServiceResult<(PaginationMetadata PagingMeta, dynamic[] Items)>((paginatedResult.PagingMeta, paginatedResult.Items));
|
||||
return new RServiceResult<(PaginationMetadata PagingMeta, UploadedItemViewModel[] Items)>((paginatedResult.PagingMeta, paginatedResult.Items));
|
||||
}
|
||||
catch (Exception exp)
|
||||
{
|
||||
return new RServiceResult<(PaginationMetadata PagingMeta, dynamic[] Items)>((PagingMeta: null, Items: null), exp.ToString());
|
||||
return new RServiceResult<(PaginationMetadata PagingMeta, UploadedItemViewModel[] Items)>((PagingMeta: null, Items: null), exp.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user