From 6f2541dcb5a7cfedb033a7048c097fd5267b531a Mon Sep 17 00:00:00 2001 From: edalzell Date: Wed, 1 Sep 2021 15:24:19 -0700 Subject: [PATCH] set the data properly --- src/Notifications/AbstractAlert.php | 3 +-- src/Notifications/AlertCleared.php | 16 ++++++++++++++++ src/Notifications/AlertRaised.php | 12 ++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/Notifications/AbstractAlert.php b/src/Notifications/AbstractAlert.php index b673e76..66d5258 100644 --- a/src/Notifications/AbstractAlert.php +++ b/src/Notifications/AbstractAlert.php @@ -34,13 +34,12 @@ public function via($notifiable) * @param mixed $notifiable * @return array */ - public function toArray() + public function toArray(): array { return [ 'event' => $this->event, 'date' => Arr::get($this->alert, 'date'), 'is_up' => Arr::get($this->alert, 'alert.is_up'), - 'locations' =>Arr::get($this->alert, 'locations'), 'output' => Arr::get($this->alert, 'alert.short_output'), 'subject' => $this->subject, 'test' => Arr::get($this->alert, 'service.name'), diff --git a/src/Notifications/AlertCleared.php b/src/Notifications/AlertCleared.php index 6b804ed..f788f2a 100644 --- a/src/Notifications/AlertCleared.php +++ b/src/Notifications/AlertCleared.php @@ -2,8 +2,24 @@ namespace TransformStudios\Uptime\Notifications; +use Illuminate\Support\Carbon; +use Statamic\Support\Arr; + class AlertCleared extends AbstractAlert { protected string $event = 'alert_cleared'; protected string $subject = 'Monitor Alert: Alert Cleared'; + + public function toArray(): array + { + $startedAt = Carbon::parse(Arr::get($this->alert, 'downtime.started_at')); + $endedAt = Carbon::parse(Arr::get($this->alert, 'downtime.ended_at')); + + return array_merge( + parent::toArray(), + [ + 'duration' => $endedAt->diffForHumans($startedAt, Carbon::DIFF_ABSOLUTE, false, 3), + ] + ); + } } diff --git a/src/Notifications/AlertRaised.php b/src/Notifications/AlertRaised.php index 3dc0b1f..cc805ca 100644 --- a/src/Notifications/AlertRaised.php +++ b/src/Notifications/AlertRaised.php @@ -2,8 +2,20 @@ namespace TransformStudios\Uptime\Notifications; +use Statamic\Support\Arr; + class AlertRaised extends AbstractAlert { protected string $event = 'alert_raised'; protected string $subject = 'Monitor Alert: Error Detected'; + + public function toArray(): array + { + return array_merge( + parent::toArray(), + [ + 'locations' => implode(',', Arr::get($this->alert, 'locations')), + ] + ); + } }