config = $config; $this->backendAuthSession = $backendAuthSession; $this->usersFactory = $usersFactory; $this->jsonEncoder = $jsonEncoder; } /** * Reports concurrent admins to the database reporting_users table * * @param Observer $observer * @return void * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function execute(Observer $observer) { if ($this->config->isNewRelicEnabled()) { if ($this->backendAuthSession->isLoggedIn()) { $user = $this->backendAuthSession->getUser(); $jsonData = [ 'id' => $user->getId(), 'username' => $user->getUserName(), 'name' => $user->getFirstName() . ' ' . $user->getLastName(), ]; $modelData = [ 'type' => 'admin_activity', 'action' => $this->jsonEncoder->encode($jsonData), ]; /** @var \Magento\NewRelicReporting\Model\Users $usersModel */ $usersModel = $this->usersFactory->create(); $usersModel->setData($modelData); $usersModel->save(); } } } }