RegisterController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\User;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\DB;
  6. use App\Http\Controllers\Controller;
  7. use Illuminate\Support\Facades\Hash;
  8. use Illuminate\Auth\Events\Registered;
  9. use Illuminate\Support\Facades\Validator;
  10. use Illuminate\Foundation\Auth\RegistersUsers;
  11. class RegisterController extends Controller
  12. {
  13. /*
  14. |--------------------------------------------------------------------------
  15. | Register Controller
  16. |--------------------------------------------------------------------------
  17. |
  18. | This controller handles the registration of new users as well as their
  19. | validation and creation. By default this controller uses a trait to
  20. | provide this functionality without requiring any additional code.
  21. |
  22. */
  23. use RegistersUsers;
  24. /**
  25. * check if a user exists
  26. * @param Request $request [description]
  27. * @return json
  28. */
  29. public function checkUser()
  30. {
  31. $user = DB::table('users')->first();
  32. return response()->json(['username' => isset($user->name) ? $user->name : null], 200);
  33. }
  34. /**
  35. * Handle a registration request for the application.
  36. *
  37. * @param \Illuminate\Http\Request $request
  38. * @return \Illuminate\Http\JsonResponse
  39. */
  40. public function register(Request $request)
  41. {
  42. // check if a user already exists
  43. if( DB::table('users')->count() > 0 ) {
  44. // return response()->json(['message' => __('errors.already_one_user_registered')], 400);
  45. throw \Illuminate\Validation\ValidationException::withMessages(['taken' => __('errors.already_one_user_registered')]);
  46. }
  47. $this->validator($request->all())->validate();
  48. event(new Registered($user = $this->create($request->all())));
  49. //$this->guard()->login($user);
  50. return response()->json([
  51. 'message' => 'account created',
  52. 'token' => $user->createToken('MyApp')->accessToken,
  53. 'name' => $user->name,
  54. ]);
  55. }
  56. /**
  57. * Create a new user instance after a valid registration.
  58. *
  59. * @param array $data
  60. * @return \App\User
  61. */
  62. protected function create(array $data)
  63. {
  64. return User::create([
  65. 'name' => $data['name'],
  66. 'email' => $data['email'],
  67. 'password' => Hash::make($data['password']),
  68. ]);
  69. }
  70. }