Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Services/Users/UserUpdateService.php
10277 views
1
<?php
2
3
namespace Pterodactyl\Services\Users;
4
5
use Pterodactyl\Models\User;
6
use Illuminate\Contracts\Hashing\Hasher;
7
use Pterodactyl\Traits\Services\HasUserLevels;
8
9
class UserUpdateService
10
{
11
use HasUserLevels;
12
13
/**
14
* UserUpdateService constructor.
15
*/
16
public function __construct(private Hasher $hasher)
17
{
18
}
19
20
/**
21
* Update the user model instance and return the updated model.
22
*
23
* @throws \Throwable
24
*/
25
public function handle(User $user, array $data): User
26
{
27
if (!empty(array_get($data, 'password'))) {
28
$data['password'] = $this->hasher->make($data['password']);
29
} else {
30
unset($data['password']);
31
}
32
33
$user->forceFill($data)->saveOrFail();
34
35
return $user->refresh();
36
}
37
}
38
39