Files
newznab-tmux-NNTmux/app/Support/Auth/RegistersUsers.php
T
2026-02-27 16:32:54 +01:00

65 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Support\Auth;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
trait RegistersUsers
{
use RedirectsUsers;
/**
* Show the application registration form.
*
* @return \Illuminate\Contracts\View\View
*/
public function showRegistrationForm(): mixed
{
return view('auth.register');
}
/**
* Handle a registration request for the application.
*/
public function register(Request $request): \Illuminate\Http\RedirectResponse|JsonResponse
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
if ($response = $this->registered($request, $user)) {
return $response;
}
return $request->wantsJson()
? new JsonResponse([], 201)
: redirect($this->redirectPath());
}
/**
* Get the guard to be used during registration.
*/
protected function guard(): \Illuminate\Contracts\Auth\StatefulGuard
{
return Auth::guard();
}
/**
* The user has been registered.
*
* @param mixed $user
* @return \Illuminate\Http\RedirectResponse|JsonResponse|null
*/
protected function registered(Request $request, $user): mixed
{
return null;
}
}