НАЧАЛО >> Новостные ленты >> Контракт Разработчика NewsFeed Project Activity📄 Скачать в DOCX
NewsFeed является projection/materialization layer. Он не читает доменную БД задач напрямую и не исполняет workflow. Внешний рантайм передает в ProjectEvents профиль и массив безопасных event DTO.
Минимальный event DTO:
{
"id": "event-1",
"sourceModule": "Tasks",
"eventType": "workflow.status.changed",
"projectKey": "TASK",
"workflowKey": "TASK",
"sourceObjectType": "TASK",
"sourceObjectKey": "TASK-1",
"title": "Задача перешла в работу",
"message": "Статус изменен",
"publicText": "",
"actorName": "Администратор",
"createdAt": "2026-09-04T10:00:00+03:00",
"traceId": "trace-1",
"visible": true,
"public": false,
"tags": ["workflow"],
"safePayload": {
"statusTitle": "В работе"
}
}
ProjectEvents возвращает:
items: нормализованные ProjectActivityItem;counts: счетчики обработки;diagnostics: объяснение пропусков и скрытий;dryRun: признак запуска без сохранения.Idempotency key строится из ключа профиля, source event id и ключа правила. Повторное событие в одном запуске не должно создавать второй элемент.
Доменный модуль владеет safe resolver-ом, публичным текстом и решением, является ли событие значимым. EventBus владеет event log и delivery, Queue - фоновым выполнением, Security - правами, Observability - маршрутизацией эксплуатационных сигналов.