using ModVersionChecker.repository.api; using ModVersionChecker.repository.api.dto; using ModVersionChecker.service.interfaces; using System.Collections.Generic; using System.Threading.Tasks; namespace ModVersionChecker.service { public class ApiService : IApiService { private readonly IApiRepository _apiRepository; public ApiService(IApiRepository apiRepository) { _apiRepository = apiRepository; } public Task AuthenticateAsync(string username, string password) => _apiRepository.AuthenticateAsync(username, password); public Task?> GetAppVersionsAsync(List apps) => _apiRepository.GetAppVersionsAsync(apps); public Task GetAppLatestVersionAsync(App app) => _apiRepository.GetAppLatestVersionAsync(app); public Task> GetTypes() => _apiRepository.GetTypes(); public Task> GetSources() => _apiRepository.GetSources(); public async Task> GetAppsByIds(App[] apps) { var appResponses = await _apiRepository.GetAppsByIds(apps); return appResponses.Select(AppResponse.toModel).ToList(); } public Task?> SearchApps(string searchText) { var appResponses = _apiRepository.SearchApps(searchText); return appResponses.ContinueWith(t => t.Result?.Select(AppResponse.toModel).ToList()); } } }