Контракт Разработчика NewsFeed Project Activity


НАЧАЛО >> Новостные ленты >> Контракт Разработчика 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 возвращает:

Idempotency key строится из ключа профиля, source event id и ключа правила. Повторное событие в одном запуске не должно создавать второй элемент.

Доменный модуль владеет safe resolver-ом, публичным текстом и решением, является ли событие значимым. EventBus владеет event log и delivery, Queue - фоновым выполнением, Security - правами, Observability - маршрутизацией эксплуатационных сигналов.