Compare commits

..

2 Commits

@ -0,0 +1,22 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class DeleteUserController extends Controller
{
public function destroy(Request $request): Response
{
if (! $request->user()) {
return response(status: 419);
}
User::destroy($request->user()->id);
return response()->noContent();
}
}

@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\Auth\DeleteUserController;
use App\Http\Controllers\Auth\EmailVerificationNotificationController;
use App\Http\Controllers\Auth\NewPasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController;
@ -9,29 +10,32 @@ use App\Http\Controllers\Auth\VerifyEmailController;
use Illuminate\Support\Facades\Route;
Route::post('/register', [RegisteredUserController::class, 'store'])
->middleware('guest')
->name('register');
->middleware('guest')
->name('register');
Route::post('/login', [AuthenticatedSessionController::class, 'store'])
->middleware('guest')
->name('login');
->middleware('guest')
->name('login');
Route::post('/forgot-password', [PasswordResetLinkController::class, 'store'])
->middleware('guest')
->name('password.email');
->middleware('guest')
->name('password.email');
Route::post('/reset-password', [NewPasswordController::class, 'store'])
->middleware('guest')
->name('password.store');
->middleware('guest')
->name('password.store');
Route::get('/verify-email/{id}/{hash}', VerifyEmailController::class)
->middleware(['auth', 'signed', 'throttle:6,1'])
->name('verification.verify');
->middleware(['auth', 'signed', 'throttle:6,1'])
->name('verification.verify');
Route::post('/email/verification-notification', [EmailVerificationNotificationController::class, 'store'])
->middleware(['auth', 'throttle:6,1'])
->name('verification.send');
->middleware(['auth', 'throttle:6,1'])
->name('verification.send');
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])
->middleware('auth')
->name('logout');
->middleware('auth')
->name('logout');
Route::delete('/user', [DeleteUserController::class, 'destroy'])
->middleware('auth');

@ -9,6 +9,8 @@ const loggedInUserSchema = z.object({
name: z.string(),
})
const useUser = () => useState<String>('user', () => '')
const userLogin = async (email: String, password: String) => {
await getUser()
if (useUser().value) return
@ -23,7 +25,7 @@ const userLogin = async (email: String, password: String) => {
body: user.data,
})
if (error) return { user: 'Invalid User' }
if (error.value) return { user: 'Invalid User' }
await getUser()
}
@ -45,7 +47,7 @@ const userSignup = async (data: unknown) => {
body: newUser.data,
})
if (error) return error
if (error.value) return error
await getUser()
}
@ -65,6 +67,9 @@ const userLogout = async () => {
useUser().value = ''
}
const useUser = () => useState<String>('user', () => '')
const userDelete = async () => {
await useCustomFetch('/user', { method: 'DELETE' })
useUser().value = ''
}
export { getUser, userLogin, userLogout, userSignup, useUser }
export { getUser, userDelete, userLogin, userLogout, userSignup, useUser }

Loading…
Cancel
Save