Files
rssotto-csharp-client/ModVersionChecker/service/ApiService.cs
Jose Conde 4c76f04d0e refactors
2025-09-30 15:57:56 +02:00

47 lines
1.5 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(List<App> apps)
{
var appResponses = await _apiRepository.GetAppsByIds(apps);
return appResponses.Select(AppResponse.toModel).ToList();
}
public async Task<List<App>> SearchApps(string searchText)
{
var appResponses = await _apiRepository.SearchApps(searchText);
return appResponses.Select(AppResponse.toModel).ToList();
}
}
}