Eliminando usuarios
This commit is contained in:
@@ -63,14 +63,14 @@ class UsuariosController extends Controller {
|
||||
if (!$logged_user->canManageUsers()) {
|
||||
return response()->json([
|
||||
'error' => 'not_allowed',
|
||||
'message' => 'El usuario no tiene permisos para crear usuarios'
|
||||
'message' => 'El usuario ' . $logged_user->id . ' no tiene permisos para crear usuarios'
|
||||
], 403);
|
||||
}
|
||||
|
||||
if (!$logged_user->hasPermissionsOnRestaurant($restaurant)) {
|
||||
return response()->json([
|
||||
'error' => 'not_allowed',
|
||||
'message' => 'El usuario no puede crear un usuario en un restaurant al que no pertenece'
|
||||
'message' => 'El usuario ' . $logged_user->id . ' no puede crear un usuario en el restaurant ' . $restaurant->id . ' porque que no pertenece a el'
|
||||
], 403);
|
||||
}
|
||||
|
||||
@@ -132,14 +132,14 @@ class UsuariosController extends Controller {
|
||||
if (!$logged_user->canManageUsers()) {
|
||||
return response()->json([
|
||||
'error' => 'not_allowed',
|
||||
'message' => 'El usuario no tiene permisos para modificar usuarios'
|
||||
'message' => 'El usuario ' . $logged_user->id . ' no tiene permisos para modificar usuarios'
|
||||
], 403);
|
||||
}
|
||||
|
||||
if (!$logged_user->hasPermissionsOverUser($usuario)) {
|
||||
return response()->json([
|
||||
'error' => 'not_allowed',
|
||||
'message' => 'El usuario no tiene permisos para modificar a este usuario'
|
||||
'message' => 'El usuario ' . $logged_user->id . ' no tiene permisos para modificar al usuario ' . $usuario->id
|
||||
], 403);
|
||||
}
|
||||
|
||||
@@ -169,8 +169,44 @@ class UsuariosController extends Controller {
|
||||
return response()->json(["usuario" => $usuario]);
|
||||
}
|
||||
|
||||
public function delete(Request $request) {
|
||||
public function delete(Request $request, $id) {
|
||||
/** @var Usuario $logged_user */
|
||||
$logged_user = $request->user;
|
||||
$usuario = Usuario::findByIdOrAuth0Id($id);
|
||||
|
||||
if (!$usuario) {
|
||||
return response()->json([
|
||||
'error' => 'not_found',
|
||||
'message' => 'El usuario con id ' . $id . ' no existe'
|
||||
], 404);
|
||||
}
|
||||
|
||||
if (!$logged_user->canManageUsers()) {
|
||||
return response()->json([
|
||||
'error' => 'not_allowed',
|
||||
'message' => 'El usuario ' . $logged_user->id . ' no tiene permisos para modificar usuarios'
|
||||
], 403);
|
||||
}
|
||||
|
||||
if (!$logged_user->hasPermissionsOverUser($usuario)) {
|
||||
return response()->json([
|
||||
'error' => 'not_allowed',
|
||||
'message' => 'El usuario ' . $logged_user->id . ' no tiene permisos para modificar al usuario ' . $usuario->id
|
||||
], 403);
|
||||
}
|
||||
|
||||
$auth0 = app(Auth0Service::class);
|
||||
$auth0Response = $auth0->deleteUser($usuario->auth0_id);
|
||||
|
||||
if ($auth0Response && array_key_exists('error', $auth0Response)) {
|
||||
return response()->json([
|
||||
'error' => $auth0Response['errorCode'],
|
||||
'message' => $auth0Response['message'],
|
||||
], $auth0Response['statusCode']);
|
||||
}
|
||||
|
||||
$usuario->delete();
|
||||
|
||||
return response()->json([], 204);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,21 @@ class Auth0Service extends ServiceProvider {
|
||||
|
||||
$payload = ["connection" => env('AUTH0_CONNECTION')];
|
||||
|
||||
if ($email)
|
||||
$payload["email"] = $email;
|
||||
if ($username)
|
||||
$payload["username"] = $username;
|
||||
if ($password)
|
||||
$payload["password"] = $password;
|
||||
if ($metadata)
|
||||
$payload["app_metadata"] = $metadata;
|
||||
if ($email) $payload["email"] = $email;
|
||||
if ($username) $payload["username"] = $username;
|
||||
if ($password) $payload["password"] = $password;
|
||||
if ($metadata) $payload["app_metadata"] = $metadata;
|
||||
|
||||
return Http::withToken($this->getToken())
|
||||
->patch($endpoint, $payload)
|
||||
->json();
|
||||
}
|
||||
|
||||
public function deleteUser($auth0_id) {
|
||||
$endpoint = env('AUTH0_DOMAIN') . 'api/v2/users/' . $auth0_id;
|
||||
|
||||
return Http::withToken($this->getToken())
|
||||
->delete($endpoint)
|
||||
->json();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user