using HoneyBox.Admin.Business.Models.Config;
namespace HoneyBox.Admin.Business.Services.Interfaces;
///
/// 后台配置服务接口
///
public interface IAdminConfigService
{
///
/// 获取配置
///
/// 配置类型
/// 配置键
/// 配置对象
Task GetConfigAsync(string key) where T : class;
///
/// 获取配置(原始JSON字符串)
///
/// 配置键
/// 配置JSON字符串
Task GetConfigRawAsync(string key);
///
/// 更新配置
///
/// 配置类型
/// 配置键
/// 配置对象
/// 是否成功
Task UpdateConfigAsync(string key, T config) where T : class;
///
/// 更新配置(原始JSON字符串)
///
/// 配置键
/// 配置JSON字符串
/// 是否成功
Task UpdateConfigRawAsync(string key, string jsonValue);
///
/// 验证配置
///
/// 配置键
/// 配置JSON字符串
/// 验证结果,null表示验证通过,否则返回错误消息
Task ValidateConfigAsync(string key, string jsonValue);
///
/// 清理配置缓存
///
/// 配置键
Task ClearConfigCacheAsync(string key);
}