* @param $reportId * @param $eventType * @param $eventSubject * @param string|null $user_id * @return IEvent * @throws \OCP\DB\Exception */
($objectId, $eventType, $eventSubject, ?string $user_id = null)
| 104 | * @throws \OCP\DB\Exception |
| 105 | */ |
| 106 | private function createEvent($objectId, $eventType, $eventSubject, ?string $user_id = null) |
| 107 | { |
| 108 | if ($eventType === ActivityManager::OBJECT_REPORT) { |
| 109 | $name = $objectId !== 0 ? $this->ReportMapper->readOwn($objectId)['name'] : ''; |
| 110 | } elseif ($eventType === ActivityManager::OBJECT_DATASET) { |
| 111 | $name = $objectId !== 0 ? $this->DatasetMapper->read($objectId)['name'] : ''; |
| 112 | $objectId = 0; |
| 113 | } elseif ($eventType === ActivityManager::OBJECT_PANORAMA) { |
| 114 | $name = $objectId !== 0 ? $this->PanoramaMapper->read($objectId)['name'] : ''; |
| 115 | } |
| 116 | |
| 117 | if ($user_id) $this->userId = $user_id; |
| 118 | $event = $this->manager->generateEvent(); |
| 119 | $event->setApp('analytics') |
| 120 | ->setType($eventType) |
| 121 | ->setAuthor($this->userId) |
| 122 | ->setObject('report', (int)$objectId, $name) |
| 123 | ->setSubject($eventSubject, ['author' => $this->userId]) |
| 124 | ->setTimestamp(time()); |
| 125 | return $event; |
| 126 | } |
| 127 | |
| 128 | /** |
| 129 | * Publish activity to all users that are part of the dataset |
no test coverage detected