using System.Collections.Generic; using System.Threading.Tasks; using API.DTOs; using API.Entities; namespace API.Interfaces { public interface IUserRepository { void Update(AppUser user); void Update(AppUserPreferences preferences); public void Delete(AppUser user); Task GetUserByUsernameAsync(string username); Task GetUserByIdAsync(int id); Task> GetMembersAsync(); Task> GetAdminUsersAsync(); Task GetUserRating(int seriesId, int userId); void AddRatingTracking(AppUserRating userRating); Task GetPreferencesAsync(string username); Task> GetBookmarkDtosForSeries(int userId, int seriesId); Task> GetBookmarkDtosForVolume(int userId, int volumeId); Task> GetBookmarkDtosForChapter(int userId, int chapterId); Task> GetAllBookmarkDtos(int userId); Task GetUserByApiKeyAsync(string apiKey); } }