using Portfolio.Shared.Models; using Portfolio.Shared.Services; namespace Portfolio.Web.Services; internal sealed class TechnologyRepository(IHttpClientFactory factory) : ITechnologyRepository { public async Task> 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>(ct); return data ?? []; } public async Task> 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>(ct); return data ?? []; } }