26 lines
537 B
PHP
26 lines
537 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Modules\User\Actions;
|
||
|
|
|
||
|
|
use App\Models\User;
|
||
|
|
use App\Modules\User\DTOs\UserData;
|
||
|
|
use Illuminate\Support\Facades\Hash;
|
||
|
|
|
||
|
|
class UpdateUserAction
|
||
|
|
{
|
||
|
|
public function handle(User $user, UserData $data): User
|
||
|
|
{
|
||
|
|
$user->update([
|
||
|
|
'name' => $data->name,
|
||
|
|
'email' => $data->email,
|
||
|
|
'role' => $data->role,
|
||
|
|
]);
|
||
|
|
|
||
|
|
if ($data->password !== null) {
|
||
|
|
$user->update(['password' => Hash::make($data->password)]);
|
||
|
|
}
|
||
|
|
|
||
|
|
return $user->fresh();
|
||
|
|
}
|
||
|
|
}
|