validate([ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required|min:6' ]); $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), 'level' => 1, 'xp' => 0 ]); $token = $user->createToken('api_token')->plainTextToken; return response()->json([ 'user' => $user, 'token' => $token ], 201); } public function login(Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required' ]); $user = User::where('email', $request->email)->first(); if (!$user || !Hash::check($request->password, $user->password)) { return response()->json(['message' => 'Invalid credentials'], 401); } $token = $user->createToken('api_token')->plainTextToken; return response()->json([ 'token' => $token, 'user' => $user ]); } public function me(Request $request) { return response()->json(['user' => $request->user()]); } }