using System.Collections.Generic; using System.Net.Http; using System.Threading.Tasks; using Oqtane.Documentation; using Oqtane.Services; using Oqtane.Shared; namespace Oqtane.Modules.HtmlText.Services { [PrivateApi("Mark HtmlText classes as private, since it's not very useful in the public docs")] public class HtmlTextService : ServiceBase, IHtmlTextService, IClientService { public HtmlTextService(HttpClient http, SiteState siteState) : base(http, siteState) {} private string ApiUrl => CreateApiUrl("HtmlText"); public async Task> GetHtmlTextsAsync(int moduleId) { return await GetJsonAsync>(CreateAuthorizationPolicyUrl($"{ApiUrl}?moduleid={moduleId}", EntityNames.Module, moduleId)); } public async Task GetHtmlTextAsync(int moduleId) { return await GetJsonAsync(CreateAuthorizationPolicyUrl($"{ApiUrl}/{moduleId}", EntityNames.Module, moduleId)); } public async Task GetHtmlTextAsync(int htmlTextId, int moduleId) { return await GetJsonAsync(CreateAuthorizationPolicyUrl($"{ApiUrl}/{htmlTextId}/{moduleId}", EntityNames.Module, moduleId)); } public async Task AddHtmlTextAsync(Models.HtmlText htmlText) { return await PostJsonAsync(CreateAuthorizationPolicyUrl($"{ApiUrl}", EntityNames.Module, htmlText.ModuleId), htmlText); } public async Task DeleteHtmlTextAsync(int htmlTextId, int moduleId) { await DeleteAsync(CreateAuthorizationPolicyUrl($"{ApiUrl}/{htmlTextId}/{moduleId}", EntityNames.Module, moduleId)); } } }