From 5787d5fac3a3e1e29a4e9138bd2cc85033d54a53 Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Thu, 23 Oct 2025 11:57:11 +0200 Subject: [PATCH] Add validate user route --- app/Http/Controllers/UserController.php | 19 +++++++++++++++++++ routes/api.php | 2 ++ tests/Users/Create user.bru | 2 +- tests/Users/Update User.bru | 2 +- tests/Users/Validate User.bru | 21 +++++++++++++++++++++ 5 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 tests/Users/Validate User.bru diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 1a9cde0..1da2c79 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -66,4 +66,23 @@ class UserController extends Controller } } + + public function validate(Request $request, int $id): JsonResponse { + + if($request->user()->role != 1 || $request->user()->role == null){ + return response()->json(["message" => "Can't validate this user"], 403); + } + + try { + $user = User::find($id); + + $user->validate = 1; + $user->save(); + + return response()->json(['message' => 'User validated successfully']); + + } catch(\Exception $e) { + return response()->json(['message' => $e->getMessage()]); + } + } } diff --git a/routes/api.php b/routes/api.php index bf4e6cf..c985128 100644 --- a/routes/api.php +++ b/routes/api.php @@ -22,3 +22,5 @@ Route::middleware(['web', 'auth:sanctum'])->delete('/users', [UserController::cl Route::middleware(['web', 'auth:sanctum'])->get('/users/{id}', [UserController::class, "getUser"]); Route::middleware(['web', 'auth:sanctum'])->post('/users/update', [UserController::class, "update"]); + +Route::middleware(['web', 'auth:sanctum'])->post('/users/{id}/validate', [UserController::class, "validate"]); diff --git a/tests/Users/Create user.bru b/tests/Users/Create user.bru index f9cb1d2..8c98d30 100644 --- a/tests/Users/Create user.bru +++ b/tests/Users/Create user.bru @@ -24,7 +24,7 @@ body:json { } vars:pre-request { - name: name + name: test email: test@test.com password: test lastname: NAME diff --git a/tests/Users/Update User.bru b/tests/Users/Update User.bru index 79e7bb7..60e044c 100644 --- a/tests/Users/Update User.bru +++ b/tests/Users/Update User.bru @@ -12,7 +12,7 @@ post { headers { Accept: application/json - X-XSRF-TOKEN: eyJpdiI6IlkrR2sxYk9Db3pDakFFVXFON2x1Vmc9PSIsInZhbHVlIjoiWWdSMndRblM0Wmg3M0RpakltSXdMdC90eGJUaUFQejFocGpma1Rnc2VZSjBoeDBFbGp0alFxWElNUVFkeUFHNVNxN1A4ZFgySm1rU1BjbFY0OWlRTkdJbXREa1FmVCtRalFYZnBFYTNKaHBNZEY5U2JFaTJHZGZpUXVPcks5dFciLCJtYWMiOiIxMjZkM2MwMzVlYjg1NjIzNzI4MGM0ZWQxMjkzMzg3NmU2OGE1Njk5ZGVhYmJkNzIzNTYxNDI4NjVmNjA2OTRlIiwidGFnIjoiIn0= + X-XSRF-TOKEN: } body:json { diff --git a/tests/Users/Validate User.bru b/tests/Users/Validate User.bru new file mode 100644 index 0000000..c6bee68 --- /dev/null +++ b/tests/Users/Validate User.bru @@ -0,0 +1,21 @@ +meta { + name: Validate User + type: http + seq: 5 +} + +post { + url: http://localhost:8000/api/users/5/validate + body: none + auth: inherit +} + +headers { + Accept: application/json + X-XSRF-TOKEN: +} + +settings { + encodeUrl: true + timeout: 0 +}