Skip to content

Добавить поддержку сущности Journal #72

@mesilov

Description

@mesilov

Description

Задача
Дать сотруднику технической поддержки доступ к технологическому журналу работы приложения, который содержит бизнесовые события предметной области.

Технические требования

  1. Репозиторий делается PSR3-совместимым
  2. Каждая запись JournalItem содержит следующие поля:
  • uuid id
  • uuid applicationInstallationId,
  • carbonimmutable createdAt
  • enum level (psr3-compatible)
  • string message
  • JournalContext $context
  1. Объект контекста JournalContext содержит следующие поля
  • ?string label - метка, например 'b24.exchange.realtime'
  • ?array payload - произвольный объект json, храним в jsonb поле
  • ?int b24UserId - идентификатор пользователя Битрикс24
  • ?ip ip (используется darsyn/ip-doctrine)
  1. JournalItem содержит статические фабричные методы psr3 для облегчения создания объектов
  2. Есть ReadModel коорая использует KnpPaginatorBundle для постраничного показа журнала
  3. Есть контроллер, который позволяет показать технологический журнал внутри админки приложения
  4. Есть фоновая задача, которая запускается и осуществляет зачистку записей журнала старше N дней (параметризируется как аргумент вызова)
  5. в репозитории есть метод удаления всех записей журнала по конкретной инсталляции applicationInstallationId
    для геттеров\сеттеров сущности и репозитория выделены интерфейсы, которые будут в последствии (после стабилизации API) вынесены в контракты репозитория b24-php-sdk

Example

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions