This commit is contained in:
20
BotPages.Core/Abstractions/IStateStorage.cs
Normal file
20
BotPages.Core/Abstractions/IStateStorage.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user