using System; using System.Collections.Generic; using System.Threading.Tasks; using Chtn.CSharp.SDK.Core; using Chtn.CSharp.SDK.Models.Media; namespace Chtn.CSharp.SDK.Services { public interface IFileUploadService { Task UploadFiles(RegisterUploadReq req); Task UploadFile(RegisterUploadReq req); Task UploadChunk(ChunkUploadReq req); } public class FileUploadServiceProvider : IFileUploadService { private readonly ApiClient _apiClient; public FileUploadServiceProvider(ApiClient apiClient) { _apiClient = apiClient ?? throw new ArgumentNullException(nameof(apiClient)); } public async Task UploadFiles(RegisterUploadReq req) => await _apiClient.PostAsync("chat/cdnRegisterUpload", req); public async Task UploadFile(RegisterUploadReq req) => await UploadFiles(req); public async Task UploadChunk(ChunkUploadReq req) => await _apiClient.PostAsync("chat/uploadChunk", req); } }