using WatchIt.Common.Model.Accounts; using WatchIt.Common.Model.Media; using WatchIt.Common.Model.Movies; using WatchIt.Common.Model.Persons; using WatchIt.Common.Model.Series; using WatchIt.WebAPI.Services.Controllers.Common; namespace WatchIt.WebAPI.Services.Controllers.Accounts; public interface IAccountsControllerService { Task Register(RegisterRequest data); Task Authenticate(AuthenticateRequest data); Task AuthenticateRefresh(); Task Logout(); Task GetAccountProfilePicture(long id); Task PutAccountProfilePicture(AccountProfilePictureRequest data); Task DeleteAccountProfilePicture(); Task GetAccountProfileBackground(long id); Task PutAccountProfileBackground(AccountProfileBackgroundRequest data); Task DeleteAccountProfileBackground(); Task GetAccounts(AccountQueryParameters query); Task GetAccount(long id); Task PutAccountProfileInfo(AccountProfileInfoRequest data); Task PatchAccountUsername(AccountUsernameRequest data); Task PatchAccountEmail(AccountEmailRequest data); Task PatchAccountPassword(AccountPasswordRequest data); Task GetAccountRatedMovies(long id, MovieRatedQueryParameters query); Task GetAccountRatedSeries(long id, SeriesRatedQueryParameters query); Task GetAccountRatedPersons(long id, PersonRatedQueryParameters query); Task GetAccountFollows(long id, AccountQueryParameters query); Task GetAccountFollowers(long id, AccountQueryParameters query); Task PostAccountFollow(long userId); Task DeleteAccountFollow(long userId); }