using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Crowdin.Plugin.Server_API.Services { using Helpers; using Serializable; using Serializable.SourceFile; public class SourceFilesApiService : BaseApiService { private static string BaseUri => SettingsHelper.GetUri("files", SettingsHelper.GetProjectId()); private readonly CrowdinHttpClient _httpClient = CrowdinHttpClient.Default; public Task UpdateSourceFile(int fileId, UpdateFileQueryData queryData, CancellationToken ct) { return _httpClient.PutAsync($"{BaseUri}/{fileId}", queryData, ct); } public Task> ListSourceFiles(int directoryId, CancellationToken ct) { var url = directoryId > 0 ? $"{BaseUri}?directoryId={directoryId}" : BaseUri; return _httpClient.ListAllAsync(url, limit: 500, ct); } public Task AddSourceFile(AddFileQueryData queryData, CancellationToken ct) { return _httpClient.PostAsync(BaseUri, queryData, ct); } } }