using WatchIt.Common.Model.Media; using WatchIt.Common.Model.Photos; using WatchIt.Common.Model.Rating; using WatchIt.Common.Model.Roles; using WatchIt.WebAPI.Services.Controllers.Common; namespace WatchIt.WebAPI.Services.Controllers.Media; public interface IMediaControllerService { Task GetAllMedia(MediaQueryParameters query); Task GetMedia(long mediaId); Task GetMediaGenres(long mediaId); Task PostMediaGenre(long mediaId, short genreId); Task DeleteMediaGenre(long mediaId, short genreId); Task GetMediaRating(long mediaId); Task GetMediaRatingByUser(long mediaId, long userId); Task PutMediaRating(long mediaId, RatingRequest data); Task DeleteMediaRating(long mediaId); Task PostMediaView(long mediaId); Task GetMediaPoster(long mediaId); Task PutMediaPoster(long mediaId, MediaPosterRequest data); Task DeleteMediaPoster(long mediaId); Task GetMediaPhotos(long mediaId, PhotoQueryParameters queryParameters); Task GetMediaPhotoRandomBackground(long mediaId); Task PostMediaPhoto(long mediaId, MediaPhotoRequest data); Task GetMediaAllActorRoles(long mediaId, ActorRoleMediaQueryParameters queryParameters); Task PostMediaActorRole(long mediaId, IActorRoleMediaRequest data); Task GetMediaAllCreatorRoles(long mediaId, CreatorRoleMediaQueryParameters queryParameters); Task PostMediaCreatorRole(long mediaId, ICreatorRoleMediaRequest data); }