using BotPages.Core.Abstractions;
using BotPages.Core.Context;
namespace BotPages.Core;
///
/// Контекст страницы, объединяющий пользователя, чат, состояние и адаптер.
///
public sealed class PageContext
{
/// Ключ сессии.
public required CompositeSessionKey SessionKey { get; init; }
/// Данные обновления.
public required UpdateContext Update { get; init; }
/// Хранилище состояния.
public required IStateStorage StateStorage { get; init; }
/// Сервис навигации.
public required NavigationService Navigation { get; init; }
/// Адаптер мессенджера.
public required IMessengerAdapter Adapter { get; init; }
///
/// Получить билдер альбомов.
///
public IAlbumBuilder Albums => Adapter.CreateAlbumBuilder(this);
}