diff --git a/Oqtane.Client/Services/Interfaces/ISettingService.cs b/Oqtane.Client/Services/Interfaces/ISettingService.cs index 8e795e80..b2d7908f 100644 --- a/Oqtane.Client/Services/Interfaces/ISettingService.cs +++ b/Oqtane.Client/Services/Interfaces/ISettingService.cs @@ -164,6 +164,24 @@ namespace Oqtane.Services /// Task UpdateSettingsAsync(Dictionary settings, string entityName, int entityId); + /// + /// Returns a specific setting + /// + /// + /// + /// + /// + Task DeleteSettingAsync(string entityName, int entityId, string settingName); + + /// + /// Returns a specific setting + /// + /// + /// + /// + /// + Task> GetSettingsAsync(string entityName, int entityId, string settingName); + /// /// Returns a specific setting /// diff --git a/Oqtane.Client/Services/SettingService.cs b/Oqtane.Client/Services/SettingService.cs index 13177055..95442552 100644 --- a/Oqtane.Client/Services/SettingService.cs +++ b/Oqtane.Client/Services/SettingService.cs @@ -170,6 +170,23 @@ namespace Oqtane.Services } } + public async Task DeleteSettingAsync(string entityName, int entityId, string settingName) + { + var settings = await GetJsonAsync>($"{Apiurl}?entityname={entityName}&entityid={entityId}"); + var setting = settings.FirstOrDefault(item => item.SettingName == settingName); + await DeleteAsync($"{Apiurl}/{setting.SettingId}/{entityName}"); + } + + public async Task> GetSettingsAsync(string entityName, int entityId, string settingName) + { + var settings = await GetJsonAsync>($"{Apiurl}?entityname={entityName}&entityid={entityId}"); + if (!string.IsNullOrEmpty(settingName)) + { + settings = settings.Where(item => item.SettingName == settingName).ToList(); + } + return settings; + } + public async Task GetSettingAsync(string entityName, int settingId) { return await GetJsonAsync($"{Apiurl}/{settingId}/{entityName}");