refactor: remove long deprecated IServerContainer methods

Signed-off-by: Carl Schwan <carlschwan@kde.org>
This commit is contained in:
Carl Schwan 2026-03-09 16:35:12 +01:00
parent 7b305fbe22
commit 39c14c383b
No known key found for this signature in database
GPG key ID: 02325448204E452A
12 changed files with 45 additions and 651 deletions

View file

@ -22,6 +22,7 @@ use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\L10N\IFactory;
use OCP\Security\ISecureRandom;
use OCP\Server;
use Psr\Log\LoggerInterface;
@ -66,7 +67,7 @@ class CreateCalendar extends Command {
Server::get(ProxyMapper::class),
Server::get(KnownUserService::class),
Server::get(IConfig::class),
\OC::$server->getL10NFactory(),
Server::get(IFactory::class),
);
$random = Server::get(ISecureRandom::class);
$logger = Server::get(LoggerInterface::class);

View file

@ -8,6 +8,7 @@
namespace OCA\DAV\Files;
use OCP\Files\FileInfo;
use OCP\Files\IRootFolder;
use OCP\IUserSession;
use OCP\Server;
use Sabre\DAV\INode;
@ -35,7 +36,7 @@ class RootCollection extends AbstractPrincipalCollection {
// in the future this could be considered to be used for accessing shared files
return new SimpleCollection($name);
}
$userFolder = \OC::$server->getUserFolder();
$userFolder = Server::get(IRootFolder::class)->getUserFolder($user->getUID());
if (!($userFolder instanceof FileInfo)) {
throw new \Exception('Home does not exist');
}

View file

@ -42,6 +42,7 @@ use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\L10N\IFactory;
use OCP\Security\ISecureRandom;
use OCP\Server;
use OCP\SystemTag\ISystemTagManager;
@ -75,7 +76,7 @@ class RootCollection extends SimpleCollection {
$proxyMapper,
Server::get(KnownUserService::class),
Server::get(IConfig::class),
\OC::$server->getL10NFactory()
Server::get(IFactory::class)
);
$groupPrincipalBackend = new GroupPrincipalBackend($groupManager, $userSession, $shareManager, $config);

View file

@ -13,13 +13,15 @@ use OCA\Files_Sharing\External\Storage;
use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
use OCP\Http\Client\IResponse;
use OCP\ICertificateManager;
use OCP\Server;
/**
* Tests for the external Storage class for remote shares.
*/
#[\PHPUnit\Framework\Attributes\Group(name: 'DB')]
class ExternalStorageTest extends \Test\TestCase {
public static function optionsProvider() {
public static function optionsProvider(): array {
return [
[
'http://remoteserver:8080/owncloud',
@ -54,7 +56,7 @@ class ExternalStorageTest extends \Test\TestCase {
}
private function getTestStorage($uri) {
$certificateManager = \OC::$server->getCertificateManager();
$certificateManager = Server::get(ICertificateManager::class);
$httpClientService = $this->createMock(IClientService::class);
$manager = $this->createMock(ExternalShareManager::class);
$client = $this->createMock(IClient::class);

View file

@ -30,7 +30,9 @@ use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\IAppConfig;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\Settings\Events\DeclarativeSettingsGetValueEvent;
use OCP\Settings\Events\DeclarativeSettingsRegisterFormEvent;
use OCP\Settings\Events\DeclarativeSettingsSetValueEvent;
@ -67,9 +69,9 @@ class Application extends App implements IBootstrap {
public function boot(IBootContext $context): void {
$server = $context->getServerContainer();
$config = $server->getConfig();
if ($config->getAppValue(self::APP_ID, 'enable_alt_user_backend', 'no') === 'yes') {
$userManager = $server->getUserManager();
$config = $server->get(IAppConfig::class);
if ($config->getValueBool(self::APP_ID, 'enable_alt_user_backend')) {
$userManager = $server->get(IUserManager::class);
// replace all user backends with this one
$userManager->clearBackends();

View file

@ -444,11 +444,6 @@
<code><![CDATA[$this->principalUri]]></code>
</InvalidArgument>
</file>
<file src="apps/dav/lib/Command/CreateCalendar.php">
<DeprecatedMethod>
<code><![CDATA[getL10NFactory]]></code>
</DeprecatedMethod>
</file>
<file src="apps/dav/lib/Command/SendEventReminders.php">
<DeprecatedMethod>
<code><![CDATA[getAppValue]]></code>
@ -775,11 +770,6 @@
<code><![CDATA[bool]]></code>
</InvalidReturnType>
</file>
<file src="apps/dav/lib/Files/RootCollection.php">
<DeprecatedMethod>
<code><![CDATA[getUserFolder]]></code>
</DeprecatedMethod>
</file>
<file src="apps/dav/lib/Listener/CalendarDeletionDefaultUpdaterListener.php">
<DeprecatedMethod>
<code><![CDATA[deleteUserValue]]></code>
@ -830,7 +820,6 @@
<file src="apps/dav/lib/RootCollection.php">
<DeprecatedMethod>
<code><![CDATA[getL10N]]></code>
<code><![CDATA[getL10NFactory]]></code>
</DeprecatedMethod>
</file>
<file src="apps/dav/lib/Search/ContactsSearchProvider.php">
@ -2345,13 +2334,6 @@
<code><![CDATA[AlternativeHomeUserBackend]]></code>
</DeprecatedInterface>
</file>
<file src="apps/testing/lib/AppInfo/Application.php">
<DeprecatedMethod>
<code><![CDATA[getAppValue]]></code>
<code><![CDATA[getConfig]]></code>
<code><![CDATA[getUserManager]]></code>
</DeprecatedMethod>
</file>
<file src="apps/testing/lib/Controller/ConfigController.php">
<DeprecatedMethod>
<code><![CDATA[deleteAppValue]]></code>
@ -3951,12 +3933,6 @@
<code><![CDATA[array{X-Request-Id: string, Cache-Control: string, Content-Security-Policy: string, Feature-Policy: string, X-Robots-Tag: string, Last-Modified?: string, ETag?: string, ...H}]]></code>
</MoreSpecificReturnType>
</file>
<file src="ocs-provider/index.php">
<DeprecatedMethod>
<code><![CDATA[getAppManager]]></code>
<code><![CDATA[getRequest]]></code>
</DeprecatedMethod>
</file>
<file src="public.php">
<DeprecatedMethod>
<code><![CDATA[getAppValue]]></code>

View file

@ -8,6 +8,7 @@ declare(strict_types=1);
*/
use OC\Profiler\BuiltInProfiler;
use OC\Security\CSP\ContentSecurityPolicyNonceManager;
use OC\Share20\GroupDeletedListener;
use OC\Share20\Hooks;
use OC\Share20\UserDeletedListener;
@ -22,6 +23,7 @@ use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use OCP\IURLGenerator;
use OCP\IUserSession;
use OCP\Security\Bruteforce\IThrottler;
@ -298,7 +300,7 @@ class OC {
Util::addScript('core', 'update');
$initialState = Server::get(IInitialStateService::class);
$serverVersion = \OCP\Server::get(\OCP\ServerVersion::class);
$serverVersion = Server::get(\OCP\ServerVersion::class);
if ($disableWebUpdater || ($tooBig && !$ignoreTooBigWarning)) {
// send http status 503
http_response_code(503);
@ -621,7 +623,7 @@ class OC {
* @see \OCP\AppFramework\Http\Response::getHeaders
*/
$policy = 'default-src \'self\'; '
. 'script-src \'self\' \'nonce-' . \OC::$server->getContentSecurityPolicyNonceManager()->getNonce() . '\'; '
. 'script-src \'self\' \'nonce-' . Server::get(ContentSecurityPolicyNonceManager::class)->getNonce() . '\'; '
. 'style-src \'self\' \'unsafe-inline\'; '
. 'frame-src *; '
. 'img-src * data: blob:; '
@ -727,7 +729,7 @@ class OC {
$config = Server::get(IConfig::class);
if (!defined('PHPUNIT_RUN')) {
$errorHandler = new OC\Log\ErrorHandler(
\OCP\Server::get(\Psr\Log\LoggerInterface::class),
Server::get(\Psr\Log\LoggerInterface::class),
);
$exceptionHandler = [$errorHandler, 'onException'];
if ($config->getSystemValueBool('debug', false)) {
@ -812,7 +814,7 @@ class OC {
// User and Groups
if (!$systemConfig->getValue('installed', false)) {
self::$server->getSession()->set('user_id', '');
Server::get(ISession::class)->set('user_id', '');
}
$eventLogger->start('setup_backends', 'Setup group and user backends');
@ -1076,7 +1078,7 @@ class OC {
// Check if Nextcloud is installed or in maintenance (update) mode
if (!$systemConfig->getValue('installed', false)) {
\OC::$server->getSession()->clear();
Server::get(ISession::class)->clear();
$controller = Server::get(\OC\Core\Controller\SetupController::class);
$controller->run($_POST);
exit();

View file

@ -118,7 +118,7 @@ class DAV extends Common {
}
if ($this->secure === true) {
// inject mock for testing
$this->certManager = \OC::$server->getCertificateManager();
$this->certManager = Server::get(ICertificateManager::class);
}
$this->root = rawurldecode($parameters['root'] ?? '/');
$this->root = '/' . ltrim($this->root, '/');

View file

@ -122,7 +122,6 @@ use OC\Security\CertificateManager;
use OC\Security\CredentialsManager;
use OC\Security\Crypto;
use OC\Security\CSP\ContentSecurityPolicyManager;
use OC\Security\CSP\ContentSecurityPolicyNonceManager;
use OC\Security\CSRF\CsrfTokenManager;
use OC\Security\CSRF\TokenStorage\SessionStorage;
use OC\Security\Hasher;
@ -201,7 +200,6 @@ use OCP\Files\Config\IMountProviderCollection;
use OCP\Files\Config\IUserMountCache;
use OCP\Files\Conversion\IConversionManager;
use OCP\Files\Folder;
use OCP\Files\IAppData;
use OCP\Files\IFilenameValidator;
use OCP\Files\IMimeTypeDetector;
use OCP\Files\IMimeTypeLoader;
@ -629,7 +627,7 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerService(IFactory::class, function (Server $c) {
return new \OC\L10N\Factory(
$c->get(IConfig::class),
$c->getRequest(),
$c->get(IRequest::class),
$c->get(IUserSession::class),
$c->get(ICacheFactory::class),
\OC::$SERVERROOT,
@ -681,7 +679,7 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerService(\OCP\Activity\IManager::class, function (Server $c) {
$l10n = $this->get(IFactory::class)->get('lib');
return new \OC\Activity\Manager(
$c->getRequest(),
$c->get(IRequest::class),
$c->get(IUserSession::class),
$c->get(IConfig::class),
$c->get(IValidator::class),
@ -702,8 +700,8 @@ class Server extends ServerContainer implements IServerContainer {
return new AvatarManager(
$c->get(IUserSession::class),
$c->get(\OC\User\Manager::class),
$c->getAppDataDir('avatar'),
$c->getL10N('lib'),
$c->get(IAppDataFactory::class)->get('avatar'),
$c->get(IFactory::class)->get('lib'),
$c->get(LoggerInterface::class),
$c->get(IConfig::class),
$c->get(IAccountManager::class),
@ -1066,7 +1064,7 @@ class Server extends ServerContainer implements IServerContainer {
if ($classExists
&& $c->get(IConfig::class)->getSystemValueBool('installed', false)
&& $c->get(IAppManager::class)->isEnabledForAnyone('theming')
&& $c->get(TrustedDomainHelper::class)->isTrustedDomain($c->getRequest()->getInsecureServerHost())) {
&& $c->get(TrustedDomainHelper::class)->isTrustedDomain($c->get(IRequest::class)->getInsecureServerHost())) {
$backgroundService = new BackgroundService(
$c->get(IRootFolder::class),
$c->get(IAppDataFactory::class)->get('theming'),
@ -1111,7 +1109,7 @@ class Server extends ServerContainer implements IServerContainer {
});
$this->registerService(JSCombiner::class, function (Server $c) {
return new JSCombiner(
$c->getAppDataDir('js'),
$c->get(IAppDataFactory::class)->get('js'),
$c->get(IURLGenerator::class),
$this->get(ICacheFactory::class),
$c->get(IConfig::class),
@ -1352,62 +1350,6 @@ class Server extends ServerContainer implements IServerContainer {
GenerateBlurhashMetadata::loadListeners($eventDispatcher);
}
/**
* @return \OCP\Contacts\IManager
* @deprecated 20.0.0
*/
public function getContactsManager() {
return $this->get(\OCP\Contacts\IManager::class);
}
/**
* @deprecated 20.0.0
*/
public function getEncryptionManager(): \OCP\Encryption\IManager {
return $this->get(\OCP\Encryption\IManager::class);
}
/**
* @deprecated 20.0.0
*/
public function getEncryptionFilesHelper(): IFile {
return $this->get(IFile::class);
}
/**
* The current request object holding all information about the request
* currently being processed is returned from this method.
* In case the current execution was not initiated by a web request null is returned
*
* @return IRequest
* @deprecated 20.0.0
*/
public function getRequest() {
return $this->get(IRequest::class);
}
/**
* Returns the root folder of ownCloud's data directory
*
* @return IRootFolder
* @deprecated 20.0.0
*/
public function getRootFolder() {
return $this->get(IRootFolder::class);
}
/**
* Returns the root folder of ownCloud's data directory
* This is the lazy variant so this gets only initialized once it
* is actually used.
*
* @return IRootFolder
* @deprecated 20.0.0
*/
public function getLazyRootFolder() {
return $this->get(IRootFolder::class);
}
/**
* Returns a view to ownCloud's files folder
*
@ -1427,34 +1369,6 @@ class Server extends ServerContainer implements IServerContainer {
return $root->getUserFolder($userId);
}
/**
* @deprecated 20.0.0
*/
public function getUserManager(): IUserManager {
return $this->get(IUserManager::class);
}
/**
* @deprecated 20.0.0
*/
public function getGroupManager(): IGroupManager {
return $this->get(IGroupManager::class);
}
/**
* @deprecated 20.0.0
*/
public function getUserSession(): IUserSession {
return $this->get(IUserSession::class);
}
/**
* @deprecated 20.0.0
*/
public function getSession(): ISession {
return $this->get(Session::class)->getSession();
}
public function setSession(ISession $session): void {
$this->get(SessionStorage::class)->setSession($session);
$this->get(Session::class)->setSession($session);
@ -1462,24 +1376,13 @@ class Server extends ServerContainer implements IServerContainer {
}
/**
* Get the webroot
*
* @return string
* @deprecated 20.0.0
*/
public function getConfig(): IConfig {
return $this->get(AllConfig::class);
}
/**
* @deprecated 20.0.0
*/
public function getSystemConfig(): SystemConfig {
return $this->get(SystemConfig::class);
}
/**
* @deprecated 20.0.0
*/
public function getL10NFactory(): IFactory {
return $this->get(IFactory::class);
public function getWebRoot(): string {
return $this->webRoot;
}
/**
@ -1493,241 +1396,4 @@ class Server extends ServerContainer implements IServerContainer {
public function getL10N($app, $lang = null) {
return $this->get(IFactory::class)->get($app, $lang);
}
/**
* @return IURLGenerator
* @deprecated 20.0.0
*/
public function getURLGenerator() {
return $this->get(IURLGenerator::class);
}
/**
* Returns an ICache instance. Since 8.1.0 it returns a fake cache. Use
* getMemCacheFactory() instead.
*
* @return ICache
* @deprecated 8.1.0 use getMemCacheFactory to obtain a proper cache
*/
public function getCache() {
return $this->get(ICache::class);
}
/**
* Returns an \OCP\CacheFactory instance
*
* @return ICacheFactory
* @deprecated 20.0.0
*/
public function getMemCacheFactory() {
return $this->get(ICacheFactory::class);
}
/**
* Returns the current session
*
* @return IDBConnection
* @deprecated 20.0.0
*/
public function getDatabaseConnection() {
return $this->get(IDBConnection::class);
}
/**
* Returns the activity manager
*
* @return \OCP\Activity\IManager
* @deprecated 20.0.0
*/
public function getActivityManager() {
return $this->get(\OCP\Activity\IManager::class);
}
/**
* Returns an job list for controlling background jobs
*
* @return IJobList
* @deprecated 20.0.0
*/
public function getJobList() {
return $this->get(IJobList::class);
}
/**
* Returns a SecureRandom instance
*
* @return ISecureRandom
* @deprecated 20.0.0
*/
public function getSecureRandom() {
return $this->get(ISecureRandom::class);
}
/**
* Returns a Crypto instance
*
* @return ICrypto
* @deprecated 20.0.0
*/
public function getCrypto() {
return $this->get(ICrypto::class);
}
/**
* Returns a Hasher instance
*
* @return IHasher
* @deprecated 20.0.0
*/
public function getHasher() {
return $this->get(IHasher::class);
}
/**
* Get the certificate manager
*
* @return ICertificateManager
*/
public function getCertificateManager() {
return $this->get(ICertificateManager::class);
}
/**
* Get the manager for temporary files and folders
*
* @return ITempManager
* @deprecated 20.0.0
*/
public function getTempManager() {
return $this->get(ITempManager::class);
}
/**
* Get the app manager
*
* @return IAppManager
* @deprecated 20.0.0
*/
public function getAppManager() {
return $this->get(IAppManager::class);
}
/**
* Creates a new mailer
*
* @return IMailer
* @deprecated 20.0.0
*/
public function getMailer() {
return $this->get(IMailer::class);
}
/**
* Get the webroot
*
* @return string
* @deprecated 20.0.0
*/
public function getWebRoot() {
return $this->webRoot;
}
/**
* Get the locking provider
*
* @return ILockingProvider
* @since 8.1.0
* @deprecated 20.0.0
*/
public function getLockingProvider() {
return $this->get(ILockingProvider::class);
}
/**
* Get the MimeTypeDetector
*
* @return IMimeTypeDetector
* @deprecated 20.0.0
*/
public function getMimeTypeDetector() {
return $this->get(IMimeTypeDetector::class);
}
/**
* Get the MimeTypeLoader
*
* @return IMimeTypeLoader
* @deprecated 20.0.0
*/
public function getMimeTypeLoader() {
return $this->get(IMimeTypeLoader::class);
}
/**
* Get the Notification Manager
*
* @return \OCP\Notification\IManager
* @since 8.2.0
* @deprecated 20.0.0
*/
public function getNotificationManager() {
return $this->get(\OCP\Notification\IManager::class);
}
/**
* @return ThemingDefaults
* @deprecated 20.0.0
*/
public function getThemingDefaults() {
return $this->get('ThemingDefaults');
}
/**
* @return Checker
* @deprecated 20.0.0
*/
public function getIntegrityCodeChecker() {
return $this->get('IntegrityCodeChecker');
}
/**
* @return CsrfTokenManager
* @deprecated 20.0.0
*/
public function getCsrfTokenManager() {
return $this->get(CsrfTokenManager::class);
}
/**
* @return ContentSecurityPolicyNonceManager
* @deprecated 20.0.0
*/
public function getContentSecurityPolicyNonceManager() {
return $this->get(ContentSecurityPolicyNonceManager::class);
}
/**
* @return \OCP\Settings\IManager
* @deprecated 20.0.0
*/
public function getSettingsManager() {
return $this->get(\OC\Settings\Manager::class);
}
/**
* @return IAppData
* @deprecated 20.0.0 Use get(\OCP\Files\AppData\IAppDataFactory::class)->get($app) instead
*/
public function getAppDataDir($app) {
$factory = $this->get(\OC\Files\AppData\Factory::class);
return $factory->get($app);
}
/**
* @return ICloudIdManager
* @deprecated 20.0.0
*/
public function getCloudIdManager() {
return $this->get(ICloudIdManager::class);
}
}

View file

@ -23,36 +23,6 @@ use Psr\Container\ContainerInterface;
*/
interface IServerContainer extends ContainerInterface, IContainer {
/**
* The contacts manager will act as a broker between consumers for contacts information and
* providers which actual deliver the contact information.
*
* @return \OCP\Contacts\IManager
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getContactsManager();
/**
* The current request object holding all information about the request currently being processed
* is returned from this method.
* In case the current execution was not initiated by a web request null is returned
*
* @return \OCP\IRequest
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getRequest();
/**
* Returns the root folder of Nextcloud's data directory
*
* @return \OCP\Files\IRootFolder
* @since 6.0.0 - between 6.0.0 and 8.0.0 this returned \OCP\Files\Folder
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getRootFolder();
/**
* Returns a view to ownCloud's files folder
*
@ -64,78 +34,9 @@ interface IServerContainer extends ContainerInterface, IContainer {
*/
public function getUserFolder($userId = null);
/**
* Returns a user manager
*
* @return \OCP\IUserManager
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getUserManager();
/**
* Returns a group manager
*
* @return \OCP\IGroupManager
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getGroupManager();
/**
* Returns the user session
*
* @return \OCP\IUserSession
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getUserSession();
/**
* Returns the config manager
*
* @return \OCP\IConfig
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getConfig();
/**
* Returns a Crypto instance
*
* @return \OCP\Security\ICrypto
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCrypto();
/**
* Returns a Hasher instance
*
* @return \OCP\Security\IHasher
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getHasher();
/**
* Returns a SecureRandom instance
*
* @return \OCP\Security\ISecureRandom
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getSecureRandom();
/**
* @return \OCP\L10N\IFactory
* @since 8.2.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getL10NFactory();
/**
* get an L10N instance
*
* @param string $app appid
* @param string $lang
* @return \OCP\IL10N
@ -144,110 +45,6 @@ interface IServerContainer extends ContainerInterface, IContainer {
*/
public function getL10N($app, $lang = null);
/**
* @return \OCP\Encryption\IManager
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getEncryptionManager();
/**
* @return \OCP\Encryption\IFile
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getEncryptionFilesHelper();
/**
* Returns the URL generator
*
* @return \OCP\IURLGenerator
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getURLGenerator();
/**
* Returns an ICache instance
*
* @return \OCP\ICache
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCache();
/**
* Returns an \OCP\CacheFactory instance
*
* @return \OCP\ICacheFactory
* @since 7.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getMemCacheFactory();
/**
* Returns the current session
*
* @return \OCP\ISession
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getSession();
/**
* Returns the activity manager
*
* @return \OCP\Activity\IManager
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getActivityManager();
/**
* Returns the current session
*
* @return \OCP\IDBConnection
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getDatabaseConnection();
/**
* Returns an job list for controlling background jobs
*
* @return \OCP\BackgroundJob\IJobList
* @since 7.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getJobList();
/**
* Get the certificate manager
*
* @return \OCP\ICertificateManager
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCertificateManager();
/**
* Get the manager for temporary files and folders
*
* @return \OCP\ITempManager
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getTempManager();
/**
* Get the app manager
*
* @return \OCP\App\IAppManager
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getAppManager();
/**
* Get the webroot
*
@ -255,57 +52,5 @@ interface IServerContainer extends ContainerInterface, IContainer {
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getWebRoot();
/**
* Creates a new mailer
*
* @return \OCP\Mail\IMailer
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getMailer();
/**
* Get the locking provider
*
* @return \OCP\Lock\ILockingProvider
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getLockingProvider();
/**
* Get the MimeTypeDetector
*
* @return \OCP\Files\IMimeTypeDetector
* @since 8.2.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getMimeTypeDetector();
/**
* Get the MimeTypeLoader
*
* @return \OCP\Files\IMimeTypeLoader
* @since 8.2.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getMimeTypeLoader();
/**
* Get the Notification Manager
*
* @return \OCP\Notification\IManager
* @since 9.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getNotificationManager();
/**
* @return \OCP\Federation\ICloudIdManager
* @since 12.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCloudIdManager();
public function getWebRoot(): string;
}

View file

@ -6,15 +6,17 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
use OCP\App\IAppManager;
use OCP\IRequest;
use OCP\Server;
require_once __DIR__ . '/../lib/base.php';
header('Content-Type: application/json');
$server = \OC::$server;
$controller = new \OC\OCS\Provider(
'ocs_provider',
$server->getRequest(),
$server->getAppManager()
Server::get(IRequest::class),
Server::get(IAppManager::class),
);
echo $controller->buildProviderList()->render();

View file

@ -12,6 +12,7 @@ use OC\App\AppStore\Fetcher\AppFetcher;
use OC\Config;
use OC\Server;
use OCP\Comments\ICommentsManager;
use OCP\IConfig;
/**
* Class Server
@ -49,17 +50,12 @@ class ServerTest extends \Test\TestCase {
* @param string $instanceOf
*/
#[\PHPUnit\Framework\Attributes\DataProvider('dataTestQuery')]
public function testQuery($serviceName, $instanceOf): void {
public function testQuery(string $serviceName, string $instanceOf): void {
$this->assertInstanceOf($instanceOf, $this->server->query($serviceName), 'Service "' . $serviceName . '"" did not return the right class');
}
public function testGetCertificateManager(): void {
$this->assertInstanceOf('\OC\Security\CertificateManager', $this->server->getCertificateManager(), 'service returned by "getCertificateManager" did not return the right class');
$this->assertInstanceOf('\OCP\ICertificateManager', $this->server->getCertificateManager(), 'service returned by "getCertificateManager" did not return the right class');
}
public function testOverwriteDefaultCommentsManager(): void {
$config = $this->server->getConfig();
$config = $this->server->get(IConfig::class);
$defaultManagerFactory = $config->getSystemValue('comments.managerFactory', '\OC\Comments\ManagerFactory');
$config->setSystemValue('comments.managerFactory', '\Test\Comments\FakeFactory');