Files
Moonlight/Moonlight.Client/Services/ThemeService.cs

49 lines
1.2 KiB
C#

using MoonCore.Attributes;
using MoonCore.Helpers;
using MoonCore.Models;
using Moonlight.Shared.Http.Requests.Admin.Sys.Theme;
using Moonlight.Shared.Http.Responses.Admin;
using Moonlight.Shared.Misc;
namespace Moonlight.Client.Services;
[Scoped]
public class ThemeService
{
private readonly HttpApiClient ApiClient;
public ThemeService(HttpApiClient apiClient)
{
ApiClient = apiClient;
}
public async Task<ThemeResponse> GetAsync(int id)
{
return await ApiClient.GetJson<ThemeResponse>(
$"api/admin/system/customisation/themes/{id}"
);
}
public async Task<ThemeResponse> CreateAsync(CreateThemeRequest request)
{
return await ApiClient.PostJson<ThemeResponse>(
"api/admin/system/customisation/themes",
request
);
}
public async Task<ThemeResponse> UpdateAsync(int id, UpdateThemeRequest request)
{
return await ApiClient.PatchJson<ThemeResponse>(
$"api/admin/system/customisation/themes/{id}",
request
);
}
public async Task DeleteAsync(int id)
{
await ApiClient.Delete(
$"api/admin/system/customisation/themes/{id}"
);
}
}