#70 get next unreviewed song API method
This commit is contained in:
parent
a7727f3d43
commit
dc990cea09
@ -304,6 +304,37 @@ namespace RMuseum.Controllers
|
|||||||
return Ok(res.Result);
|
return Ok(res.Result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// get next unreviewed song
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="skip"></param>
|
||||||
|
/// <param name="onlyMine"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
[Route("song")]
|
||||||
|
[Authorize]
|
||||||
|
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PoemMusicTrackViewModel))]
|
||||||
|
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||||
|
[ProducesResponseType((int)HttpStatusCode.Forbidden)]
|
||||||
|
public async Task<IActionResult> GetNextUnreviewedSong(int skip = 0, bool onlyMine = false)
|
||||||
|
{
|
||||||
|
Guid userId =
|
||||||
|
new Guid(User.Claims.FirstOrDefault(c => c.Type == "UserId").Value);
|
||||||
|
Guid sessionId =
|
||||||
|
new Guid(User.Claims.FirstOrDefault(c => c.Type == "SessionId").Value);
|
||||||
|
RServiceResult<bool> sessionCheckResult = await _appUserService.SessionExists(userId, sessionId);
|
||||||
|
if (!string.IsNullOrEmpty(sessionCheckResult.ExceptionString))
|
||||||
|
{
|
||||||
|
return StatusCode((int)HttpStatusCode.Forbidden);
|
||||||
|
}
|
||||||
|
|
||||||
|
var res =
|
||||||
|
await _ganjoorService.GetNextUnreviewedSong(skip, onlyMine ? userId : Guid.Empty);
|
||||||
|
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||||
|
return BadRequest(res.ExceptionString);
|
||||||
|
return Ok(res.Result);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// get a random poem from hafez
|
/// get a random poem from hafez
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -723,6 +723,14 @@
|
|||||||
<param name="song"></param>
|
<param name="song"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:RMuseum.Controllers.GanjoorController.GetNextUnreviewedSong(System.Int32,System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
get next unreviewed song
|
||||||
|
</summary>
|
||||||
|
<param name="skip"></param>
|
||||||
|
<param name="onlyMine"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:RMuseum.Controllers.GanjoorController.Faal">
|
<member name="M:RMuseum.Controllers.GanjoorController.Faal">
|
||||||
<summary>
|
<summary>
|
||||||
get a random poem from hafez
|
get a random poem from hafez
|
||||||
@ -5660,11 +5668,12 @@
|
|||||||
<param name="trackType"></param>
|
<param name="trackType"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:RMuseum.Services.IGanjoorService.GetNextUnreviewedSong(System.Int32)">
|
<member name="M:RMuseum.Services.IGanjoorService.GetNextUnreviewedSong(System.Int32,System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
next unreviewed track
|
next unreviewed track
|
||||||
</summary>
|
</summary>
|
||||||
<param name="skip"></param>
|
<param name="skip"></param>
|
||||||
|
<param name="suggestedById"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:RMuseum.Services.IGanjoorService.SuggestSong(System.Guid,RMuseum.Models.Ganjoor.ViewModels.PoemMusicTrackViewModel)">
|
<member name="M:RMuseum.Services.IGanjoorService.SuggestSong(System.Guid,RMuseum.Models.Ganjoor.ViewModels.PoemMusicTrackViewModel)">
|
||||||
@ -6508,11 +6517,12 @@
|
|||||||
<param name="song"></param>
|
<param name="song"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetNextUnreviewedSong(System.Int32)">
|
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetNextUnreviewedSong(System.Int32,System.Guid)">
|
||||||
<summary>
|
<summary>
|
||||||
next unreviewed track
|
next unreviewed track
|
||||||
</summary>
|
</summary>
|
||||||
<param name="skip"></param>
|
<param name="skip"></param>
|
||||||
|
<param name="suggestedById"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.Faal">
|
<member name="M:RMuseum.Services.Implementation.GanjoorService.Faal">
|
||||||
|
|||||||
@ -119,8 +119,9 @@ namespace RMuseum.Services
|
|||||||
/// next unreviewed track
|
/// next unreviewed track
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="skip"></param>
|
/// <param name="skip"></param>
|
||||||
|
/// <param name="suggestedById"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<RServiceResult<PoemMusicTrackViewModel>> GetNextUnreviewedSong(int skip);
|
Task<RServiceResult<PoemMusicTrackViewModel>> GetNextUnreviewedSong(int skip, Guid suggestedById);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// suggest song
|
/// suggest song
|
||||||
|
|||||||
@ -841,12 +841,15 @@ namespace RMuseum.Services.Implementation
|
|||||||
/// next unreviewed track
|
/// next unreviewed track
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="skip"></param>
|
/// <param name="skip"></param>
|
||||||
|
/// <param name="suggestedById"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<RServiceResult<PoemMusicTrackViewModel>> GetNextUnreviewedSong(int skip)
|
public async Task<RServiceResult<PoemMusicTrackViewModel>> GetNextUnreviewedSong(int skip, Guid suggestedById)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var song = await _context.GanjoorPoemMusicTracks.Where(p => p.Approved == false && p.Rejected == false).OrderBy(p => p.Id).Skip(skip).FirstOrDefaultAsync();
|
var song = await _context.GanjoorPoemMusicTracks
|
||||||
|
.Where(p => p.Approved == false && p.Rejected == false && (suggestedById == Guid.Empty || p.SuggestedById == suggestedById))
|
||||||
|
.OrderBy(p => p.Id).Skip(skip).FirstOrDefaultAsync();
|
||||||
if(song != null)
|
if(song != null)
|
||||||
{
|
{
|
||||||
return new RServiceResult<PoemMusicTrackViewModel>
|
return new RServiceResult<PoemMusicTrackViewModel>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user