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