fixes and improvements on updating narrations
This commit is contained in:
parent
bc8cb1c465
commit
d25050750e
@ -173,10 +173,10 @@ namespace RMuseum.Controllers
|
||||
|
||||
[HttpPut("{id}")]
|
||||
[Authorize]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PoemNarrationUpdateViewModel))]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PoemNarrationViewModel))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.Forbidden, Type = typeof(string))]
|
||||
public async Task<IActionResult> UpdatePoemNarration(int id, [FromBody] PoemNarrationUpdateViewModel metadata)
|
||||
public async Task<IActionResult> UpdatePoemNarration(int id, [FromBody] PoemNarrationViewModel metadata)
|
||||
{
|
||||
Guid loggedOnUserId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "UserId").Value);
|
||||
|
||||
@ -214,7 +214,7 @@ namespace RMuseum.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpPut("moderate/{id}")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.AudioNarrationEntityShortName + ":" + RMuseumSecurableItem.ModerateOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PoemNarrationUpdateViewModel))]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(bool))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.Forbidden, Type = typeof(string))]
|
||||
public async Task<IActionResult> ModeratePoemNarration(int id, [FromBody] PoemNarrationModerateViewModel model)
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
namespace RMuseum.Models.GanjoorAudio.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Poem Narration View Model for updates
|
||||
/// </summary>
|
||||
public class PoemNarrationUpdateViewModel
|
||||
{
|
||||
/// <summary>
|
||||
/// Audio Title
|
||||
/// </summary>
|
||||
public string AudioTitle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Audio Artist
|
||||
/// </summary>
|
||||
public string AudioArtist { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Audio Artist Url
|
||||
/// </summary>
|
||||
public string AudioArtistUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Audio Source
|
||||
/// </summary>
|
||||
public string AudioSrc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Audio Src Url
|
||||
/// </summary>
|
||||
public string AudioSrcUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Review Status
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// changing from Draft => Pending or Pending => Draft is possible for owner, other changes need narration::moderate permission
|
||||
/// </remarks>
|
||||
public AudioReviewStatus ReviewStatus { get; set; }
|
||||
}
|
||||
}
|
||||
@ -664,7 +664,7 @@
|
||||
<param name="id">narration id</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.AudioNarrationController.UpdatePoemNarration(System.Int32,RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel)">
|
||||
<member name="M:RMuseum.Controllers.AudioNarrationController.UpdatePoemNarration(System.Int32,RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationViewModel)">
|
||||
<summary>
|
||||
updates narration metadata
|
||||
</summary>
|
||||
@ -2061,44 +2061,6 @@
|
||||
Rejection Message
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel">
|
||||
<summary>
|
||||
Poem Narration View Model for updates
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel.AudioTitle">
|
||||
<summary>
|
||||
Audio Title
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel.AudioArtist">
|
||||
<summary>
|
||||
Audio Artist
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel.AudioArtistUrl">
|
||||
<summary>
|
||||
Audio Artist Url
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel.AudioSrc">
|
||||
<summary>
|
||||
Audio Source
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel.AudioSrcUrl">
|
||||
<summary>
|
||||
Audio Src Url
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel.ReviewStatus">
|
||||
<summary>
|
||||
Review Status
|
||||
</summary>
|
||||
<remarks>
|
||||
changing from Draft => Pending or Pending => Draft is possible for owner, other changes need narration::moderate permission
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationViewModel">
|
||||
<summary>
|
||||
Poem Narration view model
|
||||
@ -4013,7 +3975,7 @@
|
||||
<param name="id">narration id</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IAudioNarrationService.UpdatePoemNarration(System.Int32,RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel)">
|
||||
<member name="M:RMuseum.Services.IAudioNarrationService.UpdatePoemNarration(System.Int32,RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationViewModel)">
|
||||
<summary>
|
||||
updates metadata for narration
|
||||
</summary>
|
||||
@ -4831,7 +4793,7 @@
|
||||
<param name="id">narration id</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.AudioNarrationService.UpdatePoemNarration(System.Int32,RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationUpdateViewModel)">
|
||||
<member name="M:RMuseum.Services.Implementation.AudioNarrationService.UpdatePoemNarration(System.Int32,RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationViewModel)">
|
||||
<summary>
|
||||
updates metadata for narration
|
||||
</summary>
|
||||
|
||||
@ -43,7 +43,7 @@ namespace RMuseum.Services
|
||||
/// <param name="id"></param>
|
||||
/// <param name="metadata"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<bool>> UpdatePoemNarration(int id, PoemNarrationUpdateViewModel metadata);
|
||||
Task<RServiceResult<PoemNarrationViewModel>> UpdatePoemNarration(int id, PoemNarrationViewModel metadata);
|
||||
|
||||
/// <summary>
|
||||
/// imports narration data from ganjoor MySql database
|
||||
|
||||
@ -142,13 +142,13 @@ namespace RMuseum.Services.Implementation
|
||||
/// <param name="id"></param>
|
||||
/// <param name="metadata"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<bool>> UpdatePoemNarration(int id, PoemNarrationUpdateViewModel metadata)
|
||||
public async Task<RServiceResult<PoemNarrationViewModel>> UpdatePoemNarration(int id, PoemNarrationViewModel metadata)
|
||||
{
|
||||
try
|
||||
{
|
||||
PoemNarration narration = await _context.AudioFiles.Where(a => a.Id == id).SingleOrDefaultAsync();
|
||||
if(narration == null)
|
||||
return new RServiceResult<bool>(false, "404");
|
||||
return new RServiceResult<PoemNarrationViewModel>(null, "404");
|
||||
narration.AudioTitle = metadata.AudioTitle;
|
||||
narration.AudioArtist = metadata.AudioArtist;
|
||||
narration.AudioArtistUrl = metadata.AudioArtistUrl;
|
||||
@ -157,11 +157,11 @@ namespace RMuseum.Services.Implementation
|
||||
narration.ReviewStatus = metadata.ReviewStatus;
|
||||
_context.AudioFiles.Update(narration);
|
||||
await _context.SaveChangesAsync();
|
||||
return new RServiceResult<bool>(true);
|
||||
return new RServiceResult<PoemNarrationViewModel>(new PoemNarrationViewModel(narration, null, null));
|
||||
}
|
||||
catch (Exception exp)
|
||||
{
|
||||
return new RServiceResult<bool>(false, exp.ToString());
|
||||
return new RServiceResult<PoemNarrationViewModel>(null, exp.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user