Kavita/Kavita.API/Repositories/IExternalSeriesMetadataRepository.cs
Fesaa c62b20f54b
BE Tech Debt (#4497)
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Co-authored-by: Joe Milazzo <josephmajora@gmail.com>
2026-03-07 10:04:08 -08:00

29 lines
1.4 KiB
C#

using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Kavita.Common.Helpers;
using Kavita.Models.DTOs.KavitaPlus.Manage;
using Kavita.Models.DTOs.SeriesDetail;
using Kavita.Models.Entities;
using Kavita.Models.Entities.Metadata;
namespace Kavita.API.Repositories;
public interface IExternalSeriesMetadataRepository
{
void Attach(ExternalSeriesMetadata metadata);
void Attach(ExternalRating rating);
void Attach(ExternalReview review);
void Remove(IEnumerable<ExternalReview>? reviews);
void Remove(IEnumerable<ExternalRating>? ratings);
void Remove(IEnumerable<ExternalRecommendation>? recommendations);
void Remove(ExternalSeriesMetadata metadata);
Task<ExternalSeriesMetadata?> GetExternalSeriesMetadata(int seriesId, CancellationToken ct = default);
Task<bool> NeedsDataRefresh(int seriesId, CancellationToken ct = default);
Task<SeriesDetailPlusDto?> GetSeriesDetailPlusDto(int seriesId, CancellationToken ct = default);
Task LinkRecommendationsToSeries(Series series, CancellationToken ct = default);
Task<bool> IsBlacklistedSeries(int seriesId, CancellationToken ct = default);
Task<IList<int>> GetSeriesThatNeedExternalMetadata(int limit, bool includeStaleData = false, CancellationToken ct = default);
Task<PagedList<ManageMatchSeriesDto>> GetAllSeries(ManageMatchFilterDto filter, UserParams userParams, CancellationToken ct = default);
}