#255 API method for getting list of reported errors for recitations
This commit is contained in:
parent
d2fbfdf95c
commit
0bc721dec2
@ -819,6 +819,29 @@ namespace RMuseum.Controllers
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// get errors reported for recitations
|
||||
/// </summary>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("errors/report")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.AudioRecitationEntityShortName + ":" + RMuseumSecurableItem.PublishOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<RecitationErrorReportViewModel>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> GetReportedErrorsAsync([FromQuery] PagingParameterModel paging)
|
||||
{
|
||||
var reports = await _audioService.GetReportedErrorsAsync(paging);
|
||||
if (!string.IsNullOrEmpty(reports.ExceptionString))
|
||||
{
|
||||
return BadRequest(reports.ExceptionString);
|
||||
}
|
||||
|
||||
// Paging Header
|
||||
HttpContext.Response.Headers.Add("paging-headers", JsonConvert.SerializeObject(reports.Result.PagingMeta));
|
||||
|
||||
return Ok(reports.Result.Items);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// constructor
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
namespace RMuseum.Models.GanjoorAudio.ViewModels
|
||||
using System;
|
||||
|
||||
namespace RMuseum.Models.GanjoorAudio.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Post Error Report for recitations
|
||||
@ -18,5 +20,15 @@
|
||||
/// Reason Text
|
||||
/// </summary>
|
||||
public string ReasonText { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// recitation
|
||||
/// </summary>
|
||||
public RecitationViewModel Recitation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DateTime
|
||||
/// </summary>
|
||||
public DateTime DateTime { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1806,6 +1806,13 @@
|
||||
<param name="report"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.RecitationController.GetReportedErrorsAsync(RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
get errors reported for recitations
|
||||
</summary>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.RecitationController.#ctor(RMuseum.Services.IRecitationService,RSecurityBackend.Services.IUserPermissionChecker,RSecurityBackend.Services.IAppUserService)">
|
||||
<summary>
|
||||
constructor
|
||||
@ -3904,6 +3911,16 @@
|
||||
Reason Text
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.RecitationErrorReportViewModel.Recitation">
|
||||
<summary>
|
||||
recitation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.RecitationErrorReportViewModel.DateTime">
|
||||
<summary>
|
||||
DateTime
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.GanjoorAudio.ViewModels.RecitationModerateViewModel">
|
||||
<summary>
|
||||
Poem Narration Moderation View Model
|
||||
@ -12391,6 +12408,13 @@
|
||||
<param name="report"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementationa.RecitationService.GetReportedErrorsAsync(RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
get errors reported for recitations
|
||||
</summary>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:RMuseum.Services.Implementationa.RecitationService.UploadEnabled">
|
||||
<summary>
|
||||
Upload Enabled (temporary switch off/on for upload)
|
||||
@ -12742,6 +12766,13 @@
|
||||
<param name="report"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IRecitationService.GetReportedErrorsAsync(RSecurityBackend.Models.Generic.PagingParameterModel)">
|
||||
<summary>
|
||||
get errors reported for recitations
|
||||
</summary>
|
||||
<param name="paging"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:RMuseum.Services.IRecitationService.UploadEnabled">
|
||||
<summary>
|
||||
Upload Enabled (temporary switch off/on for upload)
|
||||
|
||||
@ -209,6 +209,13 @@ namespace RMuseum.Services
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<RecitationErrorReportViewModel>> ReportErrorAsync(Guid userId, RecitationErrorReportViewModel report);
|
||||
|
||||
/// <summary>
|
||||
/// get errors reported for recitations
|
||||
/// </summary>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, RecitationErrorReportViewModel[] Items)>> GetReportedErrorsAsync(PagingParameterModel paging);
|
||||
|
||||
/// <summary>
|
||||
/// Upload Enabled (temporary switch off/on for upload)
|
||||
/// </summary>
|
||||
|
||||
@ -1741,6 +1741,7 @@ namespace RMuseum.Services.Implementationa
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
report.Id = dbModel.Id;
|
||||
report.DateTime = dbModel.DateTime;
|
||||
|
||||
return new RServiceResult<RecitationErrorReportViewModel>(report);
|
||||
}
|
||||
@ -1750,6 +1751,32 @@ namespace RMuseum.Services.Implementationa
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// get errors reported for recitations
|
||||
/// </summary>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<(PaginationMetadata PagingMeta, RecitationErrorReportViewModel[] Items)>> GetReportedErrorsAsync(PagingParameterModel paging)
|
||||
{
|
||||
var source =
|
||||
from report in _context.RecitationErrorReports.Include(r => r.Recitation).Include(r => r.Reporter)
|
||||
join poem in _context.GanjoorPoems
|
||||
on report.Recitation.GanjoorPostId equals poem.Id
|
||||
select
|
||||
new RecitationErrorReportViewModel()
|
||||
{
|
||||
Id = report.Id,
|
||||
ReasonText = report.ReasonText,
|
||||
RecitationId = report.RecitationId,
|
||||
Recitation = new RecitationViewModel(report.Recitation, report.Recitation.Owner, poem),
|
||||
DateTime = report.DateTime
|
||||
};
|
||||
|
||||
(PaginationMetadata PagingMeta, RecitationErrorReportViewModel[] Items) paginatedResult =
|
||||
await QueryablePaginator<RecitationErrorReportViewModel>.Paginate(source, paging);
|
||||
return new RServiceResult<(PaginationMetadata PagingMeta, RecitationErrorReportViewModel[] Items)>(paginatedResult);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Upload Enabled (temporary switch off/on for upload)
|
||||
/// </summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user