Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/fulltextsearch.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxence Lange <maxence@artificial-owl.com>2020-09-15 16:12:14 +0300
committerMaxence Lange <maxence@artificial-owl.com>2020-09-15 16:12:14 +0300
commitf3cf546580562bf9214358e3940e6cd3678453ab (patch)
treeadb8693fe6b9512f6c898eb9c57e967c76282ce7 /lib/AppInfo
parent7a3631c015600985b75b8789ae3428dfb6a2d565 (diff)
migration to nc20
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Diffstat (limited to 'lib/AppInfo')
-rw-r--r--lib/AppInfo/Application.php60
1 files changed, 40 insertions, 20 deletions
diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php
index 1901226..53b19ea 100644
--- a/lib/AppInfo/Application.php
+++ b/lib/AppInfo/Application.php
@@ -31,26 +31,30 @@ declare(strict_types=1);
namespace OCA\FullTextSearch\AppInfo;
+use Closure;
use OC;
use OCA\FullTextSearch\Capabilities;
+use OCA\FullTextSearch\Search\UnifiedSearchProvider;
use OCA\FullTextSearch\Service\ConfigService;
use OCA\FullTextSearch\Service\IndexService;
use OCA\FullTextSearch\Service\ProviderService;
use OCA\FullTextSearch\Service\SearchService;
use OCP\AppFramework\App;
-use OCP\AppFramework\IAppContainer;
+use OCP\AppFramework\Bootstrap\IBootContext;
+use OCP\AppFramework\Bootstrap\IBootstrap;
+use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\AppFramework\QueryException;
use OCP\FullTextSearch\IFullTextSearchManager;
+use OCP\INavigationManager;
+use OCP\IServerContainer;
+use Throwable;
-class Application extends App {
+class Application extends App implements IBootstrap {
const APP_NAME = 'fulltextsearch';
- /** @var IAppContainer */
- private $container;
-
/**
* Application constructor.
@@ -59,24 +63,40 @@ class Application extends App {
*/
public function __construct(array $params = []) {
parent::__construct(self::APP_NAME, $params);
+ }
- $this->container = $this->getContainer();
- $this->container->registerCapability(Capabilities::class);
+
+ /**
+ * @param IRegistrationContext $context
+ */
+ public function register(IRegistrationContext $context): void {
+ $context->registerCapability(Capabilities::class);
+ $context->registerSearchProvider(UnifiedSearchProvider::class);
+ }
+
+ /**
+ * @param IBootContext $context
+ *
+ * @throws Throwable
+ */
+ public function boot(IBootContext $context): void {
+ $context->injectFn(Closure::fromCallable([$this, 'registerServices']));
+ $context->injectFn(Closure::fromCallable([$this, 'registerNavigation']));
}
/**
* Register Navigation Tab
*
- * @throws QueryException
+ * @param IServerContainer $container
*/
- public function registerServices() {
+ protected function registerServices(IServerContainer $container) {
/** @var IFullTextSearchManager $fullTextSearchManager */
- $fullTextSearchManager = $this->container->query(IFullTextSearchManager::class);
+ $fullTextSearchManager = $container->get(IFullTextSearchManager::class);
- $providerService = $this->container->query(ProviderService::class);
- $indexService = $this->container->query(IndexService::class);
- $searchService = $this->container->query(SearchService::class);
+ $providerService = $container->get(ProviderService::class);
+ $indexService = $container->get(IndexService::class);
+ $searchService = $container->get(SearchService::class);
$fullTextSearchManager->registerProviderService($providerService);
$fullTextSearchManager->registerIndexService($indexService);
@@ -87,18 +107,19 @@ class Application extends App {
/**
* Register Navigation Tab
*
+ * @param IServerContainer $container
+ *
* @throws QueryException
*/
- public function registerNavigation() {
+ protected function registerNavigation(IServerContainer $container) {
/** @var ConfigService $configService */
- $configService = $this->container->query(ConfigService::class);
+ $configService = $container->get(ConfigService::class);
if ($configService->getAppValue(ConfigService::APP_NAVIGATION) !== '1') {
return;
}
- $this->container->getServer()
- ->getNavigationManager()
- ->add($this->fullTextSearchNavigation());
+ $container->get(INavigationManager::class)
+ ->add($this->fullTextSearchNavigation());
}
@@ -108,7 +129,7 @@ class Application extends App {
private function fullTextSearchNavigation(): array {
$urlGen = OC::$server->getURLGenerator();
$navName = OC::$server->getL10N(self::APP_NAME)
- ->t('Search');
+ ->t('Search');
return [
'id' => self::APP_NAME,
@@ -119,6 +140,5 @@ class Application extends App {
];
}
-
}