MVCPostall/Postall.Domain/Services/Contracts/IYouTubeServiceChannel.cs
2025-03-08 19:13:24 -03:00

19 lines
872 B
C#

using BaseDomain.Results;
using Postall.Domain.Dtos;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Postall.Domain.Services.Contracts
{
public interface IVideoService
{
Task<Result<List<VideoResponse>>> GetUserVideosAsync();
Task<Result<List<VideoResponse>>> GetVideosByChannelIdAsync(string channelId);
Task<Result<VideoResponse>> GetVideoDetailsAsync(string videoId);
Task<Result<List<VideoResponse>>> GetChannelVideosFromYouTubeAsync(string channelId, int maxResults = 10);
Task<Result<bool>> AddVideoAsync(string videoId, string channelId);
Task<Result<bool>> AddVideosAsync(List<string> videoIds, string channelId);
Task<Result<bool>> RemoveVideoAsync(string videoId);
Task<Result<List<VideoResponse>>> SearchVideosAsync(string query, int maxResults = 10);
}
}