Release Testing Day 3 (#1951)

* Code cleanup.

Fixed OPDS images missing api key.

Fixed theme color on site manifest not being black.

* Removed a console.log from timeago pipe

* Reading list page is now alphabetical and the modal for adding to a reading list is ordered by most recent.

* Fixed a bug where remove read from reading list failed due to Calculating Start and End date assuming chapter would always be there.

* Fixed a bug where reading list cover would get reset when editing the reading list.

* Fixed a bug where reading list item didn't have not read badge. It's on old style.

* Fixed a bug where user-preferences was hitting an admin only api when there was a better alternative

* Slight memory improvement on a common db call

* Fixed a bug where resetting to default theme when a theme was deleted was throwing an exception and failing.

* All Login dtos now have the active KavitaVersion to make external apps able to handle what version of the API they are connecting with.

* Fixed up a case where getVolume repo method always assumed there was a volume by that Id.
This commit is contained in:
Joe Milazzo 2023-05-02 16:02:33 -05:00 committed by GitHub
parent 875931b162
commit faf58e6985
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 139 additions and 158 deletions

View file

@ -27,7 +27,7 @@ public enum ReadingListIncludes
public interface IReadingListRepository
{
Task<PagedList<ReadingListDto>> GetReadingListDtosForUserAsync(int userId, bool includePromoted, UserParams userParams);
Task<PagedList<ReadingListDto>> GetReadingListDtosForUserAsync(int userId, bool includePromoted, UserParams userParams, bool sortByLastModified = true);
Task<ReadingList?> GetReadingListByIdAsync(int readingListId, ReadingListIncludes includes = ReadingListIncludes.None);
Task<IEnumerable<ReadingListItemDto>> GetReadingListItemDtosByIdAsync(int readingListId, int userId);
Task<ReadingListDto?> GetReadingListDtoByIdAsync(int readingListId, int userId);
@ -166,17 +166,18 @@ public class ReadingListRepository : IReadingListRepository
}
public async Task<PagedList<ReadingListDto>> GetReadingListDtosForUserAsync(int userId, bool includePromoted, UserParams userParams)
public async Task<PagedList<ReadingListDto>> GetReadingListDtosForUserAsync(int userId, bool includePromoted, UserParams userParams, bool sortByLastModified = true)
{
var userAgeRating = (await _context.AppUser.SingleAsync(u => u.Id == userId)).AgeRestriction;
var query = _context.ReadingList
.Where(l => l.AppUserId == userId || (includePromoted && l.Promoted ))
.Where(l => l.AgeRating >= userAgeRating)
.OrderBy(l => l.LastModified)
.ProjectTo<ReadingListDto>(_mapper.ConfigurationProvider)
.Where(l => l.AgeRating >= userAgeRating);
query = sortByLastModified ? query.OrderByDescending(l => l.LastModified) : query.OrderBy(l => l.NormalizedTitle);
var finalQuery = query.ProjectTo<ReadingListDto>(_mapper.ConfigurationProvider)
.AsNoTracking();
return await PagedList<ReadingListDto>.CreateAsync(query, userParams.PageNumber, userParams.PageSize);
return await PagedList<ReadingListDto>.CreateAsync(finalQuery, userParams.PageNumber, userParams.PageSize);
}
public async Task<IEnumerable<ReadingListDto>> GetReadingListDtosForSeriesAndUserAsync(int userId, int seriesId, bool includePromoted)