using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services; /// /// репозиторий для личных настроек пользователя /// public interface IUserSettingsRepository { /// /// код ошибки: ключ не найден /// public const int ErrorKeyNotFound = -1; /// /// код ошибки: ключ уже занят /// public const int ErrorKeyIsUsed = -2; /// /// Получить настройки по ключу для пользователя /// /// /// /// /// Task GetOrDefaultAsync(int userId, string key, CancellationToken token); /// /// Добавить или изменить настройки с ключем для пользователя /// /// /// /// /// /// Task UpsertAsync(int userId, string key, System.Text.Json.JsonDocument value, CancellationToken token); /// /// Удалить настройки с ключем для пользователя /// /// /// /// /// Task DeleteAsync(int userId, string key, CancellationToken token); /// /// Удалить ВСЕ настройки пользователя /// /// /// /// Task DeleteAsync(int userId, CancellationToken token); }