mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 02:36:28 +00:00 
			
		
		
		
	Expand test notification framework.
This commit is contained in:
		
							
								
								
									
										108
									
								
								app/Notifications/Test/TestNotificationDiscord.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								app/Notifications/Test/TestNotificationDiscord.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| <?php | ||||
| 
 | ||||
| /* | ||||
|  * TestNotification.php | ||||
|  * Copyright (c) 2022 james@firefly-iii.org | ||||
|  * | ||||
|  * This file is part of Firefly III (https://github.com/firefly-iii). | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as | ||||
|  * published by the Free Software Foundation, either version 3 of the | ||||
|  * License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace FireflyIII\Notifications\Test; | ||||
| 
 | ||||
| use Illuminate\Bus\Queueable; | ||||
| use Illuminate\Notifications\Messages\MailMessage; | ||||
| use Illuminate\Notifications\Messages\SlackMessage; | ||||
| use Illuminate\Notifications\Notification; | ||||
| 
 | ||||
| /** | ||||
|  * Class TestNotification | ||||
|  */ | ||||
| class TestNotificationDiscord extends Notification | ||||
| { | ||||
|     use Queueable; | ||||
| 
 | ||||
|     private string $address; | ||||
| 
 | ||||
|     /** | ||||
|      * Create a new notification instance. | ||||
|      */ | ||||
|     public function __construct(string $address) | ||||
|     { | ||||
|         $this->address = $address; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the array representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function toArray($notifiable) | ||||
|     { | ||||
|         return [ | ||||
|         ]; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the mail representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @return MailMessage | ||||
|      */ | ||||
|     public function toMail($notifiable) | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the Slack representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      */ | ||||
|     public function toSlack($notifiable) { | ||||
| 
 | ||||
|         // since it's an admin notificaiton, grab the URL from fireflyconfig
 | ||||
|         $url = app('fireflyconfig')->get('discord_webhook_url', '')->data; | ||||
| 
 | ||||
|         return (new SlackMessage()) | ||||
|             ->content((string)trans('email.admin_test_subject')) | ||||
|             ->to($url); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the notification's delivery channels. | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function via($notifiable) | ||||
|     { | ||||
|         return ['slack']; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										102
									
								
								app/Notifications/Test/TestNotificationEmail.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								app/Notifications/Test/TestNotificationEmail.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | ||||
| <?php | ||||
| 
 | ||||
| /* | ||||
|  * TestNotification.php | ||||
|  * Copyright (c) 2022 james@firefly-iii.org | ||||
|  * | ||||
|  * This file is part of Firefly III (https://github.com/firefly-iii). | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as | ||||
|  * published by the Free Software Foundation, either version 3 of the | ||||
|  * License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace FireflyIII\Notifications\Test; | ||||
| 
 | ||||
| use Illuminate\Bus\Queueable; | ||||
| use Illuminate\Notifications\Messages\MailMessage; | ||||
| use Illuminate\Notifications\Notification; | ||||
| 
 | ||||
| /** | ||||
|  * Class TestNotification | ||||
|  */ | ||||
| class TestNotificationEmail extends Notification | ||||
| { | ||||
|     use Queueable; | ||||
| 
 | ||||
|     private string $address; | ||||
| 
 | ||||
|     /** | ||||
|      * Create a new notification instance. | ||||
|      */ | ||||
|     public function __construct(string $address) | ||||
|     { | ||||
|         $this->address = $address; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the array representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function toArray($notifiable) | ||||
|     { | ||||
|         return [ | ||||
|         ]; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the mail representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @return MailMessage | ||||
|      */ | ||||
|     public function toMail($notifiable) | ||||
|     { | ||||
|         return (new MailMessage()) | ||||
|             ->markdown('emails.admin-test', ['email' => $this->address]) | ||||
|             ->subject((string) trans('email.admin_test_subject')); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the Slack representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      */ | ||||
|     public function toSlack($notifiable) {} | ||||
| 
 | ||||
|     /** | ||||
|      * Get the notification's delivery channels. | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function via($notifiable) | ||||
|     { | ||||
|         return ['mail']; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										113
									
								
								app/Notifications/Test/TestNotificationSlack.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								app/Notifications/Test/TestNotificationSlack.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,113 @@ | ||||
| <?php | ||||
| 
 | ||||
| /* | ||||
|  * TestNotification.php | ||||
|  * Copyright (c) 2022 james@firefly-iii.org | ||||
|  * | ||||
|  * This file is part of Firefly III (https://github.com/firefly-iii). | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as | ||||
|  * published by the Free Software Foundation, either version 3 of the | ||||
|  * License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace FireflyIII\Notifications\Test; | ||||
| 
 | ||||
| use Illuminate\Bus\Queueable; | ||||
| use Illuminate\Notifications\Messages\MailMessage; | ||||
| use Illuminate\Notifications\Messages\SlackMessage; | ||||
| use Illuminate\Notifications\Notification; | ||||
| //use Illuminate\Notifications\Slack\SlackMessage;
 | ||||
| 
 | ||||
| /** | ||||
|  * Class TestNotification | ||||
|  */ | ||||
| class TestNotificationSlack extends Notification | ||||
| { | ||||
|     use Queueable; | ||||
| 
 | ||||
|     private string $address; | ||||
| 
 | ||||
|     /** | ||||
|      * Create a new notification instance. | ||||
|      */ | ||||
|     public function __construct(string $address) | ||||
|     { | ||||
|         $this->address = $address; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the array representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function toArray($notifiable) | ||||
|     { | ||||
|         return [ | ||||
|         ]; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the mail representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @return MailMessage | ||||
|      */ | ||||
|     public function toMail($notifiable) | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the Slack representation of the notification. | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      */ | ||||
|     public function toSlack($notifiable) { | ||||
| 
 | ||||
|         // since it's an admin notification, grab the URL from fireflyconfig
 | ||||
|         $url = app('fireflyconfig')->get('slack_webhook_url', '')->data; | ||||
| 
 | ||||
| //        return (new SlackMessage)
 | ||||
| //            ->text((string)trans('email.admin_test_subject'))
 | ||||
| //            ->to($url);
 | ||||
|         return (new SlackMessage()) | ||||
|             ->content((string)trans('email.admin_test_subject')) | ||||
|             ->to($url); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get the notification's delivery channels. | ||||
|      * | ||||
|      * @SuppressWarnings(PHPMD.UnusedFormalParameter) | ||||
|      * | ||||
|      * @param mixed $notifiable | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function via($notifiable) | ||||
|     { | ||||
|         return ['slack']; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user