using System.Collections.Generic; using System.Threading.Tasks; using API.Data.Repositories; using API.DTOs; using API.DTOs.Reader; using API.Entities; namespace API.Interfaces.Repositories { public interface IUserRepository { void Update(AppUser user); void Update(AppUserPreferences preferences); void Update(AppUserBookmark bookmark); public void Delete(AppUser user); Task> GetMembersAsync(); Task> GetAdminUsersAsync(); Task> GetNonAdminUsersAsync(); Task IsUserAdmin(AppUser user); Task GetUserRating(int seriesId, int userId); 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 GetBookmarkForPage(int page, int chapterId, int userId); Task GetUserIdByApiKeyAsync(string apiKey); Task GetUserByUsernameAsync(string username, AppUserIncludes includeFlags = AppUserIncludes.None); Task GetUserByIdAsync(int userId, AppUserIncludes includeFlags = AppUserIncludes.None); Task GetUserIdByUsernameAsync(string username); Task GetUserWithReadingListsByUsernameAsync(string username); } }