using Oqtane.Models; using System.Threading.Tasks; using System.Net.Http; using Oqtane.Documentation; using Oqtane.Shared; namespace Oqtane.Services { /// /// Service to manage tasks () /// public interface ISiteTaskService { /// /// Return a specific task /// /// /// Task GetSiteTaskAsync(int siteTaskId); /// /// Adds a new task /// /// /// Task AddSiteTaskAsync(SiteTask siteTask); } [PrivateApi("Don't show in the documentation, as everything should use the Interface")] public class SiteTaskService : ServiceBase, ISiteTaskService { public SiteTaskService(HttpClient http, SiteState siteState) : base(http, siteState) { } private string Apiurl => CreateApiUrl("SiteTask"); public async Task GetSiteTaskAsync(int siteTaskId) { return await GetJsonAsync($"{Apiurl}/{siteTaskId}"); } public async Task AddSiteTaskAsync(SiteTask siteTask) { return await PostJsonAsync(Apiurl, siteTask); } } }