coolify/app/Actions/Fortify/ResetUserPassword.php
rosslh e3cb2675dd
All checks were successful
Build MapleDeploy Coolify Image / build (push) Successful in 1m26s
feat(auth): add dashboard-managed Coolify users
2026-06-14 11:47:50 -04:00

37 lines
1.1 KiB
PHP

<?php
namespace App\Actions\Fortify;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rules\Password;
use Illuminate\Validation\ValidationException;
use Laravel\Fortify\Contracts\ResetsUserPasswords;
class ResetUserPassword implements ResetsUserPasswords
{
/**
* Validate and reset the user's forgotten password.
*
* @param array<string, string> $input
*/
public function reset(User $user, array $input): void
{
if ($user->isMapledeployRevoked()) {
// MapleDeploy branding: dashboard-managed revocation is restored only by mapledeploy:user:set-password.
throw ValidationException::withMessages([
'email' => [trans('passwords.user')],
]);
}
Validator::make($input, [
'password' => ['required', Password::defaults(), 'confirmed'],
])->validate();
$user->fill([
'password' => Hash::make($input['password']),
])->save();
$user->deleteAllSessions();
}
}