using Portfolio.Shared.Models; using Portfolio.Shared.Services; namespace Portfolio.Web.Services; internal sealed class ProjectRepository(IHttpClientFactory factory) : IProjectRepository { public async Task> GetProjects(CancellationToken ct) { var client = factory.CreateClient("api"); var response = await client.GetAsync("api/projects", ct); if (!response.IsSuccessStatusCode) return []; var data = await response.Content.ReadFromJsonAsync>(ct); return data?.OrderByDescending(p => p.OrderIndex) ?? Enumerable.Empty(); } }