You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Models\User; use Illuminate\Auth\Events\Registered; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Validation\Rules; use Inertia\Inertia; use Inertia\Response;
class RegisteredUserController extends Controller { /** * Display the registration view. */ public function create(): Response { return Inertia::render('Auth/Register'); }
/** * Handle an incoming registration request. * * @throws \Illuminate\Validation\ValidationException */ public function store(Request $request): JsonResponse { $request->validate([ 'emp_id' => 'required|integer', 'name' => 'required|string|max:255', 'email' => 'required|string|lowercase|email|max:255|unique:'.User::class, 'username' => 'required|string|max:255|unique:'.User::class, 'password' => ['required', 'confirmed', Rules\Password::defaults()], 'role_id' => 'required|exists:roles,id', ]);
$user = User::create([ 'emp_id' => $request->emp_id, 'name' => $request->name, 'email' => $request->email, 'username' => $request->username, 'password' => Hash::make($request->password), 'role_id' => $request->role_id, ]);
event(new Registered($user));
return response()->json([ 'message' => 'Registration successful! Please log in.' ]); } }
|