Use automatic injection whenever possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
bc54e6ff7c
commit
81c54ea515
|
@ -24,77 +24,29 @@
|
||||||
|
|
||||||
namespace OCA\Federation\AppInfo;
|
namespace OCA\Federation\AppInfo;
|
||||||
|
|
||||||
use OCA\Federation\Controller\SettingsController;
|
|
||||||
use OCA\Federation\DAV\FedAuth;
|
use OCA\Federation\DAV\FedAuth;
|
||||||
use OCA\Federation\DbHandler;
|
|
||||||
use OCA\Federation\Hooks;
|
use OCA\Federation\Hooks;
|
||||||
use OCA\Federation\Middleware\AddServerMiddleware;
|
use OCA\Federation\Middleware\AddServerMiddleware;
|
||||||
use OCA\Federation\SyncFederationAddressBooks;
|
use OCP\AppFramework\App;
|
||||||
use OCA\Federation\TrustedServers;
|
|
||||||
use OCP\AppFramework\IAppContainer;
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
|
||||||
use OCP\SabrePluginEvent;
|
use OCP\SabrePluginEvent;
|
||||||
use OCP\Util;
|
use OCP\Util;
|
||||||
use Sabre\DAV\Auth\Plugin;
|
use Sabre\DAV\Auth\Plugin;
|
||||||
|
use Sabre\DAV\Server;
|
||||||
|
|
||||||
class Application extends \OCP\AppFramework\App {
|
class Application extends App {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $urlParams
|
* @param array $urlParams
|
||||||
*/
|
*/
|
||||||
public function __construct($urlParams = array()) {
|
public function __construct($urlParams = []) {
|
||||||
parent::__construct('federation', $urlParams);
|
parent::__construct('federation', $urlParams);
|
||||||
$this->registerService();
|
|
||||||
$this->registerMiddleware();
|
$this->registerMiddleware();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function registerService() {
|
|
||||||
$container = $this->getContainer();
|
|
||||||
|
|
||||||
$container->registerService('addServerMiddleware', function(IAppContainer $c) {
|
|
||||||
return new AddServerMiddleware(
|
|
||||||
$c->getAppName(),
|
|
||||||
\OC::$server->getL10N($c->getAppName()),
|
|
||||||
\OC::$server->getLogger()
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
$container->registerService('DbHandler', function(IAppContainer $c) {
|
|
||||||
return new DbHandler(
|
|
||||||
\OC::$server->getDatabaseConnection(),
|
|
||||||
\OC::$server->getL10N($c->getAppName())
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
$container->registerService('TrustedServers', function(IAppContainer $c) {
|
|
||||||
$server = $c->getServer();
|
|
||||||
return new TrustedServers(
|
|
||||||
$c->query('DbHandler'),
|
|
||||||
$server->getHTTPClientService(),
|
|
||||||
$server->getLogger(),
|
|
||||||
$server->getJobList(),
|
|
||||||
$server->getSecureRandom(),
|
|
||||||
$server->getConfig(),
|
|
||||||
$server->getEventDispatcher(),
|
|
||||||
$server->query(ITimeFactory::class)
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
$container->registerService('SettingsController', function (IAppContainer $c) {
|
|
||||||
$server = $c->getServer();
|
|
||||||
return new SettingsController(
|
|
||||||
$c->getAppName(),
|
|
||||||
$server->getRequest(),
|
|
||||||
$server->getL10N($c->getAppName()),
|
|
||||||
$c->query('TrustedServers')
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private function registerMiddleware() {
|
private function registerMiddleware() {
|
||||||
$container = $this->getContainer();
|
$container = $this->getContainer();
|
||||||
$container->registerMiddleware('addServerMiddleware');
|
$container->registerAlias('AddServerMiddleware', AddServerMiddleware::class);
|
||||||
|
$container->registerMiddleWare('AddServerMiddleware');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,7 +56,7 @@ class Application extends \OCP\AppFramework\App {
|
||||||
public function registerHooks() {
|
public function registerHooks() {
|
||||||
|
|
||||||
$container = $this->getContainer();
|
$container = $this->getContainer();
|
||||||
$hooksManager = new Hooks($container->query('TrustedServers'));
|
$hooksManager = $container->query(Hooks::class);
|
||||||
|
|
||||||
Util::connectHook(
|
Util::connectHook(
|
||||||
'OCP\Share',
|
'OCP\Share',
|
||||||
|
@ -113,28 +65,18 @@ class Application extends \OCP\AppFramework\App {
|
||||||
'addServerHook'
|
'addServerHook'
|
||||||
);
|
);
|
||||||
|
|
||||||
$dispatcher = $this->getContainer()->getServer()->getEventDispatcher();
|
$dispatcher = $container->getServer()->getEventDispatcher();
|
||||||
$dispatcher->addListener('OCA\DAV\Connector\Sabre::authInit', function($event) use($container) {
|
$dispatcher->addListener('OCA\DAV\Connector\Sabre::authInit', function($event) use($container) {
|
||||||
if ($event instanceof SabrePluginEvent) {
|
if ($event instanceof SabrePluginEvent) {
|
||||||
$authPlugin = $event->getServer()->getPlugin('auth');
|
$server = $event->getServer();
|
||||||
if ($authPlugin instanceof Plugin) {
|
if ($server instanceof Server) {
|
||||||
$h = new DbHandler($container->getServer()->getDatabaseConnection(),
|
$authPlugin = $server->getPlugin('auth');
|
||||||
$container->getServer()->getL10N('federation')
|
if ($authPlugin instanceof Plugin) {
|
||||||
);
|
$authPlugin->addBackend($container->query(FedAuth::class));
|
||||||
$authPlugin->addBackend(new FedAuth($h));
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return SyncFederationAddressBooks
|
|
||||||
*/
|
|
||||||
public function getSyncService() {
|
|
||||||
$syncService = \OC::$server->query('CardDAVSyncService');
|
|
||||||
$dbHandler = $this->getContainer()->query('DbHandler');
|
|
||||||
$discoveryService = \OC::$server->query(\OCP\OCS\IDiscoveryService::class);
|
|
||||||
return new SyncFederationAddressBooks($dbHandler, $syncService, $discoveryService);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ class SyncFederationAddressBooks extends Command {
|
||||||
/**
|
/**
|
||||||
* @param \OCA\Federation\SyncFederationAddressBooks $syncService
|
* @param \OCA\Federation\SyncFederationAddressBooks $syncService
|
||||||
*/
|
*/
|
||||||
function __construct(\OCA\Federation\SyncFederationAddressBooks $syncService) {
|
public function __construct(\OCA\Federation\SyncFederationAddressBooks $syncService) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
$this->syncService = $syncService;
|
$this->syncService = $syncService;
|
||||||
|
|
|
@ -26,7 +26,6 @@ namespace OCA\Federation\Controller;
|
||||||
use OC\HintException;
|
use OC\HintException;
|
||||||
use OCA\Federation\TrustedServers;
|
use OCA\Federation\TrustedServers;
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
use OCP\AppFramework\Http;
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
|
@ -63,6 +63,6 @@ class FedAuth extends AbstractBasic {
|
||||||
/**
|
/**
|
||||||
* @inheritdoc
|
* @inheritdoc
|
||||||
*/
|
*/
|
||||||
function challenge(RequestInterface $request, ResponseInterface $response) {
|
public function challenge(RequestInterface $request, ResponseInterface $response) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,11 @@ class AddServerMiddleware extends Middleware {
|
||||||
/** @var ILogger */
|
/** @var ILogger */
|
||||||
protected $logger;
|
protected $logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $appName
|
||||||
|
* @param IL10N $l
|
||||||
|
* @param ILogger $logger
|
||||||
|
*/
|
||||||
public function __construct($appName, IL10N $l, ILogger $logger) {
|
public function __construct($appName, IL10N $l, ILogger $logger) {
|
||||||
$this->appName = $appName;
|
$this->appName = $appName;
|
||||||
$this->l = $l;
|
$this->l = $l;
|
||||||
|
@ -56,6 +61,7 @@ class AddServerMiddleware extends Middleware {
|
||||||
* @param string $methodName
|
* @param string $methodName
|
||||||
* @param \Exception $exception
|
* @param \Exception $exception
|
||||||
* @return JSONResponse
|
* @return JSONResponse
|
||||||
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function afterException($controller, $methodName, \Exception $exception) {
|
public function afterException($controller, $methodName, \Exception $exception) {
|
||||||
if (($controller instanceof SettingsController) === false) {
|
if (($controller instanceof SettingsController) === false) {
|
||||||
|
|
|
@ -24,20 +24,31 @@ namespace OCA\Federation;
|
||||||
|
|
||||||
use OC\BackgroundJob\TimedJob;
|
use OC\BackgroundJob\TimedJob;
|
||||||
use OCA\Federation\AppInfo\Application;
|
use OCA\Federation\AppInfo\Application;
|
||||||
|
use OCP\ILogger;
|
||||||
|
|
||||||
class SyncJob extends TimedJob {
|
class SyncJob extends TimedJob {
|
||||||
|
|
||||||
public function __construct() {
|
/** @var SyncFederationAddressBooks */
|
||||||
|
protected $syncService;
|
||||||
|
|
||||||
|
/** @var ILogger */
|
||||||
|
protected $logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param SyncFederationAddressBooks $syncService
|
||||||
|
* @param ILogger $logger
|
||||||
|
*/
|
||||||
|
public function __construct(SyncFederationAddressBooks $syncService, ILogger $logger) {
|
||||||
// Run once a day
|
// Run once a day
|
||||||
$this->setInterval(24 * 60 * 60);
|
$this->setInterval(24 * 60 * 60);
|
||||||
|
$this->syncService = $syncService;
|
||||||
|
$this->logger = $logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function run($argument) {
|
protected function run($argument) {
|
||||||
$app = new Application();
|
$this->syncService->syncThemAll(function($url, $ex) {
|
||||||
$ss = $app->getSyncService();
|
|
||||||
$ss->syncThemAll(function($url, $ex) {
|
|
||||||
if ($ex instanceof \Exception) {
|
if ($ex instanceof \Exception) {
|
||||||
\OC::$server->getLogger()->error("Error while syncing $url : " . $ex->getMessage(), ['app' => 'fed-sync']);
|
$this->logger->error("Error while syncing $url : " . $ex->getMessage(), ['app' => 'fed-sync']);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue