refactor: adjust to unexposed searchBySystemTag

- in this backport we have to drop the breaking addition in
  \OCP\Files\Folder
- this requires adjustments in check for the existance of the method but
  also in testing
- another change in \OCP\SystemTag\ISystemTagManager can be applied as
  this interface is not implemented elsewhere

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
Arthur Schiwon 2023-07-06 22:33:20 +02:00
parent 6256da1ade
commit 33b9ba5cd9
No known key found for this signature in database
GPG key ID: 7424F1874854DF23
4 changed files with 8 additions and 2 deletions

View file

@ -336,7 +336,7 @@ class FilesReportPlugin extends ServerPlugin {
// type check to ensure searchBySystemTag is available, it is not
// exposed in API yet
if (!empty($systemTagIds)) {
if (!empty($systemTagIds) && method_exists($this->userFolder, 'searchBySystemTag')) {
$tags = $this->tagManager->getTagsByIds($systemTagIds, $this->userSession->getUser());
// For we run DB queries per tag and require intersection, we cannot apply limit and offset for DB queries on multi tag search.

View file

@ -114,6 +114,8 @@ class FilesReportPluginTest extends \Test\TestCase {
$this->userFolder = $this->getMockBuilder(Folder::class)
->disableOriginalConstructor()
->addMethods(['searchBySystemTag'])
->onlyMethods(get_class_methods(Folder::class))
->getMock();
$this->previewManager = $this->getMockBuilder(IPreview::class)

View file

@ -448,6 +448,10 @@ class LazyFolder implements \OCP\Files\Folder {
return $this->__call(__FUNCTION__, func_get_args());
}
public function searchBySystemTag(string $tagName, string $userId, int $limit = 0, int $offset = 0): array {
return $this->__call(__FUNCTION__, func_get_args());
}
/**
* @inheritDoc
*/

View file

@ -47,7 +47,7 @@ interface ISystemTagManager {
* @throws TagNotFoundException if at least one given tag ids did no exist
* The message contains a json_encoded array of the ids that could not be found
*
* @since 9.0.0, optional parameter $user added in 28.0.0
* @since 9.0.0, optional parameter $user added in 25.0.9
*/
public function getTagsByIds($tagIds, ?IUser $user = null): array;