using System.Threading;
using System.Threading.Tasks;

namespace AsbCloudApp.Services
{
    public interface IUserSettingsRepository
    {
        public const int ErrorKeyNotFound = -1;
        public const int ErrorKeyIsUsed = -2;
        Task<object> GetOrDefaultAsync(int userId, string key, CancellationToken token);
        Task<int> InsertAsync(int userId, string key, object value, CancellationToken token);
        Task<int> UpdateAsync(int userId, string key, object value, CancellationToken token);
        Task<int> DeleteAsync(int userId, string key, CancellationToken token);
    }
}