using System.Net.Http.Json; using RBLFeederCommon.Models.RssFeed; using RBLNews.Shared.Services.Contracts; namespace RBLNews.Shared.Services { public interface IFeedDataService { public RssVM Feeds { get; } public Action DataChanged { get; set; } Task LoadFeeds(); } public class FeedDataService : IFeedDataService { private readonly IConfigService _configService; private static readonly HttpClient httpClient = new(); public RssVM Feeds { get; private set; } public Action DataChanged { get; set; } public FeedDataService(IConfigService configService) { this._configService = configService; } public async Task LoadFeeds() { Feeds = await httpClient.GetFromJsonAsync($"{this._configService.AppSettings.BackendApiUrl}/api/feeds") ?? new RssVM(); DataChanged.Invoke(); } } }