Kaynağa Gözat

Finish user creation functions

tags/v0.1.0
Immanuel Onyeka 3 yıl önce
ebeveyn
işleme
c61c1e975c
8 değiştirilmiş dosya ile 75 ekleme ve 42 silme
  1. +0
    -20
      app/Http/Controllers/RegistrationController.php
  2. +32
    -0
      app/Http/Controllers/UserController.php
  3. +2
    -1
      app/Models/User.php
  4. +1
    -8
      public/main.js
  5. +2
    -9
      resources/js/main.js
  6. +1
    -1
      resources/views/home.blade.php
  7. +17
    -0
      resources/views/verify-email.blade.php
  8. +20
    -3
      routes/web.php

+ 0
- 20
app/Http/Controllers/RegistrationController.php Dosyayı Görüntüle

@@ -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'
]);
}
}

+ 32
- 0
app/Http/Controllers/UserController.php Dosyayı Görüntüle

@@ -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"
]);
}
}

+ 2
- 1
app/Models/User.php Dosyayı Görüntüle

@@ -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;



+ 1
- 8
public/main.js Dosyayı Görüntüle

@@ -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());
});
});


+ 2
- 9
resources/js/main.js Dosyayı Görüntüle

@@ -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())
});
})


+ 1
- 1
resources/views/home.blade.php Dosyayı Görüntüle

@@ -31,7 +31,7 @@
</div>
<div>
<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'>
</div>
<button class="submit-btn" type="submit">Submit</button>


+ 17
- 0
resources/views/verify-email.blade.php Dosyayı Görüntüle

@@ -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

+ 20
- 3
routes/web.php Dosyayı Görüntüle

@@ -1,7 +1,9 @@
<?php

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 () {
return view('home');
});
})->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']);

Yükleniyor…
İptal
Kaydet