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 GetAsync(int id) { return await ApiClient.GetJson( $"api/admin/system/customisation/themes/{id}" ); } public async Task CreateAsync(CreateThemeRequest request) { return await ApiClient.PostJson( "api/admin/system/customisation/themes", request ); } public async Task UpdateAsync(int id, UpdateThemeRequest request) { return await ApiClient.PatchJson( $"api/admin/system/customisation/themes/{id}", request ); } public async Task DeleteAsync(int id) { await ApiClient.Delete( $"api/admin/system/customisation/themes/{id}" ); } }