using Postall.Domain.Entities; using System.Collections.Generic; using System.Threading.Tasks; namespace Postall.Domain { public interface IVideoRepository { Task> GetAllAsync(); Task GetByIdAsync(string id); Task GetByVideoIdAsync(string videoId); Task> GetByUserIdAsync(string userId); Task> GetByChannelIdAsync(string channelId); Task> GetByUserIdAndChannelIdAsync(string userId, string channelId); Task GetByUserIdAndVideoIdAsync(string userId, string videoId); Task AddAsync(VideoData videoData); Task> AddManyAsync(IEnumerable videos); Task UpdateAsync(VideoData videoData); Task DeleteAsync(string id); Task DeleteByVideoIdAsync(string videoId); Task> SearchAsync(string searchTerm); } }