pelican-panel-mirror/app/Observers/SubuserObserver.php
2024-04-13 21:51:22 -04:00

55 lines
1.2 KiB
PHP

<?php
namespace App\Observers;
use App\Events;
use App\Models\Subuser;
use App\Notifications\AddedToServer;
use App\Notifications\RemovedFromServer;
class SubuserObserver
{
/**
* Listen to the Subuser creating event.
*/
public function creating(Subuser $subuser): void
{
event(new Events\Subuser\Creating($subuser));
}
/**
* Listen to the Subuser created event.
*/
public function created(Subuser $subuser): void
{
event(new Events\Subuser\Created($subuser));
$subuser->user->notify(new AddedToServer([
'user' => $subuser->user->name_first,
'name' => $subuser->server->name,
'uuid_short' => $subuser->server->uuid_short,
]));
}
/**
* Listen to the Subuser deleting event.
*/
public function deleting(Subuser $subuser): void
{
event(new Events\Subuser\Deleting($subuser));
}
/**
* Listen to the Subuser deleted event.
*/
public function deleted(Subuser $subuser): void
{
event(new Events\Subuser\Deleted($subuser));
$subuser->user->notify(new RemovedFromServer([
'user' => $subuser->user->name_first,
'name' => $subuser->server->name,
]));
}
}