aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Server.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Server.php')
-rw-r--r--lib/private/Server.php59
1 files changed, 18 insertions, 41 deletions
diff --git a/lib/private/Server.php b/lib/private/Server.php
index ea8c1ce3797..1e1ba2a1ad3 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -55,6 +56,7 @@ use OC\Files\Mount\RootMountProvider;
use OC\Files\Node\HookConnector;
use OC\Files\Node\LazyRoot;
use OC\Files\Node\Root;
+use OC\Files\ObjectStore\PrimaryObjectStoreConfig;
use OC\Files\SetupManager;
use OC\Files\Storage\StorageFactory;
use OC\Files\Template\TemplateManager;
@@ -195,6 +197,7 @@ use OCP\Lock\ILockingProvider;
use OCP\Lockdown\ILockdownManager;
use OCP\Log\ILogFactory;
use OCP\Mail\IMailer;
+use OCP\OCM\ICapabilityAwareOCMProvider;
use OCP\OCM\IOCMDiscoveryService;
use OCP\OCM\IOCMProvider;
use OCP\Preview\IMimeIconProvider;
@@ -235,7 +238,6 @@ use OCP\User\Events\UserLoggedInEvent;
use OCP\User\Events\UserLoggedInWithCookieEvent;
use OCP\User\Events\UserLoggedOutEvent;
use OCP\User\IAvailabilityCoordinator;
-use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
@@ -265,9 +267,7 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerService(ContainerInterface::class, function (ContainerInterface $c) {
return $c;
});
- $this->registerService(\OCP\IServerContainer::class, function (ContainerInterface $c) {
- return $c;
- });
+ $this->registerDeprecatedAlias(\OCP\IServerContainer::class, ContainerInterface::class);
$this->registerAlias(\OCP\Calendar\IManager::class, \OC\Calendar\Manager::class);
@@ -277,6 +277,8 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerAlias(\OCP\Contacts\IManager::class, \OC\ContactsManager::class);
+ $this->registerAlias(\OCP\ContextChat\IContentManager::class, \OC\ContextChat\ContentManager::class);
+
$this->registerAlias(\OCP\DirectEditing\IManager::class, \OC\DirectEditing\Manager::class);
$this->registerAlias(ITemplateManager::class, TemplateManager::class);
$this->registerAlias(\OCP\Template\ITemplateManager::class, \OC\Template\TemplateManager::class);
@@ -319,7 +321,7 @@ class Server extends ServerContainer implements IServerContainer {
return new Profiler($c->get(SystemConfig::class));
});
- $this->registerService(\OCP\Encryption\IManager::class, function (Server $c): Encryption\Manager {
+ $this->registerService(Encryption\Manager::class, function (Server $c): Encryption\Manager {
$view = new View();
$util = new Encryption\Util(
$view,
@@ -336,6 +338,7 @@ class Server extends ServerContainer implements IServerContainer {
new ArrayCache()
);
});
+ $this->registerAlias(\OCP\Encryption\IManager::class, Encryption\Manager::class);
$this->registerService(IFile::class, function (ContainerInterface $c) {
$util = new Encryption\Util(
@@ -568,6 +571,7 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerAlias(IAppConfig::class, \OC\AppConfig::class);
$this->registerAlias(IUserConfig::class, \OC\Config\UserConfig::class);
+ $this->registerAlias(IAppManager::class, AppManager::class);
$this->registerService(IFactory::class, function (Server $c) {
return new \OC\L10N\Factory(
@@ -604,7 +608,7 @@ class Server extends ServerContainer implements IServerContainer {
$prefixClosure = function () use ($logQuery, $serverVersion): ?string {
if (!$logQuery) {
try {
- $v = \OCP\Server::get(IAppConfig::class)->getAppInstalledVersions();
+ $v = \OCP\Server::get(IAppConfig::class)->getAppInstalledVersions(true);
} catch (\Doctrine\DBAL\Exception $e) {
// Database service probably unavailable
// Probably related to https://github.com/nextcloud/server/issues/37424
@@ -619,7 +623,7 @@ class Server extends ServerContainer implements IServerContainer {
];
}
$v['core'] = implode(',', $serverVersion->getVersion());
- $version = implode(',', $v);
+ $version = implode(',', array_keys($v)) . implode(',', $v);
$instanceId = \OC_Util::getInstanceId();
$path = \OC::$SERVERROOT;
return md5($instanceId . '-' . $version . '-' . $path);
@@ -776,21 +780,6 @@ class Server extends ServerContainer implements IServerContainer {
});
$this->registerAlias(ITempManager::class, TempManager::class);
-
- $this->registerService(AppManager::class, function (ContainerInterface $c) {
- // TODO: use auto-wiring
- return new \OC\App\AppManager(
- $c->get(IUserSession::class),
- $c->get(\OCP\IConfig::class),
- $c->get(IGroupManager::class),
- $c->get(ICacheFactory::class),
- $c->get(IEventDispatcher::class),
- $c->get(LoggerInterface::class),
- $c->get(ServerVersion::class),
- );
- });
- $this->registerAlias(IAppManager::class, AppManager::class);
-
$this->registerAlias(IDateTimeZone::class, DateTimeZone::class);
$this->registerService(IDateTimeFormatter::class, function (Server $c) {
@@ -819,10 +808,11 @@ class Server extends ServerContainer implements IServerContainer {
$config = $c->get(\OCP\IConfig::class);
$logger = $c->get(LoggerInterface::class);
+ $objectStoreConfig = $c->get(PrimaryObjectStoreConfig::class);
$manager->registerProvider(new CacheMountProvider($config));
$manager->registerHomeProvider(new LocalHomeMountProvider());
- $manager->registerHomeProvider(new ObjectHomeMountProvider($config));
- $manager->registerRootProvider(new RootMountProvider($config, $c->get(LoggerInterface::class)));
+ $manager->registerHomeProvider(new ObjectHomeMountProvider($objectStoreConfig));
+ $manager->registerRootProvider(new RootMountProvider($objectStoreConfig, $config));
$manager->registerRootProvider(new ObjectStorePreviewCacheMountProvider($logger, $config));
return $manager;
@@ -883,7 +873,7 @@ class Server extends ServerContainer implements IServerContainer {
$c->get(IMimeTypeDetector::class)
);
});
- $this->registerService(\OCP\IRequest::class, function (ContainerInterface $c) {
+ $this->registerService(Request::class, function (ContainerInterface $c) {
if (isset($this['urlParams'])) {
$urlParams = $this['urlParams'];
} else {
@@ -917,6 +907,7 @@ class Server extends ServerContainer implements IServerContainer {
$stream
);
});
+ $this->registerAlias(\OCP\IRequest::class, Request::class);
$this->registerService(IRequestId::class, function (ContainerInterface $c): IRequestId {
return new RequestId(
@@ -1269,7 +1260,8 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerAlias(IPhoneNumberUtil::class, PhoneNumberUtil::class);
- $this->registerAlias(IOCMProvider::class, OCMProvider::class);
+ $this->registerAlias(ICapabilityAwareOCMProvider::class, OCMProvider::class);
+ $this->registerDeprecatedAlias(IOCMProvider::class, OCMProvider::class);
$this->registerAlias(ISetupCheckManager::class, SetupCheckManager::class);
@@ -1690,7 +1682,6 @@ class Server extends ServerContainer implements IServerContainer {
* @deprecated 20.0.0 Use get(\OCP\Files\AppData\IAppDataFactory::class)->get($app) instead
*/
public function getAppDataDir($app) {
- /** @var \OC\Files\AppData\Factory $factory */
$factory = $this->get(\OC\Files\AppData\Factory::class);
return $factory->get($app);
}
@@ -1702,18 +1693,4 @@ class Server extends ServerContainer implements IServerContainer {
public function getCloudIdManager() {
return $this->get(ICloudIdManager::class);
}
-
- private function registerDeprecatedAlias(string $alias, string $target) {
- $this->registerService($alias, function (ContainerInterface $container) use ($target, $alias) {
- try {
- /** @var LoggerInterface $logger */
- $logger = $container->get(LoggerInterface::class);
- $logger->debug('The requested alias "' . $alias . '" is deprecated. Please request "' . $target . '" directly. This alias will be removed in a future Nextcloud version.', ['app' => 'serverDI']);
- } catch (ContainerExceptionInterface $e) {
- // Could not get logger. Continue
- }
-
- return $container->get($target);
- }, false);
- }
}