2023-05-25 16:27:52 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
|
|
|
|
use Illuminate\Console\Command;
|
2024-06-10 20:43:34 +00:00
|
|
|
|
2023-05-25 16:27:52 +00:00
|
|
|
use function Termwind\ask;
|
|
|
|
use function Termwind\render;
|
|
|
|
use function Termwind\style;
|
|
|
|
|
|
|
|
class NotifyDemo extends Command
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* The name and signature of the console command.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'app:demo-notify {channel?}';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $description = 'Send a demo notification, to a given channel. Run to see options.';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Execute the console command.
|
|
|
|
*/
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$channel = $this->argument('channel');
|
|
|
|
|
|
|
|
if (blank($channel)) {
|
|
|
|
$this->showHelp();
|
2024-06-10 20:43:34 +00:00
|
|
|
|
2023-05-25 16:27:52 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
ray($channel);
|
|
|
|
}
|
|
|
|
|
|
|
|
private function showHelp()
|
|
|
|
{
|
|
|
|
style('coolify')->color('#9333EA');
|
|
|
|
style('title-box')->apply('mt-1 px-2 py-1 bg-coolify');
|
|
|
|
|
2023-08-11 18:48:52 +00:00
|
|
|
render(
|
|
|
|
<<<'HTML'
|
2023-05-25 16:27:52 +00:00
|
|
|
<div>
|
|
|
|
<div class="title-box">
|
|
|
|
Coolify
|
|
|
|
</div>
|
2023-08-11 18:48:52 +00:00
|
|
|
<p class="mt-1 ml-1 ">
|
2023-05-25 16:27:52 +00:00
|
|
|
Demo Notify <strong class="text-coolify">=></strong> Send a demo notification to a given channel.
|
|
|
|
</p>
|
2023-08-11 18:48:52 +00:00
|
|
|
<p class="px-1 mt-1 ml-1 bg-coolify">
|
2023-05-25 16:27:52 +00:00
|
|
|
php artisan app:demo-notify {channel}
|
|
|
|
</p>
|
|
|
|
<div class="my-1">
|
|
|
|
<div class="text-yellow-500"> Channels: </div>
|
|
|
|
<ul class="text-coolify">
|
|
|
|
<li>email</li>
|
|
|
|
<li>slack</li>
|
|
|
|
<li>discord</li>
|
|
|
|
<li>telegram</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
2023-08-08 09:51:36 +00:00
|
|
|
HTML
|
|
|
|
);
|
2023-05-25 16:27:52 +00:00
|
|
|
|
|
|
|
ask(<<<'HTML'
|
|
|
|
<div class="mr-1">
|
|
|
|
In which manner you wish a <strong class="text-coolify">coolified</strong> notification?
|
|
|
|
</div>
|
|
|
|
HTML, ['email', 'slack', 'discord', 'telegram']);
|
|
|
|
}
|
|
|
|
}
|