Инициализировать репозиторий «Дейл»
Первый коммит: модульный монолит ядра (.NET 10) и gRPC-сервисы ai/ml/telegram, фронтенд Vue 3/Vite/Tailwind, документация (ТЗ, инструкция пользователя, техдокументация, код-стайл), бэклог, скрипты развёртывания и архив прототипа LeadRadar.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
namespace Deal.Modules.Cards.Application;
|
||||
|
||||
/// <summary>
|
||||
/// Ядро карточки: единственное, что есть у любой карточки во всех дашбордах.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Никаких «полей заявки» в ядре: стек/бюджет/контакты и прочее — опциональные модули-роли
|
||||
/// (см. <c>IContentCard</c>, <c>IBudgetedCard</c> и др.), которые реализует агрегат карточки
|
||||
/// по мере наполнения. <see cref="Source"/> — откуда карточка пришла (см. иерархию <c>ISource</c>);
|
||||
/// у карточки, созданной пайплайном из сообщения канала, источник составной:
|
||||
/// <c>ICompositeSource { Origin: ITelegramSource, Pipeline: [IAiSource/IMl] }</c>.
|
||||
/// Типизированный доступ к конкретному источнику — дискриминация через иерархию ISource
|
||||
/// (паттерн-матчинг), отдельный generic-интерфейс не нужен.
|
||||
/// </remarks>
|
||||
public interface ICard
|
||||
{
|
||||
/// <summary>
|
||||
/// Короткий id карточки (единый префикс карточек, напр. <c>c_</c>).
|
||||
/// </summary>
|
||||
public string Id { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Заголовок карточки (очищенный).
|
||||
/// </summary>
|
||||
public string Title { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Источник: откуда карточка пришла (полиморфный, не enum).
|
||||
/// </summary>
|
||||
public ISource Source { get; }
|
||||
}
|
||||
Reference in New Issue
Block a user