Удалены <remarks>, <summary> сжаты до короткой фразы, вырезаны ссылки на Task/Ruling/этап/python/прототип; //-комментарии со ссылками на процесс удалены; то же в .proto. Правила обновлены в docs/spec/Код-стайл-Дейл.md. Строк комментариев 27210 -> ~19100.
55 lines
1.9 KiB
C#
55 lines
1.9 KiB
C#
namespace Deal.Telegram.Telegram;
|
|
|
|
/// <summary>
|
|
/// Результат чтения выборки источника для оценки кандидата.
|
|
/// </summary>
|
|
public sealed record DiscoveryReadResult
|
|
{
|
|
/// <summary>
|
|
/// Код причины ok=false
|
|
/// </summary>
|
|
public const string NoHistoryError = "no_history";
|
|
|
|
/// <summary>
|
|
/// Пустой успешный результат.
|
|
/// </summary>
|
|
public static DiscoveryReadResult Empty { get; } = new(true, null, []);
|
|
|
|
/// <summary>
|
|
/// Создаёт результат чтения выборки.
|
|
/// </summary>
|
|
/// <param name="ok">True — выборка получена; false — история недоступна.</param>
|
|
/// <param name="error">Код причины при ok=false ("no_history"); иначе null.</param>
|
|
/// <param name="messages">Сообщения выборки (форумы — по темам, topic_id/topic_title заполнены).</param>
|
|
public DiscoveryReadResult(
|
|
bool ok,
|
|
string? error,
|
|
IReadOnlyList<DiscoveryMessage> messages)
|
|
{
|
|
Ok = ok;
|
|
Error = error;
|
|
Messages = messages;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Создаёт результат «история недоступна»
|
|
/// </summary>
|
|
public static DiscoveryReadResult NoHistory()
|
|
=> new(false, NoHistoryError, []);
|
|
|
|
/// <summary>
|
|
/// True — выборка получена; false — история недоступна без членства.
|
|
/// </summary>
|
|
public bool Ok { get; }
|
|
|
|
/// <summary>
|
|
/// Код причины при ok=false
|
|
/// </summary>
|
|
public string? Error { get; }
|
|
|
|
/// <summary>
|
|
/// Сообщения выборки
|
|
/// </summary>
|
|
public IReadOnlyList<DiscoveryMessage> Messages { get; }
|
|
}
|