Почистить комментарии от упоминаний процесса
Удалены <remarks>, <summary> сжаты до короткой фразы, вырезаны ссылки на Task/Ruling/этап/python/прототип; //-комментарии со ссылками на процесс удалены; то же в .proto. Правила обновлены в docs/spec/Код-стайл-Дейл.md. Строк комментариев 27210 -> ~19100.
This commit is contained in:
@@ -3,36 +3,22 @@ using Deal.Modules.Kanban.Application.Models;
|
||||
namespace Deal.Api.Events;
|
||||
|
||||
/// <summary>
|
||||
/// Публикация SSE-тостов статистики тика правил хранения в канал тенанта (Ruling 8; notify_tick_stats L496–504).
|
||||
/// Публикация SSE-тостов статистики тика правил хранения в канал тенанта.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Единый хелпер Api-слоя для POST /api/admin/tick (StorageEndpoints/AdminTickOrchestrator, Task 10) и
|
||||
/// фонового StorageTickScheduler (Task 11): публикует тосты только по ненулевым счётчикам, тексты и иконки
|
||||
/// 1:1 с прототипом; без подписчиков канала публикация — no-op (Ruling 5). Вынесен из StorageEndpoints,
|
||||
/// чтобы ручной и фоновый тики не дублировали логику. Модуль Kanban тосты не публикует (Ruling 5:
|
||||
/// публикации SSE — обязанность Api-слоя).
|
||||
/// </remarks>
|
||||
public sealed class StorageToastPublisher
|
||||
{
|
||||
// Тип SSE-события тоста (Ruling 5; api.js L79 слушает 'toast').
|
||||
private const string ToastEventType = "toast";
|
||||
|
||||
// Текст тоста автоархива: N карточек ушло в архив (notify_tick_stats L498).
|
||||
private const string AutoArchiveToastText = "Автоархив: {0} карточек";
|
||||
|
||||
// Текст тоста очистки архива: N карточек удалено из архива (notify_tick_stats L500).
|
||||
private const string ArchiveClearedToastText = "Архив очищен: {0} (90 дн.)";
|
||||
|
||||
// Текст тоста очистки корзины: N карточек удалено из корзины (notify_tick_stats L502).
|
||||
private const string TrashClearedToastText = "Корзина очищена: {0} (7 дн.)";
|
||||
|
||||
// Текст тоста автоочистки отсева пайплайна: N записей старше 3 суток (notify_tick_stats L503–504).
|
||||
private const string RejectedPurgedToastText = "Отсев очищен: {0} записей (3 дн.)";
|
||||
|
||||
// Иконка тоста автоархива (Ruling 8, 1:1 с прототипом).
|
||||
private const string ClockIcon = "clock";
|
||||
|
||||
// Иконка тостов очисток архива/корзины (Ruling 8, 1:1 с прототипом).
|
||||
private const string TrashIcon = "trash";
|
||||
|
||||
private readonly SseBroker _broker;
|
||||
@@ -48,13 +34,8 @@ public sealed class StorageToastPublisher
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Публикует тосты статистики тика по ненулевым счётчикам (notify_tick_stats L496–504).
|
||||
/// Публикует тосты статистики тика по ненулевым счётчикам.
|
||||
/// </summary>
|
||||
/// <remarks>Тексты и иконки 1:1 с прототипом; дни в скобках («90 дн.»/«7 дн.»/«3 дн.») — фиксированные
|
||||
/// строки прототипа (не пересчитываются от настроек). Ветка purgedRejected («Отсев очищен: N записей
|
||||
/// (3 дн.)») — план Task 10: счётчик наполняет оркестратор тика (AdminTickOrchestrator) очисткой отсева
|
||||
/// PipelineProcessingService.PurgeExpiredAsync; фоновый цикл Task 11 публикует ту же ветку по своему тику.
|
||||
/// Публикация в канал тенанта; без подписчиков — no-op (Ruling 5).</remarks>
|
||||
/// <param name="tenantId">Тенант-получатель тостов (сессия запроса / канал тенанта цикла).</param>
|
||||
/// <param name="stats">Статистика только что выполненного тика.</param>
|
||||
public void PublishTickToasts(Guid tenantId, StorageTickStatsDto stats)
|
||||
|
||||
Reference in New Issue
Block a user