@@ -1,20 +0,0 @@ | |||||
<?php | |||||
namespace App\Http\Controllers; | |||||
use Illuminate\Http\Request; | |||||
use App\User; | |||||
use Illuminate\Support\Facades\Log; | |||||
class RegistrationController extends Controller | |||||
{ | |||||
public function create(Request $request) { | |||||
Log::debug('this better work'); | |||||
Log::debug($request->all()); | |||||
$request->validate([ | |||||
'name' => 'required', | |||||
'email' => 'required|email', | |||||
'password' => 'required' | |||||
]); | |||||
} | |||||
} |
@@ -0,0 +1,32 @@ | |||||
<?php | |||||
namespace App\Http\Controllers; | |||||
use Illuminate\Http\Request; | |||||
use App\Models\User; | |||||
use Illuminate\Support\Facades\Log; | |||||
use Illuminate\Support\Facades\Hash; | |||||
use Illuminate\Auth\Events\Registered; | |||||
class UserController extends Controller | |||||
{ | |||||
public function create(Request $request) { | |||||
$validated = $request->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" | |||||
]); | |||||
} | |||||
} |
@@ -6,8 +6,9 @@ use Illuminate\Contracts\Auth\MustVerifyEmail; | |||||
use Illuminate\Database\Eloquent\Factories\HasFactory; | use Illuminate\Database\Eloquent\Factories\HasFactory; | ||||
use Illuminate\Foundation\Auth\User as Authenticatable; | use Illuminate\Foundation\Auth\User as Authenticatable; | ||||
use Illuminate\Notifications\Notifiable; | use Illuminate\Notifications\Notifiable; | ||||
use Illuminate\Contracts\Auth\MustVerifyEmail; | |||||
class User extends Authenticatable | |||||
class User extends Authenticatable implements MustVerifyEmail | |||||
{ | { | ||||
use HasFactory, Notifiable; | use HasFactory, Notifiable; | ||||
@@ -10,13 +10,6 @@ function register(event) { | |||||
method: "GET" | method: "GET" | ||||
}).then(function(response) { | }).then(function(response) { | ||||
token = getCookie("XSRF-TOKEN"); | 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", { | fetch("/register", { | ||||
method: "POST", | method: "POST", | ||||
headers: { | headers: { | ||||
@@ -29,7 +22,7 @@ function register(event) { | |||||
password: document.getElementById("register-password").value | password: document.getElementById("register-password").value | ||||
}) | }) | ||||
}).then((response2) => { | }).then((response2) => { | ||||
console.log("hii new line"); | |||||
console.log("sent registration"); | |||||
console.log(response2.json()); | console.log(response2.json()); | ||||
}); | }); | ||||
}); | }); | ||||
@@ -12,14 +12,6 @@ function register(event) { | |||||
method: 'GET' | method: 'GET' | ||||
}).then( function(response) { | }).then( function(response) { | ||||
token = getCookie('XSRF-TOKEN') | 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", { | fetch("/register", { | ||||
method: 'POST', | method: 'POST', | ||||
headers: {'Content-Type': 'application/json', | headers: {'Content-Type': 'application/json', | ||||
@@ -27,8 +19,9 @@ function register(event) { | |||||
body: JSON.stringify({"name": document.getElementById("register-name").value, | body: JSON.stringify({"name": document.getElementById("register-name").value, | ||||
"email": document.getElementById("register-email").value, | "email": document.getElementById("register-email").value, | ||||
"password": document.getElementById("register-password").value}) | "password": document.getElementById("register-password").value}) | ||||
"password_confirmation": document.getElementById("confirm-password").value}) | |||||
}).then(response => { | }).then(response => { | ||||
console.log('hii new line'); | |||||
console.log('sent registration'); | |||||
console.log(response.json()) | console.log(response.json()) | ||||
}); | }); | ||||
}) | }) | ||||
@@ -31,7 +31,7 @@ | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<label for='sender_password'>Confirm Password</label> | <label for='sender_password'>Confirm Password</label> | ||||
<input id='confirm_password' required type='password' | |||||
<input id='confirm-password' required type='password' | |||||
name='sender_password' placeholder='' spellcheck='false'> | name='sender_password' placeholder='' spellcheck='false'> | ||||
</div> | </div> | ||||
<button class="submit-btn" type="submit">Submit</button> | <button class="submit-btn" type="submit">Submit</button> | ||||
@@ -0,0 +1,17 @@ | |||||
@extends('master') | |||||
@section('title', 'Home') | |||||
@section('head-metas') | |||||
@parent | |||||
<link rel="stylesheet" href="{{asset('main.css')}}"> | |||||
@endsection | |||||
@section('content') | |||||
You must click the verification link emailed to you. | |||||
@endsection | |||||
@section('scripts') | |||||
@parent | |||||
<script src="main.js"></script> | |||||
@endsection |
@@ -1,7 +1,9 @@ | |||||
<?php | <?php | ||||
use Illuminate\Support\Facades\Route; | use Illuminate\Support\Facades\Route; | ||||
use App\Http\Controllers\RegistrationController; | |||||
use App\Http\Controllers\UserController; | |||||
use Illuminate\Foundation\Auth\EmailVerificationRequest; | |||||
use Illuminate\Http\Request; | |||||
/* | /* | ||||
|-------------------------------------------------------------------------- | |-------------------------------------------------------------------------- | ||||
@@ -16,12 +18,27 @@ use App\Http\Controllers\RegistrationController; | |||||
Route::get('/', function () { | Route::get('/', function () { | ||||
return view('home'); | return view('home'); | ||||
}); | |||||
})->name('login'); | |||||
Route::view('/panel', 'panel'); | 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 () { | Route::get('/login', function () { | ||||
return view('home'); | return view('home'); | ||||
}); | }); | ||||
Route::post('/register', [RegistrationController::class, 'create']); | |||||
Route::post('/register', [UserController::class, 'create']); |