.NET 8 Update (#2496)

This commit is contained in:
Joe Milazzo 2023-12-13 19:16:54 -06:00 committed by GitHub
parent 6d4d2d4a7f
commit b838fd53e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
75 changed files with 590 additions and 405 deletions

View file

@ -199,7 +199,6 @@ public class BookService : IBookService
}
if (!book.Content.AllFiles.TryGetLocalFileRefByKey(key, out var bookFile)) continue;
//var bookFile = book.Content.AllFiles.Local[key];
var content = await bookFile.ReadContentAsBytesAsync();
importBuilder.Append(Encoding.UTF8.GetString(content));
}
@ -555,7 +554,6 @@ public class BookService : IBookService
// If this is a single book and not a collection, set publication status to Completed
if (string.IsNullOrEmpty(info.Volume) && Parser.ParseVolume(filePath).Equals(Parser.DefaultVolume))
{
//info.Number = "1";
info.Count = 1;
}
@ -938,8 +936,9 @@ public class BookService : IBookService
/// <param name="mappings"></param>
/// <param name="key"></param>
/// <returns></returns>
private static string CoalesceKey(EpubBookRef book, IReadOnlyDictionary<string, int> mappings, string key)
private static string? CoalesceKey(EpubBookRef book, IReadOnlyDictionary<string, int> mappings, string? key)
{
if (string.IsNullOrEmpty(key)) return key;
if (mappings.ContainsKey(CleanContentKeys(key))) return key;
// Fallback to searching for key (bad epub metadata)
@ -949,7 +948,7 @@ public class BookService : IBookService
key = correctedKey;
}
var stepsBack = CountParentDirectory(book.Content.NavigationHtmlFile?.FilePath); // FileName -> FilePath
var stepsBack = CountParentDirectory(book.Content.NavigationHtmlFile?.FilePath);
if (mappings.TryGetValue(key, out _))
{
return key;

View file

@ -644,10 +644,10 @@ public class DirectoryService : IDirectoryService
/// Scans a directory by utilizing a recursive folder search. If a .kavitaignore file is found, will ignore matching patterns
/// </summary>
/// <param name="folderPath"></param>
/// <param name="supportedExtensions"></param>
/// <param name="fileTypes"></param>
/// <param name="matcher"></param>
/// <returns></returns>
public IList<string> ScanFiles(string folderPath, string supportedExtensions, GlobMatcher? matcher = null)
public IList<string> ScanFiles(string folderPath, string fileTypes, GlobMatcher? matcher = null)
{
_logger.LogDebug("[ScanFiles] called on {Path}", folderPath);
var files = new List<string>();
@ -668,19 +668,19 @@ public class DirectoryService : IDirectoryService
foreach (var directory in directories)
{
files.AddRange(ScanFiles(directory, supportedExtensions, matcher));
files.AddRange(ScanFiles(directory, fileTypes, matcher));
}
// Get the matcher from either ignore or global (default setup)
if (matcher == null)
{
files.AddRange(GetFilesWithCertainExtensions(folderPath, supportedExtensions));
files.AddRange(GetFilesWithCertainExtensions(folderPath, fileTypes));
}
else
{
var foundFiles = GetFilesWithCertainExtensions(folderPath,
supportedExtensions)
fileTypes)
.Where(file => !matcher.ExcludeMatches(FileSystem.FileInfo.New(file).Name));
files.AddRange(foundFiles);
}

View file

@ -16,6 +16,7 @@ using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
namespace API.Services;
#nullable enable
public interface IEmailService
{

View file

@ -14,6 +14,7 @@ using Hangfire;
using Microsoft.Extensions.Logging;
namespace API.Services;
#nullable enable
public interface IMetadataService
{

View file

@ -31,7 +31,7 @@ internal class ExternalMetadataIdsDto
public interface IExternalMetadataService
{
Task<ExternalSeriesDetailDto> GetExternalSeriesDetail(int? aniListId, long? malId, int? seriesId);
Task<ExternalSeriesDetailDto?> GetExternalSeriesDetail(int? aniListId, long? malId, int? seriesId);
}
public class ExternalMetadataService : IExternalMetadataService

View file

@ -22,6 +22,7 @@ using Kavita.Common;
using Microsoft.Extensions.Logging;
namespace API.Services;
#nullable enable
public interface IReaderService
{

View file

@ -21,6 +21,7 @@ using Kavita.Common;
using Microsoft.Extensions.Logging;
namespace API.Services;
#nullable enable
public interface IReadingListService
{

View file

@ -399,7 +399,7 @@ public class ParseScannedFiles
/// World of Acceleration v02.cbz having Series "Accel World" and Localized Series of "World of Acceleration"
/// </example>
/// <param name="infos">A collection of ParserInfos</param>
private void MergeLocalizedSeriesWithSeries(IReadOnlyCollection<ParserInfo> infos)
private void MergeLocalizedSeriesWithSeries(IReadOnlyCollection<ParserInfo?> infos)
{
var hasLocalizedSeries = infos.Any(i => !string.IsNullOrEmpty(i.LocalizedSeries));
if (!hasLocalizedSeries) return;

View file

@ -34,7 +34,7 @@ public class DefaultParser : IDefaultParser
public ParserInfo? Parse(string filePath, string rootPath, LibraryType type = LibraryType.Manga)
{
var fileName = _directoryService.FileSystem.Path.GetFileNameWithoutExtension(filePath);
// TODO: Potential Bug: This will return null, but on Image libraries, if all images, we would want to include this. (we can probably remove this and have users use kavitaignore)
// TODO: Potential Bug: This will return null, but on Image libraries, if all images, we would want to include this.
if (type != LibraryType.Image && Parser.IsCoverImage(_directoryService.FileSystem.Path.GetFileName(filePath))) return null;
var ret = new ParserInfo()

View file

@ -501,7 +501,6 @@ public class ScannerService : IScannerService
// {
// await task();
// }
// TODO: We might be able to do Task.WhenAll
await _eventHub.SendMessageAsync(MessageFactory.NotificationProgress,
MessageFactory.FileScanProgressEvent(string.Empty, library.Name, ProgressEventType.Ended));

View file

@ -37,7 +37,7 @@ public class StatsService : IStatsService
private readonly IUnitOfWork _unitOfWork;
private readonly DataContext _context;
private readonly IStatisticService _statisticService;
private const string ApiUrl = "https://stats.kavitareader.com"; // ""
private const string ApiUrl = "https://stats.kavitareader.com";
public StatsService(ILogger<StatsService> logger, IUnitOfWork unitOfWork, DataContext context, IStatisticService statisticService)
{

View file

@ -13,7 +13,6 @@ using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
namespace API.Services.Tasks;
#nullable enable
internal class GithubReleaseMetadata
@ -76,7 +75,7 @@ public class VersionUpdaterService : IVersionUpdaterService
/// Fetches the latest release from Github
/// </summary>
/// <returns>Latest update</returns>
public async Task<UpdateNotificationDto> CheckForUpdate()
public async Task<UpdateNotificationDto?> CheckForUpdate()
{
var update = await GetGithubRelease();
return CreateDto(update);

View file

@ -17,6 +17,7 @@ using JwtRegisteredClaimNames = Microsoft.IdentityModel.JsonWebTokens.JwtRegiste
namespace API.Services;
#nullable enable
public interface ITokenService
{