fix #2513 - add new methods for deleting a setting and retrieving a list of settings

This commit is contained in:
Shaun Walker 2022-12-07 08:59:03 -05:00
parent fd13ad1fca
commit cc7f98a6fe
2 changed files with 35 additions and 0 deletions

View File

@ -164,6 +164,24 @@ namespace Oqtane.Services
/// <returns></returns>
Task UpdateSettingsAsync(Dictionary<string, string> settings, string entityName, int entityId);
/// <summary>
/// Returns a specific setting
/// </summary>
/// <param name="entityName"></param>
/// <param name="entityId"></param>
/// <param name="settingName"></param>
/// <returns></returns>
Task DeleteSettingAsync(string entityName, int entityId, string settingName);
/// <summary>
/// Returns a specific setting
/// </summary>
/// <param name="entityName"></param>
/// <param name="entityId"></param>
/// <param name="settingName"></param>
/// <returns></returns>
Task<List<Setting>> GetSettingsAsync(string entityName, int entityId, string settingName);
/// <summary>
/// Returns a specific setting
/// </summary>

View File

@ -170,6 +170,23 @@ namespace Oqtane.Services
}
}
public async Task DeleteSettingAsync(string entityName, int entityId, string settingName)
{
var settings = await GetJsonAsync<List<Setting>>($"{Apiurl}?entityname={entityName}&entityid={entityId}");
var setting = settings.FirstOrDefault(item => item.SettingName == settingName);
await DeleteAsync($"{Apiurl}/{setting.SettingId}/{entityName}");
}
public async Task<List<Setting>> GetSettingsAsync(string entityName, int entityId, string settingName)
{
var settings = await GetJsonAsync<List<Setting>>($"{Apiurl}?entityname={entityName}&entityid={entityId}");
if (!string.IsNullOrEmpty(settingName))
{
settings = settings.Where(item => item.SettingName == settingName).ToList();
}
return settings;
}
public async Task<Setting> GetSettingAsync(string entityName, int settingId)
{
return await GetJsonAsync<Setting>($"{Apiurl}/{settingId}/{entityName}");