#198 added the API for history of suggested songs by a user
This commit is contained in:
parent
5f6a638b82
commit
7016828479
@ -1090,6 +1090,24 @@ namespace RMuseum.Controllers
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// history of suggested songs by a user
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
[Route("song/user/stats/{userId}")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.ReviewSongs)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(UserSongSuggestionsHistory))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.Forbidden)]
|
||||
public async Task<IActionResult> GetUserSongsSuggestionsStatistics(Guid userId)
|
||||
{
|
||||
var res =
|
||||
await _ganjoorService.GetUserSongsSuggestionsStatistics(userId);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// review song
|
||||
/// </summary>
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
namespace RMuseum.Models.Ganjoor.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// history of suggested songs by a user
|
||||
/// </summary>
|
||||
public class UserSongSuggestionsHistory
|
||||
{
|
||||
/// <summary>
|
||||
/// approved
|
||||
/// </summary>
|
||||
public int Approved { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rejected
|
||||
/// </summary>
|
||||
public int Rejected { get; set; }
|
||||
}
|
||||
}
|
||||
@ -986,6 +986,11 @@
|
||||
<param name="onlyMine"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.GetUserSongsSuggestionsStatistics(System.Guid)">
|
||||
<summary>
|
||||
history of suggested songs by a user
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.ReviewSong(RMuseum.Models.Ganjoor.ViewModels.PoemMusicTrackViewModel)">
|
||||
<summary>
|
||||
review song
|
||||
@ -6226,6 +6231,21 @@
|
||||
alternate text
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.Ganjoor.ViewModels.UserSongSuggestionsHistory">
|
||||
<summary>
|
||||
history of suggested songs by a user
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.ViewModels.UserSongSuggestionsHistory.Approved">
|
||||
<summary>
|
||||
approved
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.ViewModels.UserSongSuggestionsHistory.Rejected">
|
||||
<summary>
|
||||
rejected
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.ImportJob.ImportJob">
|
||||
<summary>
|
||||
Import Job
|
||||
@ -7761,6 +7781,13 @@
|
||||
<param name="suggestedById"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.GetUserSongsSuggestionsStatistics(System.Guid)">
|
||||
<summary>
|
||||
get track of user song suggestions
|
||||
</summary>
|
||||
<param name="userId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.SuggestSong(System.Guid,RMuseum.Models.Ganjoor.ViewModels.PoemMusicTrackViewModel)">
|
||||
<summary>
|
||||
suggest song
|
||||
@ -9422,6 +9449,13 @@
|
||||
<param name="suggestedById"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetUserSongsSuggestionsStatistics(System.Guid)">
|
||||
<summary>
|
||||
get track of user song suggestions
|
||||
</summary>
|
||||
<param name="userId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.ReviewSong(RMuseum.Models.Ganjoor.ViewModels.PoemMusicTrackViewModel)">
|
||||
<summary>
|
||||
review song
|
||||
|
||||
@ -212,6 +212,13 @@ namespace RMuseum.Services
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<PoemMusicTrackViewModel>> GetNextUnreviewedSong(int skip, Guid suggestedById);
|
||||
|
||||
/// <summary>
|
||||
/// get track of user song suggestions
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<UserSongSuggestionsHistory>> GetUserSongsSuggestionsStatistics(Guid userId);
|
||||
|
||||
/// <summary>
|
||||
/// suggest song
|
||||
/// </summary>
|
||||
|
||||
@ -1848,6 +1848,23 @@ namespace RMuseum.Services.Implementation
|
||||
return new RServiceResult<PoemMusicTrackViewModel>(null); //not found
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// get track of user song suggestions
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<UserSongSuggestionsHistory>> GetUserSongsSuggestionsStatistics(Guid userId)
|
||||
{
|
||||
return new RServiceResult<UserSongSuggestionsHistory>
|
||||
(
|
||||
new UserSongSuggestionsHistory()
|
||||
{
|
||||
Approved = await _context.GanjoorPoemMusicTracks.Where(p => p.SuggestedById == userId && p.Approved == true).CountAsync(),
|
||||
Rejected = await _context.GanjoorPoemMusicTracks.Where(p => p.SuggestedById == userId && p.Rejected == true).CountAsync()
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// review song
|
||||
/// </summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user