diff --git a/app/Http/Controllers/RegistrationController.php b/app/Http/Controllers/RegistrationController.php deleted file mode 100644 index 8713f89..0000000 --- a/app/Http/Controllers/RegistrationController.php +++ /dev/null @@ -1,20 +0,0 @@ -all()); - $request->validate([ - 'name' => 'required', - 'email' => 'required|email', - 'password' => 'required' - ]); - } -} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..621010a --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,32 @@ +validate([ + 'name' => 'required', + 'email' => 'required|email|unique:users', + 'password' => 'required' + /* 'password' => 'required|confirmed|min:8|regex:/[a-z]/|regex:/[A-Z]/|regex:/[0-9]/' */ + ]); + + $user = new User; + $user->name = $request->name; + $user->email = $request->email; + $user->password = Hash::make($request->password); + $user->save(); + + event(new Registered($user)); + return response()->json([ + "status" => "success" + ]); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 804799b..5869ffc 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -6,8 +6,9 @@ use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; +use Illuminate\Contracts\Auth\MustVerifyEmail; -class User extends Authenticatable +class User extends Authenticatable implements MustVerifyEmail { use HasFactory, Notifiable; diff --git a/public/main.js b/public/main.js index 05ade72..ee15517 100644 --- a/public/main.js +++ b/public/main.js @@ -10,13 +10,6 @@ function register(event) { method: "GET" }).then(function(response) { token = getCookie("XSRF-TOKEN"); - let form = new FormData(); - console.log(document.getElementById("register-name").value); - form.append("name", "haha"); - form.append("email", document.getElementById("register-email").value); - form.append("password", document.getElementById("register-password").value); - console.log(form); - console.log(JSON.stringify(form)); fetch("/register", { method: "POST", headers: { @@ -29,7 +22,7 @@ function register(event) { password: document.getElementById("register-password").value }) }).then((response2) => { - console.log("hii new line"); + console.log("sent registration"); console.log(response2.json()); }); }); diff --git a/resources/js/main.js b/resources/js/main.js index 7856128..09ff43f 100644 --- a/resources/js/main.js +++ b/resources/js/main.js @@ -12,14 +12,6 @@ function register(event) { method: 'GET' }).then( function(response) { token = getCookie('XSRF-TOKEN') - let form = new FormData() - console.log(document.getElementById("register-name").value) - form.append('name', "haha") - form.append('email', document.getElementById("register-email").value) - form.append('password', - document.getElementById("register-password").value) - console.log(form) - console.log(JSON.stringify(form)) fetch("/register", { method: 'POST', headers: {'Content-Type': 'application/json', @@ -27,8 +19,9 @@ function register(event) { body: JSON.stringify({"name": document.getElementById("register-name").value, "email": document.getElementById("register-email").value, "password": document.getElementById("register-password").value}) + "password_confirmation": document.getElementById("confirm-password").value}) }).then(response => { - console.log('hii new line'); + console.log('sent registration'); console.log(response.json()) }); }) diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 41559b0..3651362 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -31,7 +31,7 @@
-
diff --git a/resources/views/verify-email.blade.php b/resources/views/verify-email.blade.php new file mode 100644 index 0000000..26e9ea5 --- /dev/null +++ b/resources/views/verify-email.blade.php @@ -0,0 +1,17 @@ +@extends('master') + +@section('title', 'Home') + +@section('head-metas') + @parent + +@endsection + +@section('content') +You must click the verification link emailed to you. +@endsection + +@section('scripts') + @parent + +@endsection diff --git a/routes/web.php b/routes/web.php index 0fd429f..2434a31 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,7 +1,9 @@ name('login'); Route::view('/panel', 'panel'); +Route::view('/panel', 'panel')->middleware([ 'auth', 'verified' ]); + +Route::view('/verify-email', + 'verify-email')->middleware('auth')->name('verification.notice'); + +Route::get('/verify/{id}/{hash}', function (EmailVerificationRequest $request) { + $request->fulfill(); + return redirect('/panel'); +})->middleware(['auth', 'signed'])->name('verification.verify'); + +Route::post('/resend-verification', function (Request $request) { + $request->user()->sendEmailVerificationNotification(); + + return back()->with('message', 'Verification link sent!'); +})->middleware(['auth', 'throttle:6,1'])->name('verification.send') Route::get('/login', function () { return view('home'); }); -Route::post('/register', [RegistrationController::class, 'create']); +Route::post('/register', [UserController::class, 'create']);