2024-02-25 22:34:01 +00:00
< ? php
namespace App\Notifications\Server ;
use App\Models\Server ;
use App\Notifications\Channels\DiscordChannel ;
use App\Notifications\Channels\EmailChannel ;
use App\Notifications\Channels\TelegramChannel ;
2024-06-10 20:43:34 +00:00
use Illuminate\Bus\Queueable ;
2024-02-25 22:34:01 +00:00
use Illuminate\Contracts\Queue\ShouldQueue ;
use Illuminate\Notifications\Messages\MailMessage ;
use Illuminate\Notifications\Notification ;
2024-02-26 09:25:21 +00:00
class ForceDisabled extends Notification implements ShouldQueue
2024-02-25 22:34:01 +00:00
{
use Queueable ;
public $tries = 1 ;
2024-06-10 20:43:34 +00:00
2024-06-19 06:59:46 +00:00
public function __construct ( public Server $server ) {}
2024-02-25 22:34:01 +00:00
public function via ( object $notifiable ) : array
{
$channels = [];
$isEmailEnabled = isEmailEnabled ( $notifiable );
$isDiscordEnabled = data_get ( $notifiable , 'discord_enabled' );
$isTelegramEnabled = data_get ( $notifiable , 'telegram_enabled' );
if ( $isDiscordEnabled ) {
$channels [] = DiscordChannel :: class ;
}
if ( $isEmailEnabled ) {
$channels [] = EmailChannel :: class ;
}
if ( $isTelegramEnabled ) {
$channels [] = TelegramChannel :: class ;
}
2024-06-10 20:43:34 +00:00
2024-02-25 22:34:01 +00:00
return $channels ;
}
public function toMail () : MailMessage
{
$mail = new MailMessage ();
$mail -> subject ( " Coolify: Server ( { $this -> server -> name } ) disabled because it is not paid! " );
2024-02-26 09:25:21 +00:00
$mail -> view ( 'emails.server-force-disabled' , [
2024-02-25 22:34:01 +00:00
'name' => $this -> server -> name ,
]);
2024-06-10 20:43:34 +00:00
2024-02-25 22:34:01 +00:00
return $mail ;
}
public function toDiscord () : string
{
$message = " Coolify: Server ( { $this -> server -> name } ) disabled because it is not paid! \n All automations and integrations are stopped. \n Please update your subscription to enable the server again [here](https://app.coolify.io/subsciprtions). " ;
2024-06-10 20:43:34 +00:00
2024-02-25 22:34:01 +00:00
return $message ;
}
2024-06-10 20:43:34 +00:00
2024-02-25 22:34:01 +00:00
public function toTelegram () : array
{
return [
2024-06-10 20:43:34 +00:00
'message' => " Coolify: Server ( { $this -> server -> name } ) disabled because it is not paid! \n All automations and integrations are stopped. \n Please update your subscription to enable the server again [here](https://app.coolify.io/subsciprtions). " ,
2024-02-25 22:34:01 +00:00
];
}
}