enable account deletion

This commit is contained in:
2026-02-10 16:46:08 +01:00
parent 2b5446555b
commit 0bde09ad5c
3 changed files with 28 additions and 8 deletions
@@ -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();
}
}