Files
animethemes-server/app/Events/Base/BaseUpdatedEvent.php
T
paranarimasuandGitHub 6015dcbbbf refactor: migration from laravel-enum package to native php enums (#585)
* refactor: migration from laravel-enum package to native php enums

* style: fix StyleCI findings
2023-06-09 14:29:10 -05:00

57 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Events\Base;
use App\Concerns\Discord\HasAttributeUpdateEmbedFields;
use App\Contracts\Events\DiscordMessageEvent;
use App\Enums\Discord\EmbedColor;
use App\Events\BaseEvent;
use Illuminate\Foundation\Events\Dispatchable;
use NotificationChannels\Discord\DiscordMessage;
/**
* Class BaseUpdatedEvent.
*
* @template TModel of \App\Models\BaseModel
*
* @extends BaseEvent<TModel>
*/
abstract class BaseUpdatedEvent extends BaseEvent implements DiscordMessageEvent
{
use Dispatchable;
use HasAttributeUpdateEmbedFields;
/**
* Get Discord message payload.
*
* @return DiscordMessage
*/
public function getDiscordMessage(): DiscordMessage
{
return DiscordMessage::create('', [
'description' => $this->getDiscordMessageDescription(),
'fields' => $this->getEmbedFields(),
'color' => EmbedColor::YELLOW->value,
]);
}
/**
* Determine if the message should be sent.
*
* @return bool
*/
public function shouldSendDiscordMessage(): bool
{
return true;
}
/**
* Get the description for the Discord message payload.
*
* @return string
*/
abstract protected function getDiscordMessageDescription(): string;
}