RegisterController.php 1.8 KB

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