using Roadie.Library; using Roadie.Library.Models.Pagination; using Roadie.Library.Models.Users; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Roadie.Api.Services { public interface IUserService { Task> ByIdAsync(User user, Guid id, IEnumerable includes, bool isAccountSettingsEdit = false); Task> DeleteAllBookmarksAsync(User roadieUser); Task> ListAsync(PagedRequest request); Task> SetArtistBookmarkAsync(Guid artistId, User roadieUser, bool isBookmarked); Task> SetArtistDislikedAsync(Guid artistId, User roadieUser, bool isDisliked); Task> SetArtistFavoriteAsync(Guid artistId, User roadieUser, bool isFavorite); Task> SetArtistRatingAsync(Guid artistId, User roadieUser, short rating); Task> SetCollectionBookmarkAsync(Guid collectionId, User roadieUser, bool isBookmarked); Task> SetLabelBookmarkAsync(Guid labelId, User roadieUser, bool isBookmarked); Task> SetPlaylistBookmarkAsync(Guid playlistId, User roadieUser, bool isBookmarked); Task> SetReleaseBookmarkAsync(Guid releaseid, User roadieUser, bool isBookmarked); Task> SetReleaseDislikedAsync(Guid releaseId, User roadieUser, bool isDisliked); Task> SetReleaseFavoriteAsync(Guid releaseId, User roadieUser, bool isFavorite); Task> SetReleaseRatingAsync(Guid releaseId, User roadieUser, short rating); Task> SetTrackBookmarkAsync(Guid trackId, User roadieUser, bool isBookmarked); Task> SetTrackDislikedAsync(Guid trackId, User roadieUser, bool isDisliked); Task> SetTrackFavoriteAsync(Guid releaseId, User roadieUser, bool isFavorite); Task> SetTrackRatingAsync(Guid trackId, User roadieUser, short rating); Task> UpdateIntegrationGrantAsync(Guid userId, string integrationName, string token); Task> UpdateProfileAsync(User userPerformingUpdate, User userBeingUpdatedModel); } }