Files
animethemes-server/app/Events/Wiki/Studio/StudioDeleted.php
T
paranarimasu 088ea287c5 feat: initial migration to pennant features for feature flags and global site config [incremental] (#573)
* feat: initial commit for feature management

* style: fix StyleCI findings

* fix(api): prohibit features of nonnull scope from API & fix(admin): wrong translate key

* style: fix Static Analysis error
2023-04-23 18:54:34 -05:00

70 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Events\Wiki\Studio;
use App\Events\Base\Wiki\WikiDeletedEvent;
use App\Models\Wiki\Studio;
use App\Nova\Resources\Wiki\Studio as StudioResource;
/**
* Class StudioDeleted.
*
* @extends WikiDeletedEvent<Studio>
*/
class StudioDeleted extends WikiDeletedEvent
{
/**
* Create a new event instance.
*
* @param Studio $studio
*/
public function __construct(Studio $studio)
{
parent::__construct($studio);
}
/**
* Get the model that has fired this event.
*
* @return Studio
*/
public function getModel(): Studio
{
return $this->model;
}
/**
* Get the description for the Discord message payload.
*
* @return string
*/
protected function getDiscordMessageDescription(): string
{
return "Studio '**{$this->getModel()->getName()}**' has been deleted.";
}
/**
* Get the message for the nova notification.
*
* @return string
*/
protected function getNotificationMessage(): string
{
return "Studio '{$this->getModel()->getName()}' has been deleted. It will be automatically pruned in one week. Please review.";
}
/**
* Get the URL for the nova notification.
*
* @return string
*/
protected function getNovaNotificationUrl(): string
{
$uriKey = StudioResource::uriKey();
return "/resources/$uriKey/{$this->getModel()->getKey()}";
}
}