Background Prefetching for Kavita+ (#2707)

This commit is contained in:
Joe Milazzo 2024-02-10 09:43:17 -06:00 committed by GitHub
parent f616b99585
commit 5dc5029a75
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
35 changed files with 3300 additions and 100 deletions

View file

@ -19,6 +19,7 @@ using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
namespace API.Data.Repositories;
#nullable enable
public interface IExternalSeriesMetadataRepository
{
@ -28,6 +29,7 @@ public interface IExternalSeriesMetadataRepository
void Remove(IEnumerable<ExternalReview>? reviews);
void Remove(IEnumerable<ExternalRating>? ratings);
void Remove(IEnumerable<ExternalRecommendation>? recommendations);
void Remove(ExternalSeriesMetadata metadata);
Task<ExternalSeriesMetadata?> GetExternalSeriesMetadata(int seriesId);
Task<bool> ExternalSeriesMetadataNeedsRefresh(int seriesId);
Task<SeriesDetailPlusDto> GetSeriesDetailPlusDto(int seriesId);
@ -70,18 +72,24 @@ public class ExternalSeriesMetadataRepository : IExternalSeriesMetadataRepositor
_context.ExternalReview.RemoveRange(reviews);
}
public void Remove(IEnumerable<ExternalRating> ratings)
public void Remove(IEnumerable<ExternalRating>? ratings)
{
if (ratings == null) return;
_context.ExternalRating.RemoveRange(ratings);
}
public void Remove(IEnumerable<ExternalRecommendation> recommendations)
public void Remove(IEnumerable<ExternalRecommendation>? recommendations)
{
if (recommendations == null) return;
_context.ExternalRecommendation.RemoveRange(recommendations);
}
public void Remove(ExternalSeriesMetadata? metadata)
{
if (metadata == null) return;
_context.ExternalSeriesMetadata.Remove(metadata);
}
/// <summary>
/// Returns the ExternalSeriesMetadata entity for the given Series including all linked tables
/// </summary>