diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index c5cbee8..fa93bca 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -99,4 +99,27 @@ class UserController extends Controller "message" => "Sesion cerrada" ]); } + public function updateRoleEstado(Request $request){ + $request->validate([ + "id"=>"exists:users", + "role" => "present|nullable|numeric|min:1|max:2", + "estado" => "present|nullable|boolean" + ]); + if(auth()->user()->isAdmin()){ + $user = User::find($request->id); + $user->update(['estado' =>$request->estado]); + $user->roles()->sync([$request->role]); + return response([ + "status" => 1, + "msg" => "!Update user", + "data" => $user, + ]); + } + else{ + return response()->json([ + "status" => 0, + "message" => "No eres administrador", + ], 404); + } + } } diff --git a/app/Models/User.php b/app/Models/User.php index b9e4c58..ad74932 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -20,6 +20,7 @@ class User extends Authenticatable 'lastname', 'email', 'password', + 'estado', ]; public $timestamps = false; diff --git a/routes/api.php b/routes/api.php index 0e98320..93f5259 100644 --- a/routes/api.php +++ b/routes/api.php @@ -45,7 +45,7 @@ Route::get('user', [UserController::class, 'listUser']); Route::middleware("auth:sanctum")->group(function () { //rutas auth Route::get('user-profile', [UserController::class, 'userProfile']); - + Route::get('update', [UserController::class, 'updateRoleEstado']); Route::get('logout', [UserController::class, 'logout']); Route::post('register', [UserController::class, 'register']);