. */ declare(strict_types=1); namespace FireflyIII\Notifications\Admin; use FireflyIII\Notifications\Notifiables\OwnerNotifiable; use FireflyIII\Notifications\ReturnsAvailableChannels; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; use Illuminate\Support\Facades\Log; use NotificationChannels\Pushover\PushoverMessage; /** * Class VersionCheckResult */ class VersionCheckResult extends Notification { use Queueable; public function __construct(private string $message) {} /** * @SuppressWarnings("PHPMD.UnusedFormalParameter") */ public function toArray(OwnerNotifiable $notifiable): array { return [ ]; } /** * @SuppressWarnings("PHPMD.UnusedFormalParameter") */ public function toMail(OwnerNotifiable $notifiable): MailMessage { return new MailMessage() ->markdown('emails.new-version', ['message' => $this->message]) ->subject((string) trans('email.new_version_email_subject')) ; } // /** // * @SuppressWarnings("PHPMD.UnusedFormalParameter") // */ // public function toNtfy(OwnerNotifiable $notifiable): Message // { // Log::debug('Now in toNtfy() for VersionCheckResult'); // $settings = ReturnsSettings::getSettings('ntfy', 'owner', null); // $message = new Message(); // $message->topic($settings['ntfy_topic']); // $message->title((string) trans('email.new_version_email_subject')); // $message->body($this->message); // // return $message; // } /** * @SuppressWarnings("PHPMD.UnusedFormalParameter") */ public function toPushover(OwnerNotifiable $notifiable): PushoverMessage { Log::debug('Now in toPushover() for VersionCheckResult'); return PushoverMessage::create($this->message) ->title((string) trans('email.new_version_email_subject')) ; } /** * @SuppressWarnings("PHPMD.UnusedFormalParameter") */ public function toSlack(OwnerNotifiable $notifiable): SlackMessage { return new SlackMessage()->content($this->message) ->attachment(static function ($attachment): void { $attachment->title('Firefly III @ GitHub', 'https://github.com/firefly-iii/firefly-iii/releases'); }) ; } /** * @SuppressWarnings("PHPMD.UnusedFormalParameter") */ public function via(OwnerNotifiable $notifiable): array { return ReturnsAvailableChannels::returnChannels('owner'); } }