RegisterController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\Models\User;
  4. use App\Http\Requests\UserStoreRequest;
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Support\Facades\Hash;
  7. use Illuminate\Auth\Events\Registered;
  8. use Illuminate\Foundation\Auth\RegistersUsers;
  9. class RegisterController extends Controller
  10. {
  11. /*
  12. |--------------------------------------------------------------------------
  13. | Register Controller
  14. |--------------------------------------------------------------------------
  15. |
  16. | This controller handles the registration of new users as well as their
  17. | validation and creation. By default this controller uses a trait to
  18. | provide this functionality without requiring any additional code.
  19. |
  20. */
  21. use RegistersUsers;
  22. /**
  23. * Handle a registration request for the application.
  24. *
  25. * @param \App\Http\Requests\UserStoreRequest $request
  26. * @return \Illuminate\Http\JsonResponse
  27. */
  28. public function register(UserStoreRequest $request)
  29. {
  30. $validated = $request->validated();
  31. event(new Registered($user = $this->create($validated)));
  32. $this->guard()->login($user);
  33. // $this->guard()->loginUsingId($user->id);
  34. // Auth::guard('admin')->attempt($credentials);
  35. return response()->json([
  36. 'message' => 'account created',
  37. 'name' => $user->name,
  38. ], 201);
  39. }
  40. /**
  41. * Create a new user instance after a valid registration.
  42. *
  43. * @param array $data
  44. * @return \App\Models\User
  45. */
  46. protected function create(array $data)
  47. {
  48. return User::create([
  49. 'name' => $data['name'],
  50. 'email' => $data['email'],
  51. 'password' => Hash::make($data['password']),
  52. ]);
  53. }
  54. }