-
- protected function buildWebhookData(): array
- {
- $textParts = [
- $this->initiator->name,
- trans('activities.' . $this->event),
- ];
-
- if ($this->detail instanceof Entity) {
- $textParts[] = '"' . $this->detail->name . '"';
- }
-
- $data = [
- 'event' => $this->event,
- 'text' => implode(' ', $textParts),
- 'triggered_at' => Carbon::createFromTimestampUTC($this->initiatedTime)->toISOString(),
- 'triggered_by' => $this->initiator->attributesToArray(),
- 'triggered_by_profile_url' => $this->initiator->getProfileUrl(),
- 'webhook_id' => $this->webhook->id,
- 'webhook_name' => $this->webhook->name,
- ];
-
- if (method_exists($this->detail, 'getUrl')) {
- $data['url'] = $this->detail->getUrl();
- }
-
- if ($this->detail instanceof Model) {
- $data['related_item'] = $this->detail->attributesToArray();
- }
-
- return $data;
- }