2021-09-09 18:50:16 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Listeners;
|
|
|
|
|
2021-09-09 19:06:08 +00:00
|
|
|
use App\Events\UserUpdateCreditsEvent;
|
2021-09-09 18:50:16 +00:00
|
|
|
use App\Models\Server;
|
|
|
|
use Exception;
|
|
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
|
|
|
|
|
|
class UnsuspendServers implements ShouldQueue
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Handle the event.
|
|
|
|
*
|
2023-01-05 17:01:42 +00:00
|
|
|
* @param UserUpdateCreditsEvent $event
|
2021-09-09 18:50:16 +00:00
|
|
|
* @return void
|
2023-01-05 17:01:42 +00:00
|
|
|
*
|
2021-09-09 18:50:16 +00:00
|
|
|
* @throws Exception
|
|
|
|
*/
|
2021-09-09 19:06:08 +00:00
|
|
|
public function handle(UserUpdateCreditsEvent $event)
|
2021-09-09 18:50:16 +00:00
|
|
|
{
|
2022-01-25 21:52:19 +00:00
|
|
|
if ($event->user->credits > config('SETTINGS::USER:MINIMUM_REQUIRED_CREDITS_TO_MAKE_SERVER', 50)) {
|
|
|
|
/** @var Server $server */
|
|
|
|
foreach ($event->user->servers as $server) {
|
2023-01-05 17:01:42 +00:00
|
|
|
if ($server->isSuspended()) {
|
|
|
|
$server->unSuspend();
|
|
|
|
}
|
2022-01-25 21:52:19 +00:00
|
|
|
}
|
|
|
|
}
|
2021-09-09 18:50:16 +00:00
|
|
|
}
|
|
|
|
}
|