diff --git a/API/Controllers/PersonController.cs b/API/Controllers/PersonController.cs index a2ab3bf88..844d7d517 100644 --- a/API/Controllers/PersonController.cs +++ b/API/Controllers/PersonController.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using API.Data; using API.Data.Repositories; using API.DTOs; +using API.DTOs.Filtering.v2; using API.DTOs.Person; using API.Entities.Enums; using API.Extensions; @@ -80,8 +81,10 @@ public class PersonController : BaseApiController public async Task>> GetAuthorsForBrowse([FromQuery] UserParams? userParams) { userParams ??= UserParams.Default; - var list = await _unitOfWork.PersonRepository.GetAllWritersAndSeriesCount(User.GetUserId(), userParams); + + var list = await _unitOfWork.PersonRepository.GetBrowsePersonDtos(User.GetUserId(), [PersonRole.CoverArtist, PersonRole.Writer], userParams); Response.AddPaginationHeader(list.CurrentPage, list.PageSize, list.TotalCount, list.TotalPages); + return Ok(list); } diff --git a/API/Data/Repositories/PersonRepository.cs b/API/Data/Repositories/PersonRepository.cs index dce3f86ef..6847a4286 100644 --- a/API/Data/Repositories/PersonRepository.cs +++ b/API/Data/Repositories/PersonRepository.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using API.DTOs; +using API.DTOs.Filtering.v2; using API.DTOs.Person; using API.Entities.Enums; using API.Entities.Person; @@ -45,7 +46,7 @@ public interface IPersonRepository Task GetCoverImageAsync(int personId); Task GetCoverImageByNameAsync(string name); Task> GetRolesForPersonByName(int personId, int userId); - Task> GetAllWritersAndSeriesCount(int userId, UserParams userParams); + Task> GetBrowsePersonDtos(int userId, List roles, UserParams userParams); Task GetPersonById(int personId, PersonIncludes includes = PersonIncludes.None); Task GetPersonDtoByName(string name, int userId, PersonIncludes includes = PersonIncludes.Aliases); /// @@ -194,9 +195,8 @@ public class PersonRepository : IPersonRepository return chapterRoles.Union(seriesRoles).Distinct(); } - public async Task> GetAllWritersAndSeriesCount(int userId, UserParams userParams) + public async Task> GetBrowsePersonDtos(int userId, List roles, UserParams userParams) { - List roles = [PersonRole.Writer, PersonRole.CoverArtist]; var ageRating = await _context.AppUser.GetUserAgeRestriction(userId); var query = _context.Person