Skip to content

Commit 082c759

Browse files
committed
Delete Handler: check if owner to pgp key exists
1 parent f40f804 commit 082c759

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/Handler/DeleteHandler.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@ class DeleteHandler
1313
/**
1414
* DeleteHandler constructor.
1515
*/
16-
public function __construct(private readonly PasswordUpdater $passwordUpdater, private readonly EntityManagerInterface $manager, private readonly WkdHandler $wkdHandler)
17-
{
16+
public function __construct(
17+
private readonly PasswordUpdater $passwordUpdater,
18+
private readonly EntityManagerInterface $manager,
19+
private readonly WkdHandler $wkdHandler
20+
) {
1821
}
1922

2023
public function deleteAlias(Alias $alias, User $user = null)
@@ -52,12 +55,14 @@ public function deleteUser(User $user)
5255
$user->eraseMailCryptPublicKey();
5356
$user->eraseMailCryptSecretBox();
5457

55-
// Delete OpenPGP key from WKD
56-
$this->wkdHandler->deleteKey($user->getEmail());
57-
5858
// Flag user as deleted
5959
$user->setDeleted(true);
6060

61+
// Delete OpenPGP key from WKD if no other user owns mail handle
62+
if (!$this->wkdHandler->userToUserIdExists($user->getEmail())) {
63+
$this->wkdHandler->deleteKey($user->getEmail());
64+
}
65+
6166
$this->manager->flush();
6267
}
6368
}

0 commit comments

Comments
 (0)