RegisterController.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Http\Controllers\Auth\Admin;
  3. use App\Models\Auth\Admin;
  4. use App\Models\Auth\User;
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Hash;
  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. * Where to redirect users after registration.
  26. *
  27. * @var string
  28. */
  29. protected $redirectTo = '/';
  30. /**
  31. * Create a new controller instance.
  32. *
  33. * @return void
  34. */
  35. public function __construct()
  36. {
  37. $this->middleware('guest:admin');
  38. }
  39. /**
  40. * Get the guard to be used during authentication.
  41. *
  42. * @return \Illuminate\Contracts\Auth\StatefulGuard
  43. */
  44. protected function guard()
  45. {
  46. return Auth::guard('admin');
  47. }
  48. protected function validator(array $data)
  49. {
  50. return Validator::make($data, [
  51. 'name' => ['required', 'string', 'max:255'],
  52. 'email' => ['required', 'string', 'email', 'max:255'],
  53. 'password' => ['required', 'string', 'min:8', 'confirmed'],
  54. ]);
  55. }
  56. public function showAdminRegisterForm()
  57. {
  58. return view('admin.auth.register', ['guard' => 'admin']);
  59. }
  60. protected function create(Request $request)
  61. {
  62. $this->validator($request->all())->validate();
  63. $admin = Admin::create([
  64. 'name' => $request['name'],
  65. 'email' => $request['email'],
  66. 'password' => Hash::make($request['password']),
  67. ]);
  68. return redirect()->intended('admin/login');
  69. }
  70. }