Added client side repos

This commit is contained in:
2025-01-21 14:39:30 +01:00
parent bc555a79bf
commit 5b16cda8ea
7 changed files with 87 additions and 2 deletions

View File

@@ -0,0 +1,15 @@
using Portfolio.Shared.Models;
using Portfolio.Shared.Services;
namespace Portfolio.Web.Services;
internal sealed class TimelineRepository(IHttpClientFactory factory) : ITimelineRepository {
public async Task<IEnumerable<TimelineEntry>> GetTimeline(TimelineEntryType type, CancellationToken ct) {
var client = factory.CreateClient("api");
var result = await client.GetAsync($"api/timeline/{type}", ct);
if (!result.IsSuccessStatusCode) return [];
var data = await result.Content.ReadFromJsonAsync<IEnumerable<TimelineEntry>>(ct);
return data ?? [];
}
}