Files
rssotto-csharp-client/ModVersionChecker/service/ApiService.cs
Jose Conde 5e16f781b4 phase 1
2025-09-29 16:02:00 +02:00

47 lines
1.6 KiB
C#

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<bool> AuthenticateAsync(string username, string password)
=> _apiRepository.AuthenticateAsync(username, password);
public Task<List<AppVersionsResponse>?> GetAppVersionsAsync(List<App> apps)
=> _apiRepository.GetAppVersionsAsync(apps);
public Task<AppVersionsResponse?> GetAppLatestVersionAsync(App app)
=> _apiRepository.GetAppLatestVersionAsync(app);
public Task<List<TypeResponse>> GetTypes()
=> _apiRepository.GetTypes();
public Task<List<SourceResponse>> GetSources()
=> _apiRepository.GetSources();
public async Task<List<App>> GetAppsByIds(App[] apps)
{
var appResponses = await _apiRepository.GetAppsByIds(apps);
return appResponses.Select(AppResponse.toModel).ToList();
}
public Task<List<App>?> SearchApps(string searchText)
{
var appResponses = _apiRepository.SearchApps(searchText);
return appResponses.ContinueWith(t => t.Result?.Select(AppResponse.toModel).ToList());
}
}
}