using System.Collections.Generic;
using System.Threading.Tasks;
namespace Abp.Configuration
{
///
/// This interface is used to get/set settings from/to a data source (database).
///
public interface ISettingStore
{
///
/// Gets a setting or null.
///
/// TenantId or null
/// UserId or null
/// Name of the setting
/// Setting object
Task GetSettingOrNullAsync(int? tenantId, long? userId, string name);
///
/// Deletes a setting.
///
/// Setting to be deleted
Task DeleteAsync(SettingInfo setting);
///
/// Adds a setting.
///
/// Setting to add
Task CreateAsync(SettingInfo setting);
///
/// Update a setting.
///
/// Setting to add
Task UpdateAsync(SettingInfo setting);
///
/// Gets a list of setting.
///
/// TenantId or null
/// UserId or null
/// List of settings
Task> GetAllListAsync(int? tenantId, long? userId);
}
}