Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Services/Users/UserDeletionService.php
14044 views
1
<?php
2
3
namespace Pterodactyl\Services\Users;
4
5
use Pterodactyl\Models\User;
6
use Pterodactyl\Models\Server;
7
use Pterodactyl\Exceptions\DisplayException;
8
9
class UserDeletionService
10
{
11
/**
12
* Delete a user from the panel only if they have no servers attached to their account.
13
*
14
* @throws DisplayException
15
*/
16
public function handle(int|User $user): ?bool
17
{
18
$user = $user instanceof User ? $user : User::query()->findOrFail($user);
19
20
$servers = Server::query()->where('owner_id', $user->id)->count();
21
if ($servers > 0) {
22
throw new DisplayException(trans('admin/user.exceptions.user_has_servers'));
23
}
24
25
return $user->delete();
26
}
27
}
28
29