Eliminando usuarios
This commit is contained in:
@@ -63,14 +63,14 @@ class UsuariosController extends Controller {
|
|||||||
if (!$logged_user->canManageUsers()) {
|
if (!$logged_user->canManageUsers()) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'error' => 'not_allowed',
|
'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);
|
], 403);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$logged_user->hasPermissionsOnRestaurant($restaurant)) {
|
if (!$logged_user->hasPermissionsOnRestaurant($restaurant)) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'error' => 'not_allowed',
|
'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);
|
], 403);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,14 +132,14 @@ class UsuariosController extends Controller {
|
|||||||
if (!$logged_user->canManageUsers()) {
|
if (!$logged_user->canManageUsers()) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'error' => 'not_allowed',
|
'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);
|
], 403);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$logged_user->hasPermissionsOverUser($usuario)) {
|
if (!$logged_user->hasPermissionsOverUser($usuario)) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'error' => 'not_allowed',
|
'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);
|
], 403);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,8 +169,44 @@ class UsuariosController extends Controller {
|
|||||||
return response()->json(["usuario" => $usuario]);
|
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')];
|
$payload = ["connection" => env('AUTH0_CONNECTION')];
|
||||||
|
|
||||||
if ($email)
|
if ($email) $payload["email"] = $email;
|
||||||
$payload["email"] = $email;
|
if ($username) $payload["username"] = $username;
|
||||||
if ($username)
|
if ($password) $payload["password"] = $password;
|
||||||
$payload["username"] = $username;
|
if ($metadata) $payload["app_metadata"] = $metadata;
|
||||||
if ($password)
|
|
||||||
$payload["password"] = $password;
|
|
||||||
if ($metadata)
|
|
||||||
$payload["app_metadata"] = $metadata;
|
|
||||||
|
|
||||||
return Http::withToken($this->getToken())
|
return Http::withToken($this->getToken())
|
||||||
->patch($endpoint, $payload)
|
->patch($endpoint, $payload)
|
||||||
->json();
|
->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