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>2022-03-22 16:02:09 +0300
committerRichard Steinmetz <richard@steinmetz.cloud>2022-03-24 18:35:03 +0300
commit17e1ab053f0bd7c18dad4fe5d66692f9c6d77b15 (patch)
treef615e29ce5a52be60242e8a40b4e6682b627e7bc /lib/Controller
parent791520d41cd98b11d55cc6f55b7592f5f722b484 (diff)
Provide outbox messages as initial state
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Diffstat (limited to 'lib/Controller')
-rw-r--r--lib/Controller/PageController.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index b632f57c7..2117bdb23 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -7,6 +7,7 @@ declare(strict_types=1);
* @author Lukas Reschke <lukas@owncloud.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Timo Witte <timo.witte@gmail.com>
+ * @author Richard Steinmetz <richard@steinmetz.cloud>
*
* Mail
*
@@ -28,6 +29,7 @@ namespace OCA\Mail\Controller;
use OCA\Mail\Contracts\IMailManager;
use OCA\Mail\Contracts\IUserPreferences;
+use OCA\Mail\Db\LocalMessageMapper;
use OCA\Mail\Db\TagMapper;
use OCA\Mail\Service\AccountService;
use OCA\Mail\Service\AliasesService;
@@ -79,6 +81,9 @@ class PageController extends Controller {
/** @var LoggerInterface */
private $logger;
+ /** @var LocalMessageMapper */
+ private $localMessageMapper;
+
public function __construct(string $appName,
IRequest $request,
IURLGenerator $urlGenerator,
@@ -91,7 +96,8 @@ class PageController extends Controller {
IMailManager $mailManager,
TagMapper $tagMapper,
IInitialState $initialStateService,
- LoggerInterface $logger) {
+ LoggerInterface $logger,
+ LocalMessageMapper $localMessageMapper) {
parent::__construct($appName, $request);
$this->urlGenerator = $urlGenerator;
@@ -105,6 +111,7 @@ class PageController extends Controller {
$this->tagMapper = $tagMapper;
$this->initialStateService = $initialStateService;
$this->logger = $logger;
+ $this->localMessageMapper = $localMessageMapper;
}
/**
@@ -169,6 +176,11 @@ class PageController extends Controller {
$this->config->getUserValue($user->getUID(), 'settings', 'email', '')
);
+ $this->initialStateService->provideInitialState(
+ 'outbox-messages',
+ $this->localMessageMapper->getAllForUser($user->getUID())
+ );
+
$csp = new ContentSecurityPolicy();
$csp->addAllowedFrameDomain('\'self\'');
$response->setContentSecurityPolicy($csp);