Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Steinmetz <richard@steinmetz.cloud>2020-11-23 18:33:02 +0300
committerRichard Steinmetz <richard@steinmetz.cloud>2020-11-26 16:37:40 +0300
commitcd9d4a47d6d74a0872e21153cfdf8007436ca30a (patch)
tree5a12b40802b1d0c0eea8a408636ce0837cd0ff28 /lib/Listener
parenta1e4b8f1afc38f5c167466f4e3e8e029389c78ef (diff)
Fix previous drafts not being deleted from the cache
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Diffstat (limited to 'lib/Listener')
-rw-r--r--lib/Listener/DeleteDraftListener.php13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/Listener/DeleteDraftListener.php b/lib/Listener/DeleteDraftListener.php
index 87f46b47a..469ef070b 100644
--- a/lib/Listener/DeleteDraftListener.php
+++ b/lib/Listener/DeleteDraftListener.php
@@ -32,11 +32,13 @@ use OCA\Mail\Db\Mailbox;
use OCA\Mail\Db\MailboxMapper;
use OCA\Mail\Db\Message;
use OCA\Mail\Events\DraftSavedEvent;
+use OCA\Mail\Events\MessageDeletedEvent;
use OCA\Mail\Events\MessageSentEvent;
use OCA\Mail\IMAP\IMAPClientFactory;
use OCA\Mail\IMAP\MessageMapper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\EventDispatcher\IEventListener;
use Psr\Log\LoggerInterface;
@@ -54,14 +56,19 @@ class DeleteDraftListener implements IEventListener {
/** @var LoggerInterface */
private $logger;
+ /** @var IEventDispatcher */
+ private $eventDispatcher;
+
public function __construct(IMAPClientFactory $imapClientFactory,
MailboxMapper $mailboxMapper,
MessageMapper $messageMapper,
- LoggerInterface $logger) {
+ LoggerInterface $logger,
+ IEventDispatcher $eventDispatcher) {
$this->imapClientFactory = $imapClientFactory;
$this->mailboxMapper = $mailboxMapper;
$this->messageMapper = $messageMapper;
$this->logger = $logger;
+ $this->eventDispatcher = $eventDispatcher;
}
public function handle(Event $event): void {
@@ -105,6 +112,10 @@ class DeleteDraftListener implements IEventListener {
'exception' => $e,
]);
}
+
+ $this->eventDispatcher->dispatchTyped(
+ new MessageDeletedEvent($account, $draftsMailbox, $draft->getUid())
+ );
}
/**