enable account deletion
This commit is contained in:
@@ -49,4 +49,21 @@ class DetailsController extends ApiController
|
||||
|
||||
return new UserResource($user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete user's account.
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function destroy()
|
||||
{
|
||||
$user = auth()->user();
|
||||
|
||||
try {
|
||||
event(new \Vanguard\Events\User\Deleted($user));
|
||||
$user->delete();
|
||||
return $this->respondWithSuccess();
|
||||
} catch (\Exception $e) {
|
||||
return $this->errorInternal($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,14 +127,16 @@ class UsersController extends ApiController
|
||||
*/
|
||||
public function destroy(User $user)
|
||||
{
|
||||
if ($user->id == auth()->id()) {
|
||||
return $this->errorForbidden(__("You cannot delete yourself."));
|
||||
try {
|
||||
event(new Deleted($user));
|
||||
|
||||
$user->delete();
|
||||
|
||||
return $this->respondWithSuccess();
|
||||
} catch (\Illuminate\Database\QueryException $e) {
|
||||
return $this->errorInternal($e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->errorInternal($e->getMessage());
|
||||
}
|
||||
|
||||
event(new Deleted($user));
|
||||
|
||||
$this->users->delete($user->id);
|
||||
|
||||
return $this->respondWithSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user