diff --git a/lib/Command/Configure.php b/lib/Command/Configure.php
index 38fc8ca2..0d282496 100644
--- a/lib/Command/Configure.php
+++ b/lib/Command/Configure.php
@@ -34,7 +34,6 @@
use Exception;
use OC\Core\Command\Base;
use OCA\Files_FullTextSearch\Service\ConfigService;
-use OCA\Files_FullTextSearch\Service\MiscService;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
@@ -45,26 +44,10 @@
* @package OCA\Files_FullTextSearch\Command
*/
class Configure extends Base {
-
-
- /** @var ConfigService */
- private $configService;
-
- /** @var MiscService */
- private $miscService;
-
-
- /**
- * Configure constructor.
- *
- * @param ConfigService $configService
- * @param MiscService $miscService
- */
- public function __construct(ConfigService $configService, MiscService $miscService) {
+ public function __construct(
+ private ConfigService $configService
+ ) {
parent::__construct();
-
- $this->configService = $configService;
- $this->miscService = $miscService;
}
diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php
index 9e37540e..d966b7ad 100644
--- a/lib/Controller/SettingsController.php
+++ b/lib/Controller/SettingsController.php
@@ -34,9 +34,6 @@
use Exception;
use OCA\Files_FullTextSearch\AppInfo\Application;
use OCA\Files_FullTextSearch\Service\ConfigService;
-use OCA\Files_FullTextSearch\Service\MiscService;
-use OCA\Files_FullTextSearch\Service\SettingsService;
-use OCP\App\IAppManager;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
@@ -48,40 +45,11 @@
* @package OCA\Files_FullTextSearch\Controller
*/
class SettingsController extends Controller {
-
-
- /** @var IAppManager */
- private $appManager;
-
- /** @var ConfigService */
- private $configService;
-
- /** @var SettingsService */
- private $settingsService;
-
- /** @var MiscService */
- private $miscService;
-
-
- /**
- * SettingsController constructor.
- *
- * @param IRequest $request
- * @param IAppManager $appManager
- * @param ConfigService $configService
- * @param SettingsService $settingsService
- * @param MiscService $miscService
- */
public function __construct(
- IRequest $request, IAppManager $appManager, ConfigService $configService,
- SettingsService $settingsService,
- MiscService $miscService
+ IRequest $request,
+ private ConfigService $configService,
) {
parent::__construct(Application::APP_ID, $request);
- $this->appManager = $appManager;
- $this->configService = $configService;
- $this->settingsService = $settingsService;
- $this->miscService = $miscService;
}
@@ -103,10 +71,7 @@ public function getSettingsAdmin(): DataResponse {
* @throws Exception
*/
public function setSettingsAdmin(array $data): DataResponse {
- if ($this->settingsService->checkConfig($data)) {
- $this->configService->setConfig($data);
- }
-
+ $this->configService->setConfig($data);
return $this->getSettingsAdmin();
}
}
diff --git a/lib/Db/CoreRequestBuilder.php b/lib/Db/CoreRequestBuilder.php
index 9a792220..086996f3 100644
--- a/lib/Db/CoreRequestBuilder.php
+++ b/lib/Db/CoreRequestBuilder.php
@@ -33,7 +33,6 @@
use OC;
use OC\SystemConfig;
-use OCA\Files_FullTextSearch\Service\MiscService;
use OCP\IDBConnection;
use Psr\Log\LoggerInterface;
@@ -45,21 +44,9 @@
class CoreRequestBuilder {
public const TABLE_SHARES = 'share';
+ protected string $defaultSelectAlias;
- /** @var MiscService */
- protected $miscService;
-
- /** @var string */
- protected $defaultSelectAlias;
-
-
- /**
- * CoreRequestBuilder constructor.
- *
- * @param MiscService $miscService
- */
- public function __construct(MiscService $miscService) {
- $this->miscService = $miscService;
+ public function __construct() {
}
/**
diff --git a/lib/Listeners/ListenersCore.php b/lib/Listeners/ListenersCore.php
index be19c08d..afa49d57 100644
--- a/lib/Listeners/ListenersCore.php
+++ b/lib/Listeners/ListenersCore.php
@@ -31,12 +31,10 @@
namespace OCA\Files_FullTextSearch\Listeners;
-use ArtificialOwl\MySmallPhpTools\Traits\Nextcloud\nc21\TNC21Logger;
use ArtificialOwl\MySmallPhpTools\Traits\TArrayTools;
use OC\AppFramework\Bootstrap\Coordinator;
use OCA\Files_FullTextSearch\Service\ConfigService;
use OCA\Files_FullTextSearch\Service\FilesService;
-use OCA\Files_FullTextSearch\Service\MiscService;
use OCP\FullTextSearch\IFullTextSearchManager;
use OCP\IUserSession;
@@ -47,50 +45,14 @@
*/
class ListenersCore {
use TArrayTools;
- use TNC21Logger;
-
- /** @var IUserSession */
- protected $userSession;
-
- /** @var Coordinator */
- protected $coordinator;
-
- /** @var IFullTextSearchManager */
- protected $fullTextSearchManager;
-
- /** @var FilesService */
- protected $filesService;
-
- /** @var ConfigService */
- protected $configService;
-
- /** @var MiscService */
- protected $miscService;
-
-
- /**
- * CoreFileEvents constructor.
- *
- * @param Coordinator $coordinator
- * @param IUserSession $userSession
- * @param IFullTextSearchManager $fullTextSearchManager
- * @param FilesService $filesService
- * @param ConfigService $configService
- * @param MiscService $miscService
- */
public function __construct(
- Coordinator $coordinator, IUserSession $userSession, IFullTextSearchManager $fullTextSearchManager,
- FilesService $filesService, ConfigService $configService, MiscService $miscService
+ protected Coordinator $coordinator,
+ protected IUserSession $userSession,
+ protected IFullTextSearchManager $fullTextSearchManager,
+ protected FilesService $filesService,
+ protected ConfigService $configService
) {
- $this->userSession = $userSession;
- $this->coordinator = $coordinator;
- $this->fullTextSearchManager = $fullTextSearchManager;
- $this->filesService = $filesService;
- $this->configService = $configService;
- $this->miscService = $miscService;
-
- $this->setup('app', 'files_fulltextsearch');
}
diff --git a/lib/Provider/FilesProvider.php b/lib/Provider/FilesProvider.php
index 9c6e10b1..ea530458 100644
--- a/lib/Provider/FilesProvider.php
+++ b/lib/Provider/FilesProvider.php
@@ -31,17 +31,14 @@
namespace OCA\Files_FullTextSearch\Provider;
-use ArtificialOwl\MySmallPhpTools\Traits\Nextcloud\nc22\TNC22Logger;
use OC\FullTextSearch\Model\SearchOption;
use OC\FullTextSearch\Model\SearchTemplate;
use OC\User\NoUserException;
-use OCA\Files_FullTextSearch\AppInfo\Application;
use OCA\Files_FullTextSearch\Exceptions\FileIsNotIndexableException;
use OCA\Files_FullTextSearch\Model\FilesDocument;
use OCA\Files_FullTextSearch\Service\ConfigService;
use OCA\Files_FullTextSearch\Service\ExtensionService;
use OCA\Files_FullTextSearch\Service\FilesService;
-use OCA\Files_FullTextSearch\Service\MiscService;
use OCA\Files_FullTextSearch\Service\SearchService;
use OCP\Files\InvalidPathException;
use OCP\Files\NotFoundException;
@@ -57,6 +54,7 @@
use OCP\FullTextSearch\Model\ISearchResult;
use OCP\FullTextSearch\Model\ISearchTemplate;
use OCP\IL10N;
+use Psr\Log\LoggerInterface;
/**
* Class FilesProvider
@@ -64,48 +62,18 @@
* @package OCA\Files_FullTextSearch\Provider
*/
class FilesProvider implements IFullTextSearchProvider {
- use TNC22Logger;
-
public const FILES_PROVIDER_ID = 'files';
-
-
- /** @var IL10N */
- private $l10n;
-
- /** @var ConfigService */
- private $configService;
-
- /** @var FilesService */
- private $filesService;
-
- /** @var SearchService */
- private $searchService;
-
- /** @var ExtensionService */
- private $extensionService;
-
- /** @var MiscService */
- private $miscService;
-
- /** @var IRunner */
- private $runner;
-
- /** @var IIndexOptions */
- private $indexOptions;
-
+ private IRunner $runner;
+ private IIndexOptions $indexOptions;
public function __construct(
- IL10N $l10n, ConfigService $configService, FilesService $filesService,
- SearchService $searchService, ExtensionService $extensionService, MiscService $miscService
+ private IL10N $l10n,
+ private ConfigService $configService,
+ private FilesService $filesService,
+ private SearchService $searchService,
+ private ExtensionService $extensionService,
+ private LoggerInterface $logger,
) {
- $this->l10n = $l10n;
- $this->configService = $configService;
- $this->filesService = $filesService;
- $this->searchService = $searchService;
- $this->extensionService = $extensionService;
- $this->miscService = $miscService;
-
- $this->setup('app', Application::APP_ID);
}
@@ -129,10 +97,10 @@ public function getName(): string {
* @return array
*/
public function getConfiguration(): array {
- $this->debug('getConfiguration request');
+ $this->logger->debug('getConfiguration request');
$config = $this->configService->getConfig();
$this->extensionService->getConfig($config);
- $this->debug('getConfiguration result', $config);
+ $this->logger->debug('getConfiguration result', ['config' => $config]);
return $config;
}
@@ -242,9 +210,9 @@ public function loadProvider() {
* @throws NotFoundException
*/
public function generateChunks(string $userId): array {
- $this->debug('generateChunks request', ['userId' => $userId, 'options' => $this->indexOptions]);
+ $this->logger->debug('generateChunks request', ['userId' => $userId, 'options' => $this->indexOptions]);
$chunks = $this->filesService->getChunksFromUser($userId, $this->indexOptions);
- $this->debug('generateChunks result', $chunks);
+ $this->logger->debug('generateChunks result', $chunks);
return $chunks;
}
@@ -262,9 +230,9 @@ public function generateChunks(string $userId): array {
* @throws NoUserException
*/
public function generateIndexableDocuments(string $userId, string $chunk): array {
- $this->debug('generateIndexableDocuments request', ['userId' => $userId, 'chunk' => $chunk]);
+ $this->logger->debug('generateIndexableDocuments request', ['userId' => $userId, 'chunk' => $chunk]);
$documents = $this->filesService->getFilesFromUser($userId, $chunk);
- $this->debug('generateIndexableDocuments result', ['documents' => count($documents)]);
+ $this->logger->debug('generateIndexableDocuments result', ['documents' => count($documents)]);
return $documents;
}
@@ -281,9 +249,9 @@ public function fillIndexDocument(IIndexDocument $document) {
'title' => $document->getPath()
]
);
- $this->debug('fillIndexDocument request', ['document' => $document]);
+ $this->logger->debug('fillIndexDocument request', ['document' => $document]);
$this->filesService->generateDocument($document);
- $this->debug('fillIndexDocument result', ['document' => $document]);
+ $this->logger->debug('fillIndexDocument result', ['document' => $document]);
}
@@ -293,9 +261,9 @@ public function fillIndexDocument(IIndexDocument $document) {
* @return bool
*/
public function isDocumentUpToDate(IIndexDocument $document): bool {
- $this->debug('isDocumentUpToDate request', ['document' => $document]);
+ $this->logger->debug('isDocumentUpToDate request', ['document' => $document]);
$result = $this->filesService->isDocumentUpToDate($document);
- $this->debug('isDocumentUpToDate result', ['document' => $document, 'result' => $result]);
+ $this->logger->debug('isDocumentUpToDate result', ['document' => $document, 'result' => $result]);
return $result;
}
@@ -310,9 +278,9 @@ public function isDocumentUpToDate(IIndexDocument $document): bool {
* @throws FileIsNotIndexableException
*/
public function updateDocument(IIndex $index): IIndexDocument {
- $this->debug('updateDocument request', ['index' => $index]);
+ $this->logger->debug('updateDocument request', ['index' => $index]);
$document = $this->filesService->updateDocument($index);
- $this->debug('updateDocument result', ['index' => $index, 'document' => $document]);
+ $this->logger->debug('updateDocument result', ['index' => $index, 'document' => $document]);
$this->updateRunnerInfo('info', $document->getMimetype());
return $document;
diff --git a/lib/Service/ConfigService.php b/lib/Service/ConfigService.php
index bb87e833..ba73f551 100644
--- a/lib/Service/ConfigService.php
+++ b/lib/Service/ConfigService.php
@@ -73,28 +73,10 @@ class ConfigService {
self::FILES_OPEN_RESULT_DIRECTLY => '0'
];
-
- /** @var IConfig */
- private $config;
-
- /** @var string */
- private $userId;
-
- /** @var MiscService */
- private $miscService;
-
-
- /**
- * ConfigService constructor.
- *
- * @param IConfig $config
- * @param string $userId
- * @param MiscService $miscService
- */
- public function __construct(IConfig $config, $userId, MiscService $miscService) {
- $this->config = $config;
- $this->userId = $userId;
- $this->miscService = $miscService;
+ public function __construct(
+ private IConfig $config,
+ private ?string $userId
+ ) {
}
diff --git a/lib/Service/ExtensionService.php b/lib/Service/ExtensionService.php
index 63245893..ce8fe781 100644
--- a/lib/Service/ExtensionService.php
+++ b/lib/Service/ExtensionService.php
@@ -1,8 +1,6 @@
eventDispatcher = $eventDispatcher;
- $this->configService = $configService;
- $this->miscService = $miscService;
}
diff --git a/lib/Service/ExternalFilesService.php b/lib/Service/ExternalFilesService.php
index 0af4a36d..51781b94 100644
--- a/lib/Service/ExternalFilesService.php
+++ b/lib/Service/ExternalFilesService.php
@@ -1,8 +1,6 @@
rootFolder = $rootFolder;
- $this->appManager = $appManager;
- $this->userManager = $userManager;
- $this->groupManager = $groupManager;
- $this->shareManager = $shareManager;
-
- $this->localFilesService = $localFilesService;
-
- $this->configService = $configService;
- $this->miscService = $miscService;
- $this->setup('app', Application::APP_ID);
}
@@ -134,10 +76,10 @@ public function initExternalFilesForUser(string $userId) {
return;
}
- $this->debug('initExternalFilesForUser', ['userId' => $userId]);
+ $this->logger->debug('initExternalFilesForUser', ['userId' => $userId]);
$this->userGlobalStoragesService = OC::$server->getUserGlobalStoragesService();
$this->globalStoragesService = OC::$server->getGlobalStoragesService();
- $this->debug(
+ $this->logger->debug(
'initExternalFilesForUser result',
[
'userGlobalStoragesService' => is_null($this->userGlobalStoragesService),
diff --git a/lib/Service/FilesService.php b/lib/Service/FilesService.php
index 47cda383..0098a75f 100644
--- a/lib/Service/FilesService.php
+++ b/lib/Service/FilesService.php
@@ -31,14 +31,12 @@
namespace OCA\Files_FullTextSearch\Service;
-use ArtificialOwl\MySmallPhpTools\Traits\Nextcloud\nc22\TNC22Logger;
use ArtificialOwl\MySmallPhpTools\Traits\TPathTools;
use Exception;
use OC\FullTextSearch\Model\DocumentAccess;
use OC\SystemTag\SystemTagManager;
use OC\SystemTag\SystemTagObjectMapper;
use OC\User\NoUserException;
-use OCA\Files_FullTextSearch\AppInfo\Application;
use OCA\Files_FullTextSearch\Exceptions\EmptyUserException;
use OCA\Files_FullTextSearch\Exceptions\FileIsNotIndexableException;
use OCA\Files_FullTextSearch\Exceptions\FilesNotFoundException;
@@ -46,6 +44,7 @@
use OCA\Files_FullTextSearch\Exceptions\KnownFileSourceException;
use OCA\Files_FullTextSearch\Model\FilesDocument;
use OCA\Files_FullTextSearch\Provider\FilesProvider;
+use OCA\Files_FullTextSearch\Tools\Traits\TArrayTools;
use OCP\App\IAppManager;
use OCP\AppFramework\IAppContainer;
use OCP\Comments\ICommentsManager;
@@ -68,6 +67,7 @@
use OCP\Lock\LockedException;
use OCP\Share\IManager as IShareManager;
use OCP\SystemTag\ISystemTag;
+use Psr\Log\LoggerInterface;
use Throwable;
/**
@@ -77,8 +77,7 @@
*/
class FilesService {
use TPathTools;
- use TNC22Logger;
-
+ use TArrayTools;
public const MIMETYPE_TEXT = 'files_text';
public const MIMETYPE_PDF = 'files_pdf';
@@ -89,120 +88,28 @@ class FilesService {
public const CHUNK_TREE_SIZE = 2;
+ private IRunner $runner;
+ private int $sumDocuments;
- /** @var IAppContainer */
- private $container;
-
- /** @var IRootFolder */
- private $rootFolder;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IAppManager */
- private $appManager;
-
- /** @var IShareManager */
- private $shareManager;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
- /** @var ICommentsManager */
- private $commentsManager;
-
- /** @var SystemTagObjectMapper */
- private $systemTagObjectMapper;
-
- /** @var SystemTagManager */
- private $systemTagManager;
-
- /** @var ConfigService */
- private $configService;
-
- /** @var LocalFilesService */
- private $localFilesService;
-
- /** @var ExternalFilesService */
- private $externalFilesService;
-
- /** @var GroupFoldersService */
- private $groupFoldersService;
-
- /** @var ExtensionService */
- private $extensionService;
-
- /** @var IFullTextSearchManager */
- private $fullTextSearchManager;
-
- /** @var MiscService */
- private $miscService;
-
- /** @var IRunner */
- private $runner;
-
- /** @var int */
- private $sumDocuments;
-
-
- /**
- * FilesService constructor.
- *
- * @param IAppContainer $container
- * @param IRootFolder $rootFolder
- * @param IAppManager $appManager
- * @param IUserManager $userManager
- * @param IShareManager $shareManager
- * @param IURLGenerator $urlGenerator
- * @param ICommentsManager $commentsManager
- * @param ConfigService $configService
- * @param LocalFilesService $localFilesService
- * @param ExternalFilesService $externalFilesService
- * @param GroupFoldersService $groupFoldersService
- * @param ExtensionService $extensionService
- * @param IFullTextSearchManager $fullTextSearchManager
- * @param MiscService $miscService
- *
- * @internal param IProviderFactory $factory
- */
public function __construct(
- IAppContainer $container,
- IRootFolder $rootFolder,
- IAppManager $appManager,
- IUserManager $userManager,
- IShareManager $shareManager,
- IURLGenerator $urlGenerator,
- ICommentsManager $commentsManager,
- SystemTagObjectMapper $systemTagObjectMapper,
- SystemTagManager $systemTagManager,
- ConfigService $configService,
- LocalFilesService $localFilesService,
- ExternalFilesService $externalFilesService,
- GroupFoldersService $groupFoldersService,
- ExtensionService $extensionService,
- IFullTextSearchManager $fullTextSearchManager,
- MiscService $miscService
+ private IAppContainer $container,
+ private IRootFolder $rootFolder,
+ private IAppManager $appManager,
+ private IUserManager $userManager,
+ private IShareManager $shareManager,
+ private IURLGenerator $urlGenerator,
+ private ICommentsManager $commentsManager,
+ private SystemTagObjectMapper $systemTagObjectMapper,
+ private SystemTagManager $systemTagManager,
+ private ConfigService $configService,
+ private LocalFilesService $localFilesService,
+ private ExternalFilesService $externalFilesService,
+ private GroupFoldersService $groupFoldersService,
+ private ExtensionService $extensionService,
+ private IFullTextSearchManager $fullTextSearchManager,
+ private LoggerInterface $logger,
) {
- $this->container = $container;
- $this->rootFolder = $rootFolder;
- $this->appManager = $appManager;
- $this->userManager = $userManager;
- $this->shareManager = $shareManager;
- $this->urlGenerator = $urlGenerator;
- $this->commentsManager = $commentsManager;
- $this->systemTagObjectMapper = $systemTagObjectMapper;
- $this->systemTagManager = $systemTagManager;
-
- $this->configService = $configService;
- $this->localFilesService = $localFilesService;
- $this->externalFilesService = $externalFilesService;
- $this->groupFoldersService = $groupFoldersService;
- $this->extensionService = $extensionService;
- $this->fullTextSearchManager = $fullTextSearchManager;
-
- $this->miscService = $miscService;
- $this->setup('app', Application::APP_ID);
}
@@ -232,20 +139,19 @@ public function getChunksFromUser(string $userId, IIndexOptions $indexOptions):
} catch (NotFoundException $e) {
return [];
} catch (Throwable $e) {
- $this->log(2, 'Issue while retrieving rootFolder for ' . $userId);
-
+ $this->logger->warning('Issue while retrieving rootFolder for ' . $userId, ['exception' => $e]);
return [];
}
if ($files instanceof Folder) {
- $this->debug('object from getChunksFromUser is a Folder');
+ $this->logger->debug('object from getChunksFromUser is a Folder');
$chunks = $this->getChunksFromDirectory($userId, $files);
- $this->debug('getChunksFromUser result', ['chunks' => $chunks]);
+ $this->logger->debug('getChunksFromUser result', ['chunks' => $chunks]);
return $chunks;
}
- $this->debug('object from getChunksFromUser is not a Folder', ['path' => $files->getPath()]);
+ $this->logger->debug('object from getChunksFromUser is not a Folder', ['path' => $files->getPath()]);
return [$this->getPathFromRoot($files->getPath(), $userId, true)];
}
@@ -264,7 +170,7 @@ private function getChunksFromDirectory(string $userId, Folder $node, int $level
$entries = [];
$level++;
- $this->debug('getChunksFromDirectory', ['userId' => $userId, 'level' => $level]);
+ $this->logger->debug('getChunksFromDirectory', ['userId' => $userId, 'level' => $level]);
$files = $node->getDirectoryListing();
if (empty($files)) {
$entries[] = $this->getPathFromRoot($node->getPath(), $userId, true);
@@ -280,7 +186,7 @@ private function getChunksFromDirectory(string $userId, Folder $node, int $level
}
}
- $this->debug(
+ $this->logger->debug(
'getChunksFromDirectory result',
[
'userId' => $userId,
@@ -313,12 +219,12 @@ public function getFilesFromUser(string $userId, string $chunk): array {
$result = [];
if ($files instanceof Folder) {
- $this->debug('object from getFilesFromUser is a Folder', ['chunk' => $chunk]);
+ $this->logger->debug('object from getFilesFromUser is a Folder', ['chunk' => $chunk]);
$result = $this->generateFilesDocumentFromParent($userId, $files);
$result = array_merge($result, $this->getFilesFromDirectory($userId, $files));
} else {
- $this->debug('object from getFilesFromUser is a File', ['chunk' => $chunk]);
+ $this->logger->debug('object from getFilesFromUser is a File', ['chunk' => $chunk]);
try {
$result[] = $this->generateFilesDocumentFromFile($userId, $files);
} catch (FileIsNotIndexableException $e) {
@@ -377,8 +283,7 @@ public function getFilesFromDirectory(string $userId, Folder $node): array {
if ($file->getType() === FileInfo::TYPE_FOLDER) {
/** @var $file Folder */
- $documents =
- array_merge($documents, $this->getFilesFromDirectory($userId, $file));
+ $documents = array_merge($documents, $this->getFilesFromDirectory($userId, $file));
}
}
@@ -390,7 +295,7 @@ public function getFilesFromDirectory(string $userId, Folder $node): array {
* @param string $userId
*/
private function initFileSystems(string $userId) {
- $this->debug('initFileSystems', ['userId' => $userId]);
+ $this->logger->debug('initFileSystems', ['userId' => $userId]);
if ($userId === '') {
return;
@@ -501,7 +406,7 @@ private function generateFilesDocumentFromFile(string $viewerId, Node $file): Fi
]
);
} else {
- $this->log(2, 'stat() on File #' . $file->getId() . ' is not an array: ' . json_encode($stat));
+ $this->logger->warning('stat() on File #' . $file->getId() . ' is not an array: ' . json_encode($stat));
}
return $document;
@@ -617,10 +522,7 @@ public function generateDocument(FilesDocument $document) {
// TODO - update $document with a error status instead of just ignore !
$document->getIndex()
->setStatus(IIndex::INDEX_IGNORE);
- $this->miscService->log(
- 'Exception while generateDocument: ' . $e->getMessage() . ' (' . get_class($e) . ') at '
- . $e->getFile() . ' line ' . $e->getLine()
- );
+ $this->logger->warning('Exception while generateDocument', ['exception' => $e]);
}
}
@@ -853,12 +755,10 @@ private function updateShareNames(FilesDocument $document, Node $file): array {
}
$path = $this->getPathFromViewerId($file->getId(), $username);
- $shareNames[$this->miscService->secureUsername($username)] =
+ $shareNames[$this->secureUsername($username)] =
(!is_string($path)) ? $path = '' : $path;
} catch (Throwable $e) {
- $this->miscService->log(
- 'Issue while getting information on documentId:' . $document->getId(), 0
- );
+ $this->logger->warning('Issue while getting information on documentId:' . $document->getId(), ['exception' => $e]);
}
}
@@ -1265,14 +1165,6 @@ private function manageContentErrorException(IIndexDocument $document, Throwable
$t->getMessage(),
IIndex::ERROR_SEV_3
);
-
- $trace = $t->getTrace();
- if (is_array($trace)) {
- $trace = json_encode($trace);
- }
- if (is_string($trace)) {
- $this->miscService->log($trace, 0);
- }
}
@@ -1375,7 +1267,7 @@ private function getPathFromRoot(string $path, string $userId, bool $entrySlash
}
$result = (($entrySlash) ? '/' : '') . $path;
- $this->debug(
+ $this->logger->debug(
'getPathFromRoot', [
'path' => $path,
'userId' => $userId,
@@ -1386,4 +1278,8 @@ private function getPathFromRoot(string $path, string $userId, bool $entrySlash
return $result;
}
+
+ public function secureUsername(string $username): string {
+ return str_replace('.', '\.', $username);
+ }
}
diff --git a/lib/Service/MiscService.php b/lib/Service/MiscService.php
deleted file mode 100644
index 08e11b14..00000000
--- a/lib/Service/MiscService.php
+++ /dev/null
@@ -1,80 +0,0 @@
-
- * @copyright 2018
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- *
- */
-
-
-namespace OCA\Files_FullTextSearch\Service;
-
-use OCA\Files_FullTextSearch\AppInfo\Application;
-use OCP\ILogger;
-
-/**
- * Class MiscService
- *
- * @package OCA\Files_FullTextSearch\Service
- */
-class MiscService {
-
- /** @var ILogger */
- private $logger;
-
-
- /**
- * MiscService constructor.
- *
- * @param ILogger $logger
- */
- public function __construct(ILogger $logger) {
- $this->logger = $logger;
- }
-
-
- /**
- * @param string $message
- * @param int $level
- */
- public function log(string $message, int $level = 2) {
- $data = array(
- 'app' => Application::APP_ID,
- 'level' => $level
- );
-
- $this->logger->log($level, $message, $data);
- }
-
-
- /**
- * @param string $username
- *
- * @return string
- */
- public function secureUsername(string $username): string {
- return str_replace('.', '\.', $username);
- }
-}
diff --git a/lib/Service/SearchService.php b/lib/Service/SearchService.php
index 333dfba0..61a6404b 100644
--- a/lib/Service/SearchService.php
+++ b/lib/Service/SearchService.php
@@ -41,6 +41,7 @@
use OCP\FullTextSearch\Model\ISearchResult;
use OCP\IURLGenerator;
use OCP\IUserSession;
+use Psr\Log\LoggerInterface;
/**
* Class SearchService
@@ -50,56 +51,19 @@
class SearchService {
use TPathTools;
+ private string $userId;
- /** @var string */
- private $userId;
-
- /** @var IMimeTypeDetector */
- private $mimeTypeDetector;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
- /** @var FilesService */
- private $filesService;
-
- /** @var ConfigService */
- private $configService;
-
- /** @var ExtensionService */
- private $extensionService;
-
- /** @var MiscService */
- private $miscService;
-
-
- /**
- * SearchService constructor.
- *
- * @param IUserSession $userSession
- * @param IMimeTypeDetector $mimeTypeDetector
- * @param IURLGenerator $urlGenerator
- * @param FilesService $filesService
- * @param ConfigService $configService
- * @param ExtensionService $extensionService
- * @param MiscService $miscService
- *
- * @internal param IProviderFactory $factory
- */
public function __construct(
- IUserSession $userSession, IMimeTypeDetector $mimeTypeDetector, IUrlGenerator $urlGenerator,
- FilesService $filesService,
- ConfigService $configService,
- ExtensionService $extensionService, MiscService $miscService
+ IUserSession $userSession,
+ private IMimeTypeDetector $mimeTypeDetector,
+ private IUrlGenerator $urlGenerator,
+ private FilesService $filesService,
+ private ConfigService $configService,
+ private ExtensionService $extensionService,
+ private LoggerInterface $logger,
) {
$user = $userSession->getUser();
- $this->userId = (is_null($user)) ? '' : $user->getUID();
- $this->mimeTypeDetector = $mimeTypeDetector;
- $this->urlGenerator = $urlGenerator;
- $this->filesService = $filesService;
- $this->configService = $configService;
- $this->extensionService = $extensionService;
- $this->miscService = $miscService;
+ $this->userId = $user?->getUID() ?? '';
}
@@ -113,7 +77,7 @@ public function improveSearchRequest(ISearchRequest $request) {
$this->searchQueryFiltersExtension($request);
$this->searchQueryFiltersSource($request);
if ($this->userId === '') {
- $this->userId = $this->miscService->secureUsername($request->getAuthor());
+ $this->userId = $this->filesService->secureUsername($request->getAuthor());
}
$request->addPart('comments');
$this->extensionService->searchRequest($request);
@@ -124,7 +88,7 @@ public function improveSearchRequest(ISearchRequest $request) {
* @param ISearchRequest $request
*/
private function searchQueryShareNames(ISearchRequest $request) {
- $username = $this->miscService->secureUsername($request->getAuthor());
+ $username = $this->filesService->secureUsername($request->getAuthor());
$request->addField('share_names.' . $username);
$request->addWildcardField('title');
@@ -141,7 +105,7 @@ private function searchQueryWithinDir(ISearchRequest $request) {
return;
}
- $username = $this->miscService->secureUsername($request->getAuthor());
+ $username = $this->filesService->secureUsername($request->getAuthor());
$currentDir = $this->withoutBeginSlash($this->withEndSlash($currentDir));
$request->addRegexFilters(
[
@@ -161,7 +125,7 @@ private function searchQueryFiltersExtension(ISearchRequest $request) {
return;
}
- $username = $this->miscService->secureUsername($request->getAuthor());
+ $username = $this->filesService->secureUsername($request->getAuthor());
$request->addRegexFilters(
[
['share_names.' . $username => '.*\.' . $extension],
@@ -197,7 +161,7 @@ private function searchQueryInOptions(ISearchRequest $request) {
$in = $request->getOptionArray('in', []);
if (in_array('filename', $in)) {
- $username = $this->miscService->secureUsername($request->getAuthor());
+ $username = $this->filesService->secureUsername($request->getAuthor());
$request->addLimitField('share_names.' . $username);
$request->addLimitField('title');
}
@@ -249,10 +213,7 @@ public function improveSearchResult(ISearchResult $searchResult) {
$filesDocuments[] = $filesDocument;
} catch (Exception $e) {
- $this->miscService->log(
- 'Exception while improving searchresult: ' . $e->getMessage() . ' - trace: '
- . json_encode($e->getTrace())
- );
+ $this->logger->warning('Exception while improving searchresult', ['exception' => $e]);
}
}
@@ -341,13 +302,13 @@ private function setDocumentLinkFile(FilesDocument $document, string $dir, strin
return;
}
-
+
if ($this->configService->getAppValue(ConfigService::FILES_OPEN_RESULT_DIRECTLY) !== '1') {
$link = $this->urlGenerator->linkToRoute('files.view.index', ['dir' => $dir, 'scrollto' => $filename]);
} else {
$link = $this->urlGenerator->linkToRoute('files.View.showFile', ['fileid' => $document->getId()]);
}
-
+
$document->setLink($link);
}
diff --git a/lib/Service/SettingsService.php b/lib/Service/SettingsService.php
deleted file mode 100644
index 9af423e8..00000000
--- a/lib/Service/SettingsService.php
+++ /dev/null
@@ -1,78 +0,0 @@
-
- * @copyright 2018
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- *
- */
-
-
-namespace OCA\Files_FullTextSearch\Service;
-
-use OCP\IConfig;
-
-/**
- * Class SettingsService
- *
- * @package OCA\Files_FullTextSearch\Service
- */
-class SettingsService {
-
-
- /** @var IConfig */
- private $config;
-
- /** @var string */
- private $userId;
-
- /** @var MiscService */
- private $miscService;
-
-
- /**
- * SettingsService constructor.
- *
- * @param IConfig $config
- * @param string $userId
- * @param MiscService $miscService
- */
- public function __construct(IConfig $config, string $userId, MiscService $miscService) {
- $this->config = $config;
- $this->userId = $userId;
- $this->miscService = $miscService;
- }
-
-
- /**
- * @param array $data
- *
- * @return bool
- */
- public function checkConfig(array $data): bool {
-// return false;
-
- return true;
- }
-}
diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php
index 6a8993a0..30dd537d 100644
--- a/lib/Settings/Admin.php
+++ b/lib/Settings/Admin.php
@@ -33,11 +33,7 @@
use Exception;
use OCA\Files_FullTextSearch\AppInfo\Application;
-use OCA\Files_FullTextSearch\Service\ConfigService;
-use OCA\Files_FullTextSearch\Service\MiscService;
use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IL10N;
-use OCP\IURLGenerator;
use OCP\Settings\ISettings;
/**
@@ -46,40 +42,10 @@
* @package OCA\Files_FullTextSearch\Settings
*/
class Admin implements ISettings {
-
-
- /** @var IL10N */
- private $l10n;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
- /** @var ConfigService */
- private $configService;
-
- /** @var MiscService */
- private $miscService;
-
-
- /**
- * Admin constructor.
- *
- * @param IL10N $l10n
- * @param IURLGenerator $urlGenerator
- * @param ConfigService $configService
- * @param MiscService $miscService
- */
public function __construct(
- IL10N $l10n, IURLGenerator $urlGenerator, ConfigService $configService,
- MiscService $miscService
) {
- $this->l10n = $l10n;
- $this->urlGenerator = $urlGenerator;
- $this->configService = $configService;
- $this->miscService = $miscService;
}
-
/**
* @return TemplateResponse
* @throws Exception