fix: obey offset and limit for results from favs and circles

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
pull/37969/head
Arthur Schiwon 2023-06-21 20:04:35 +07:00
parent a0f9556f7c
commit 27f6f86d75
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23
1 changed files with 4 additions and 0 deletions

@ -219,6 +219,10 @@ class FilesReportPlugin extends ServerPlugin {
// gather all file ids matching filter
try {
$resultFileIds = $this->processFilterRulesForFileIDs($filterRules);
// no logic in circles and favorites for paging, we always have all results, and slice later on
$resultFileIds = array_slice($resultFileIds, $offset ?? 0, $limit ?? null);
// fetching nodes has paging on DB level therefore we cannot mix and slice the results, similar
// to user backends. I.e. the final result may return more results than requested.
$resultNodes = $this->processFilterRulesForFileNodes($filterRules, $limit ?? null, $offset ?? null);
} catch (TagNotFoundException $e) {
throw new PreconditionFailed('Cannot filter by non-existing tag', 0, $e);