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 <?php
use App\Http\Controllers\Auth\AuthenticatedSessionController; use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\Auth\DeleteUserController;
use App\Http\Controllers\Auth\EmailVerificationNotificationController; use App\Http\Controllers\Auth\EmailVerificationNotificationController;
use App\Http\Controllers\Auth\NewPasswordController; use App\Http\Controllers\Auth\NewPasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController; use App\Http\Controllers\Auth\PasswordResetLinkController;
@ -35,3 +36,6 @@ Route::post('/email/verification-notification', [EmailVerificationNotificationCo
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy']) Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])
->middleware('auth') ->middleware('auth')
->name('logout'); ->name('logout');
Route::delete('/user', [DeleteUserController::class, 'destroy'])
->middleware('auth');

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