#478 user contributions + PublicUserNotes

This commit is contained in:
Hamid Reza Mohammadi 2025-03-29 11:31:08 +03:30
parent 03173bbb97
commit 881ddd7c45
4 changed files with 87 additions and 0 deletions

View File

@ -57,6 +57,7 @@ namespace RMuseum.Controllers
/// pinterestlinks
/// poetspeclines
/// poetpix
/// usernotes
/// </param>
/// <param name="paging"></param>
/// <param name="userId"></param>
@ -160,6 +161,14 @@ namespace RMuseum.Controllers
pagedResult = res.Result;
}
break;
case "usernotes":
{
var res = await _service.GetApprovedUserNotesGroupedByDateAsync(paging, userId);
if (!string.IsNullOrEmpty(res.ExceptionString))
return BadRequest(res.ExceptionString);
pagedResult = res.Result;
}
break;
default:
return BadRequest($"Invalid value for the paramater: dataType = {dataType}");
}
@ -185,6 +194,7 @@ namespace RMuseum.Controllers
/// pinterestlinks
/// poetspeclines
/// poetpix
/// usernotes
/// </param>
/// <param name="paging"></param>
/// <param name="day"></param>
@ -289,6 +299,14 @@ namespace RMuseum.Controllers
pagedResult = res.Result;
}
break;
case "usernotes":
{
var res = await _service.GetApprovedUserNotesGroupedByUserAsync(paging, day, userId);
if (!string.IsNullOrEmpty(res.ExceptionString))
return BadRequest(res.ExceptionString);
pagedResult = res.Result;
}
break;
default:
return BadRequest($"Invalid value for the paramater: dataType = {dataType}");
}
@ -315,6 +333,7 @@ namespace RMuseum.Controllers
/// pinterestlinks
/// poetspeclines
/// poetpix
/// usernotes
/// </param>
/// <returns></returns>
[HttpGet("{dataType}/summary")]
@ -415,6 +434,14 @@ namespace RMuseum.Controllers
result = res.Result;
}
break;
case "usernotes":
{
var res = await _service.GetApprovedUserNotesSummedUpStatsAsync();
if (!string.IsNullOrEmpty(res.ExceptionString))
return BadRequest(res.ExceptionString);
result = res.Result;
}
break;
default:
return BadRequest($"Invalid value for the paramater: dataType = {dataType}");
}

View File

@ -66,5 +66,10 @@ namespace RMuseum.Models.Ganjoor.ViewModels
/// poet pictures
/// </summary>
public int PoetPictures { get; set; }
/// <summary>
/// public user notes
/// </summary>
public int PublicUserNotes { get; set; }
}
}

View File

@ -785,6 +785,7 @@
pinterestlinks
poetspeclines
poetpix
usernotes
</param>
<param name="paging"></param>
<param name="userId"></param>
@ -806,6 +807,7 @@
pinterestlinks
poetspeclines
poetpix
usernotes
</param>
<param name="paging"></param>
<param name="day"></param>
@ -828,6 +830,7 @@
pinterestlinks
poetspeclines
poetpix
usernotes
</param>
<returns></returns>
</member>
@ -13520,6 +13523,11 @@
poet pictures
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.ViewModels.UserContributionsViewModel.PublicUserNotes">
<summary>
public user notes
</summary>
</member>
<member name="T:RMuseum.Models.Ganjoor.ViewModels.UserSongSuggestionsHistory">
<summary>
history of suggested songs by a user
@ -16300,6 +16308,29 @@
</summary>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IContributionStatsService.GetApprovedUserNotesGroupedByDateAsync(RSecurityBackend.Models.Generic.PagingParameterModel,System.Nullable{System.Guid})">
<summary>
approved user notes
</summary>
<param name="paging"></param>
<param name="userId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IContributionStatsService.GetApprovedUserNotesGroupedByUserAsync(RSecurityBackend.Models.Generic.PagingParameterModel,System.Nullable{System.DateTime},System.Nullable{System.Guid})">
<summary>
approved user notes grouped by user
</summary>
<param name="paging"></param>
<param name="day"></param>
<param name="userId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IContributionStatsService.GetApprovedUserNotesSummedUpStatsAsync">
<summary>
summed up stats of approved user notes
</summary>
<returns></returns>
</member>
<member name="T:RMuseum.Services.IDonationService">
<summary>
donation service
@ -19466,6 +19497,29 @@
</summary>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.ContributionStatsService.GetApprovedUserNotesGroupedByDateAsync(RSecurityBackend.Models.Generic.PagingParameterModel,System.Nullable{System.Guid})">
<summary>
approved user notes
</summary>
<param name="paging"></param>
<param name="userId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.ContributionStatsService.GetApprovedUserNotesGroupedByUserAsync(RSecurityBackend.Models.Generic.PagingParameterModel,System.Nullable{System.DateTime},System.Nullable{System.Guid})">
<summary>
approved user notes grouped by user
</summary>
<param name="paging"></param>
<param name="day"></param>
<param name="userId"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.ContributionStatsService.GetApprovedUserNotesSummedUpStatsAsync">
<summary>
summed up stats of approved user notes
</summary>
<returns></returns>
</member>
<member name="F:RMuseum.Services.Implementation.ContributionStatsService._context">
<summary>
Database Context

View File

@ -41,6 +41,7 @@ namespace RMuseum.Services.Implementation
PinterestLinks = await _context.PinterestLinks.Where(c => c.HumanReviewed && c.ReviewResult == Models.GanjoorIntegration.ReviewResult.Approved && c.SuggestedById == userId).CountAsync(),
PoetSpecLines = await _context.GanjoorPoetSuggestedSpecLines.Where(c => c.Published && c.SuggestedById == userId).CountAsync(),
PoetPictures = await _context.GanjoorPoetSuggestedPictures.Where(c => c.Published && c.SuggestedById == userId).CountAsync(),
PublicUserNotes = await _context.UserNotes.Where(c => c.Status == Models.Artifact.PublishStatus.Published && c.NoteType == Models.Note.RNoteType.Public && c.RAppUserId == userId).CountAsync()
}
);