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:
-rw-r--r--lib/Service/Provisioning/Manager.php32
-rw-r--r--tests/psalm-baseline.xml7
2 files changed, 12 insertions, 27 deletions
diff --git a/lib/Service/Provisioning/Manager.php b/lib/Service/Provisioning/Manager.php
index a364e56db..b545e0f15 100644
--- a/lib/Service/Provisioning/Manager.php
+++ b/lib/Service/Provisioning/Manager.php
@@ -34,14 +34,12 @@ use OCA\Mail\Db\TagMapper;
use OCA\Mail\Exception\ValidationException;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
-use OCP\IServerContainer;
use OCP\IUser;
use OCP\IUserManager;
use OCP\LDAP\ILDAPProvider;
use OCP\LDAP\ILDAPProviderFactory;
use OCP\Security\ICrypto;
use Psr\Log\LoggerInterface;
-use Throwable;
class Manager {
@@ -57,8 +55,8 @@ class Manager {
/** @var ICrypto */
private $crypto;
- /** @var IServerContainer */
- private $serverContainer;
+ /** @var ILDAPProviderFactory */
+ private $ldapProviderFactory;
/** @var AliasMapper */
private $aliasMapper;
@@ -73,7 +71,7 @@ class Manager {
ProvisioningMapper $provisioningMapper,
MailAccountMapper $mailAccountMapper,
ICrypto $crypto,
- IServerContainer $appContainer,
+ ILDAPProviderFactory $ldapProviderFactory,
AliasMapper $aliasMapper,
LoggerInterface $logger,
TagMapper $tagMapper) {
@@ -81,7 +79,7 @@ class Manager {
$this->provisioningMapper = $provisioningMapper;
$this->mailAccountMapper = $mailAccountMapper;
$this->crypto = $crypto;
- $this->serverContainer = $appContainer;
+ $this->ldapProviderFactory = $ldapProviderFactory;
$this->aliasMapper = $aliasMapper;
$this->logger = $logger;
$this->tagMapper = $tagMapper;
@@ -162,22 +160,16 @@ class Manager {
return $provisioning;
}
- try {
- $ldapProviderFactory = $this->serverContainer->get(ILDAPProviderFactory::class);
- /** @psalm-suppress UndefinedInterfaceMethod */
- if ($ldapProviderFactory->isAvailable() === false) {
- $this->logger->debug('Request to provision mail aliases but LDAP not available');
- return $provisioning;
- }
- $ldapProvider = $ldapProviderFactory->getLDAPProvider();
- /** @psalm-suppress UndefinedInterfaceMethod */
- $provisioning->setAliases($ldapProvider->getMultiValueUserAttribute($user->getUID(), $provisioning->getLdapAliasesAttribute()));
- } catch (Throwable $e) {
- $this->logger->debug('Request to provision mail aliases but LDAP erros: ' . $e->getMessage(), [
- 'exception' => $e,
- ]);
+ /** @psalm-suppress UndefinedInterfaceMethod */
+ if ($this->ldapProviderFactory->isAvailable() === false) {
+ $this->logger->debug('Request to provision mail aliases but LDAP not available');
+ return $provisioning;
}
+ $ldapProvider = $this->ldapProviderFactory->getLDAPProvider();
+ /** @psalm-suppress UndefinedInterfaceMethod */
+ $provisioning->setAliases($ldapProvider->getMultiValueUserAttribute($user->getUID(), $provisioning->getLdapAliasesAttribute()));
+
return $provisioning;
}
diff --git a/tests/psalm-baseline.xml b/tests/psalm-baseline.xml
index 84d260f53..66cc2bf0e 100644
--- a/tests/psalm-baseline.xml
+++ b/tests/psalm-baseline.xml
@@ -311,13 +311,6 @@
<code>SaveDraftEvent</code>
</MissingDependency>
</file>
- <file src="lib/Service/Provisioning/Manager.php">
- <MissingDependency occurrences="3">
- <code>$this-&gt;serverContainer</code>
- <code>IServerContainer</code>
- <code>IServerContainer</code>
- </MissingDependency>
- </file>
<file src="lib/Service/Sync/ImapToDbSynchronizer.php">
<MissingDependency occurrences="4">
<code>NewMessagesSynchronized</code>