diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-08-11 22:10:49 +0300 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-08-24 21:21:40 +0300 |
commit | 9498ebac6eccde201526b9a6131a76c02ca5db62 (patch) | |
tree | 7256f1fc6de4dee185f5cc116e45247cf27f28cb /lib/Listener | |
parent | 430500712496242526eed2aedb5afc42d60ca1b9 (diff) |
Rework the routing
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/Listener')
-rw-r--r-- | lib/Listener/DeleteDraftListener.php | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/Listener/DeleteDraftListener.php b/lib/Listener/DeleteDraftListener.php index 0e76adec6..9758a0fa0 100644 --- a/lib/Listener/DeleteDraftListener.php +++ b/lib/Listener/DeleteDraftListener.php @@ -30,6 +30,7 @@ use Horde_Imap_Client_Exception; use OCA\Mail\Account; use OCA\Mail\Db\Mailbox; use OCA\Mail\Db\MailboxMapper; +use OCA\Mail\Db\Message; use OCA\Mail\Events\DraftSavedEvent; use OCA\Mail\Events\MessageSentEvent; use OCA\Mail\IMAP\IMAPClientFactory; @@ -70,17 +71,18 @@ class DeleteDraftListener implements IEventListener { } public function handle(Event $event): void { - if ($event instanceof DraftSavedEvent && $event->getDraftUid() !== null) { - $this->deleteDraft($event->getAccount(), $event->getDraftUid()); - } elseif ($event instanceof MessageSentEvent && $event->getDraftUid() !== null) { - $this->deleteDraft($event->getAccount(), $event->getDraftUid()); + if ($event instanceof DraftSavedEvent && $event->getDraft() !== null) { + $this->deleteDraft($event->getAccount(), $event->getDraft()); + } elseif ($event instanceof MessageSentEvent && $event->getDraft() !== null) { + $this->deleteDraft($event->getAccount(), $event->getDraft()); } } /** - * @param DraftSavedEvent $event + * @param Account $account + * @param Message $draft */ - private function deleteDraft(Account $account, int $draftUid): void { + private function deleteDraft(Account $account, Message $draft): void { $client = $this->imapClientFactory->getClient($account); $draftsMailbox = $this->getDraftsMailbox($account); @@ -88,7 +90,7 @@ class DeleteDraftListener implements IEventListener { $this->messageMapper->addFlag( $client, $draftsMailbox, - $draftUid, + $draft->getUid(), // TODO: the UID could be from another mailbox Horde_Imap_Client::FLAG_DELETED ); } catch (Horde_Imap_Client_Exception $e) { |