Files
Deal/src/core/Deal.Modules.Discovery/Application/Models/DiscoveryCandidateRow.cs
T
Rustam Khalimov 9e07568ddd Инициализировать репозиторий «Дейл»
Первый коммит: модульный монолит ядра (.NET 10) и gRPC-сервисы
ai/ml/telegram, фронтенд Vue 3/Vite/Tailwind, документация (ТЗ,
инструкция пользователя, техдокументация, код-стайл), бэклог,
скрипты развёртывания и архив прототипа LeadRadar.
2026-09-11 02:50:17 +03:00

43 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace Deal.Modules.Discovery.Application.Models;
/// <summary>
/// Полная запись нового кандидата задачи (INSERT disc_candidates; discovery.py L435450).
/// </summary>
/// <remarks>
/// Write-модель: содержит только заполняемые при добавлении поля. Служебные значения INSERT прототипа
/// L436–449 проставляет хранилище: Participants=NULL, LangRu=NULL, Marks=«[]», Topics=«[]», FitRatio=NULL,
/// Status=<c>new</c>, AutoJoined=false, JoinFailures=0; CreatedAt/UpdatedAt — UTC-now.
/// </remarks>
public sealed record DiscoveryCandidateRow
{
/// <summary>
/// Подписанный id источника (первичный ключ DiscCandidates).
/// </summary>
public string DialogId { get; init; } = string.Empty;
/// <summary>
/// Id задачи поиска.
/// </summary>
public string TaskId { get; init; } = string.Empty;
/// <summary>
/// Имя источника (пустое → DialogId нормализует сервис).
/// </summary>
public string Name { get; init; } = string.Empty;
/// <summary>
/// Username источника (пуст, если нет публичного username).
/// </summary>
public string Username { get; init; } = string.Empty;
/// <summary>
/// Тип источника: channel|group|forum.
/// </summary>
public string Kind { get; init; } = "channel";
/// <summary>
/// Цвет источника (дефолт «#666»).
/// </summary>
public string Hue { get; init; } = "#666";
}