fix notification chanels and more tests (#108)

* fix notification chanels and more tests

* fix code style
This commit is contained in:
Saeed Vaziry
2024-02-16 21:10:17 +01:00
committed by GitHub
parent b75df8e1c5
commit f70963d6bb
103 changed files with 484 additions and 112 deletions

View File

@ -8,12 +8,12 @@
class Notifier
{
/**
* In the future we can send notifications based on the notifiable instance
* In the future we can send notifications based on the notifiable instance,
* For example, If it was a server then we will send the channels specified by that server
* For now, we will send all channels.
*/
public function send(object $notifiable, Notification $notification): void
{
// NotificationChannel::notifyAll($notification);
NotificationChannel::notifyAll($notification);
}
}

View File

@ -7,11 +7,6 @@
class Discord extends AbstractNotificationChannel
{
public function channel(): string
{
return 'discord';
}
public function createRules(array $input): array
{
return [

View File

@ -35,7 +35,10 @@ public function connect(): bool
{
try {
Mail::to($this->data()['email'])->send(
new NotificationMail('Test VitoDeploy', 'This is a test email!')
new NotificationMail(
'Connected to VitoDeploy',
'This email confirms that you have connected your email to VitoDeploy.'
)
);
} catch (Throwable) {
return false;

View File

@ -7,11 +7,6 @@
class Slack extends AbstractNotificationChannel
{
public function channel(): string
{
return 'slack';
}
public function createRules(array $input): array
{
return [

View File

@ -10,11 +10,6 @@ class Telegram extends AbstractNotificationChannel
{
protected string $apiUrl = 'https://api.telegram.org/bot';
public function channel(): string
{
return 'telegram';
}
public function createRules(array $input): array
{
return [

View File

@ -3,6 +3,7 @@
namespace App\Notifications;
use App\Contracts\Notification as NotificationInterface;
use App\Models\NotificationChannel;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
@ -13,9 +14,16 @@ abstract class AbstractNotification extends Notification implements Notification
{
use Queueable, SerializesModels;
public function via(object $notifiable): string
{
/** @var NotificationChannel $notifiable */
return get_class($notifiable->provider());
}
public function toMail(object $notifiable): MailMessage
{
return (new MailMessage())
->subject('Notification')
->line($this->rawText());
}

View File

@ -91,7 +91,7 @@ public function install(): void
'server' => $this->server,
])
);
// Notifier::send($this->server, new ServerInstallationSucceed($this->server));
Notifier::send($this->server, new ServerInstallationSucceed($this->server));
};
Bus::chain($jobs)