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

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using System.Threading.Tasks;
using API.DTOs;
@ -21,7 +22,7 @@ public interface IVolumeRepository
Task<IList<int>> GetChapterIdsByVolumeIds(IReadOnlyList<int> volumeIds);
Task<IEnumerable<VolumeDto>> GetVolumesDtoAsync(int seriesId, int userId);
Task<Volume?> GetVolumeAsync(int volumeId);
Task<VolumeDto> GetVolumeDtoAsync(int volumeId, int userId);
Task<VolumeDto?> GetVolumeDtoAsync(int volumeId, int userId);
Task<IEnumerable<Volume>> GetVolumesForSeriesAsync(IList<int> seriesIds, bool includeChapters = false);
Task<IEnumerable<Volume>> GetVolumes(int seriesId);
Task<Volume?> GetVolumeByIdAsync(int volumeId);
@ -119,7 +120,7 @@ public class VolumeRepository : IVolumeRepository
/// <param name="volumeId"></param>
/// <param name="userId"></param>
/// <returns></returns>
public async Task<VolumeDto> GetVolumeDtoAsync(int volumeId, int userId)
public async Task<VolumeDto?> GetVolumeDtoAsync(int volumeId, int userId)
{
var volume = await _context.Volume
.Where(vol => vol.Id == volumeId)
@ -127,7 +128,9 @@ public class VolumeRepository : IVolumeRepository
.ThenInclude(c => c.Files)
.AsSplitQuery()
.ProjectTo<VolumeDto>(_mapper.ConfigurationProvider)
.SingleAsync(vol => vol.Id == volumeId);
.SingleOrDefaultAsync(vol => vol.Id == volumeId);
if (volume == null) return null;
var volumeList = new List<VolumeDto>() {volume};
await AddVolumeModifiers(userId, volumeList);