mirror of
https://github.com/Kareadita/Kavita.git
synced 2026-04-02 15:23:40 -04:00
27 lines
1.1 KiB
C#
27 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Kavita.Models.DTOs.ReadingLists.CBL.RemapRules;
|
|
using Kavita.Models.Entities;
|
|
using Kavita.Models.Entities.ReadingLists;
|
|
|
|
namespace Kavita.API.Repositories;
|
|
|
|
public interface IReadingListRemapRuleRepository
|
|
{
|
|
/// <summary>
|
|
/// Returns all remap rules matching the given normalized CBL series names,
|
|
/// ordered with user-specific rules before global rules.
|
|
/// </summary>
|
|
Task<IList<ReadingListRemapRule>> GetRulesForNamesAsync(IList<string> normalizedNames, int userId, CancellationToken ct = default);
|
|
Task<IList<ReadingListRemapRule>> GetRulesForUserAsync(int userId, CancellationToken ct = default);
|
|
Task<ReadingListRemapRule?> GetByIdAsync(int id, CancellationToken ct = default);
|
|
Task<RemapRuleDto?> GetDtoByIdAsync(int id, CancellationToken ct = default);
|
|
/// <summary>
|
|
/// Admin-only: returns all rules across all users, with user names.
|
|
/// </summary>
|
|
Task<IList<ReadingListRemapRule>> GetAllRulesAsync(CancellationToken ct = default);
|
|
void Add(ReadingListRemapRule rule);
|
|
void Remove(ReadingListRemapRule rule);
|
|
}
|