-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Description
Задача
Дать сотруднику технической поддержки доступ к технологическому журналу работы приложения, который содержит бизнесовые события предметной области.
Технические требования
- Репозиторий делается PSR3-совместимым
- Каждая запись JournalItem содержит следующие поля:
- uuid id
- uuid applicationInstallationId,
- carbonimmutable createdAt
- enum level (psr3-compatible)
- string message
- JournalContext $context
- Объект контекста JournalContext содержит следующие поля
- ?string label - метка, например 'b24.exchange.realtime'
- ?array payload - произвольный объект json, храним в jsonb поле
- ?int b24UserId - идентификатор пользователя Битрикс24
- ?ip ip (используется darsyn/ip-doctrine)
- JournalItem содержит статические фабричные методы psr3 для облегчения создания объектов
- Есть ReadModel коорая использует KnpPaginatorBundle для постраничного показа журнала
- Есть контроллер, который позволяет показать технологический журнал внутри админки приложения
- Есть фоновая задача, которая запускается и осуществляет зачистку записей журнала старше N дней (параметризируется как аргумент вызова)
- в репозитории есть метод удаления всех записей журнала по конкретной инсталляции applicationInstallationId
для геттеров\сеттеров сущности и репозитория выделены интерфейсы, которые будут в последствии (после стабилизации API) вынесены в контракты репозитория b24-php-sdk
Example
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request