Files
Portfolio/src/Portfolio.Web/Services/TechnologyRepository.cs
Leon Hoppe aac2f5180b
All checks were successful
Portfolio CI/CD / build (push) Successful in 1m8s
Portfolio CI/CD / test (push) Successful in 1m51s
Portfolio CI/CD / publish (push) Has been skipped
added multithreaded api calling on homepage
2026-02-22 12:22:20 +01:00

24 lines
989 B
C#

using Portfolio.Shared.Models;
using Portfolio.Shared.Services;
namespace Portfolio.Web.Services;
internal sealed class TechnologyRepository(IHttpClientFactory factory) : ITechnologyRepository {
public async Task<IEnumerable<Technology>> GetTechnologies(CancellationToken ct) {
var client = factory.CreateClient("api");
var response = await client.GetAsync("api/technologies", ct);
if (!response.IsSuccessStatusCode) return [];
var data = await response.Content.ReadFromJsonAsync<IEnumerable<Technology>>(ct);
return data ?? [];
}
public async Task<IEnumerable<Technology>> GetFeaturedTechnologies(CancellationToken ct) {
var client = factory.CreateClient("api");
var response = await client.GetAsync("api/technologies/featured", ct);
if (!response.IsSuccessStatusCode) return [];
var data = await response.Content.ReadFromJsonAsync<IEnumerable<Technology>>(ct);
return data ?? [];
}
}