updated DiscordMessages for Application notifications

This commit is contained in:
Jakub Novák
2024-10-01 22:07:24 +02:00
parent aac491da25
commit 3b4759f349
3 changed files with 46 additions and 19 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Notifications\Application;
use App\Models\Application;
use App\Models\ApplicationPreview;
use App\Notifications\Dto\DiscordMessage;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
@@ -72,14 +73,26 @@ class DeploymentFailed extends Notification implements ShouldQueue
return $mail;
}
public function toDiscord(): string
public function toDiscord(): DiscordMessage
{
if ($this->preview) {
$message = 'Coolify: Pull request #'.$this->preview->pull_request_id.' of '.$this->application_name.' ('.$this->preview->fqdn.') deployment failed: ';
$message .= '[View Deployment Logs]('.$this->deployment_url.')';
$message = new DiscordMessage(
title: 'Coolify: Deployment failed of pull request #'.$this->preview->pull_request_id.' of '.$this->application_name,
description: 'Check in the link below',
color: DiscordMessage::errorColor(),
isCritical: true,
);
$message->addField('Deployment Logs', '[Here]('.$this->deployment_url.')');
} else {
$message = 'Coolify: Deployment failed of '.$this->application_name.' ('.$this->fqdn.'): ';
$message .= '[View Deployment Logs]('.$this->deployment_url.')';
$message = new DiscordMessage(
title: 'Coolify: Deployment failed of '.$this->application_name,
description: 'Check in the link below',
color: DiscordMessage::errorColor(),
isCritical: true,
);
$message->addField('Deployment Logs', '[Here]('.$this->deployment_url.')');
}
return $message;

View File

@@ -4,6 +4,7 @@ namespace App\Notifications\Application;
use App\Models\Application;
use App\Models\ApplicationPreview;
use App\Notifications\Dto\DiscordMessage;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
@@ -78,24 +79,32 @@ class DeploymentSuccess extends Notification implements ShouldQueue
return $mail;
}
public function toDiscord(): string
public function toDiscord(): DiscordMessage
{
if ($this->preview) {
$message = 'Coolify: New PR'.$this->preview->pull_request_id.' version successfully deployed of '.$this->application_name.'
$message = new DiscordMessage(
title: "Coolify: New PR{$this->preview->pull_request_id} version successfully deployed of {$this->application_name}",
description: 'Check in the links below.',
color: DiscordMessage::successColor(),
);
';
if ($this->preview->fqdn) {
$message .= '[Open Application]('.$this->preview->fqdn.') | ';
$message->addField('Open Application', '[Here]('.$this->preview->fqdn.')');
}
$message .= '[Deployment logs]('.$this->deployment_url.')';
} else {
$message = 'Coolify: New version successfully deployed of '.$this->application_name.'
';
$message->addField('Deployment logs', '[Here]('.$this->deployment_url.')');
} else {
$message = new DiscordMessage(
title: "Coolify: New version successfully deployed of {$this->application_name}",
description: 'Check in the links below.',
color: DiscordMessage::successColor(),
);
if ($this->fqdn) {
$message .= '[Open Application]('.$this->fqdn.') | ';
$message->addField('Open Application', '[Here]('.$this->fqdn.')');
}
$message .= '[Deployment logs]('.$this->deployment_url.')';
$message->addField('Deployment logs', '[Here]('.$this->deployment_url.')');
}
return $message;

View File

@@ -3,6 +3,7 @@
namespace App\Notifications\Application;
use App\Models\Application;
use App\Notifications\Dto\DiscordMessage;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
@@ -55,12 +56,16 @@ class StatusChanged extends Notification implements ShouldQueue
return $mail;
}
public function toDiscord(): string
public function toDiscord(): DiscordMessage
{
$message = 'Coolify: '.$this->resource_name.' has been stopped.
$message = new DiscordMessage(
title: "Coolify: {$this->resource_name} has been stopped",
description: 'Check the application in Coolify',
color: DiscordMessage::errorColor(),
isCritical: true,
);
';
$message .= '[Open Application in Coolify]('.$this->resource_url.')';
$message->addField('Link', '[Open Application in Coolify]('.$this->resource_url.')');
return $message;
}