20 lines
1002 B
C#
20 lines
1002 B
C#
namespace BotPages.Core.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Интерфейс универсального хранилища состояния.
|
|
/// Позволяет сохранять и восстанавливать данные между обновлениями.
|
|
/// </summary>
|
|
public interface IStateStorage
|
|
{
|
|
/// <summary>Получить состояние по ключу.</summary>
|
|
Task<T?> GetAsync<T>(CompositeSessionKey session, string key, CancellationToken ct);
|
|
|
|
/// <summary>Сохранить состояние по ключу.</summary>
|
|
Task SetAsync<T>(CompositeSessionKey session, string key, T state, CancellationToken ct);
|
|
|
|
/// <summary>Удалить состояние по ключу.</summary>
|
|
Task<bool> RemoveAsync(CompositeSessionKey session, string key, CancellationToken ct);
|
|
|
|
/// <summary>Удалить все состояния по ключу.</summary>
|
|
Task<bool> ClearAsync(CompositeSessionKey session, CancellationToken ct);
|
|
} |