aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/Search/TasksSearchProvider.php
diff options
context:
space:
mode:
authorBenjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>2023-09-26 11:07:49 +0200
committerBenjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>2023-11-10 09:21:16 +0100
commit3545a1c613b8310fd5956517c91bac48e73fbd20 (patch)
tree6d19e37896d17185ee4b4340f1aad5807a40ca8b /apps/dav/lib/Search/TasksSearchProvider.php
parenta75a93af8e140809abe50429601cb3d07f35245c (diff)
downloadnextcloud-server-3545a1c613b8310fd5956517c91bac48e73fbd20.tar.gz
nextcloud-server-3545a1c613b8310fd5956517c91bac48e73fbd20.zip
feat(caldav): Allow advanced search for events/tasks
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Diffstat (limited to 'apps/dav/lib/Search/TasksSearchProvider.php')
-rw-r--r--apps/dav/lib/Search/TasksSearchProvider.php26
1 files changed, 11 insertions, 15 deletions
diff --git a/apps/dav/lib/Search/TasksSearchProvider.php b/apps/dav/lib/Search/TasksSearchProvider.php
index 763720ee4ae..91692ea1c2a 100644
--- a/apps/dav/lib/Search/TasksSearchProvider.php
+++ b/apps/dav/lib/Search/TasksSearchProvider.php
@@ -41,7 +41,6 @@ use Sabre\VObject\Component;
* @package OCA\DAV\Search
*/
class TasksSearchProvider extends ACalendarSearchProvider {
-
/**
* @var string[]
*/
@@ -88,8 +87,10 @@ class TasksSearchProvider extends ACalendarSearchProvider {
/**
* @inheritDoc
*/
- public function search(IUser $user,
- ISearchQuery $query): SearchResult {
+ public function search(
+ IUser $user,
+ ISearchQuery $query,
+ ): SearchResult {
if (!$this->appManager->isEnabledForUser('tasks', $user)) {
return SearchResult::complete($this->getName(), []);
}
@@ -100,13 +101,15 @@ class TasksSearchProvider extends ACalendarSearchProvider {
$searchResults = $this->backend->searchPrincipalUri(
$principalUri,
- $query->getTerm(),
+ $query->getFilter('term')?->get() ?? '',
[self::$componentType],
self::$searchProperties,
self::$searchParameters,
[
'limit' => $query->getLimit(),
'offset' => $query->getCursor(),
+ 'since' => $query->getFilter('since'),
+ 'until' => $query->getFilter('until'),
]
);
$formattedResults = \array_map(function (array $taskRow) use ($calendarsById, $subscriptionsById):SearchResultEntry {
@@ -131,13 +134,10 @@ class TasksSearchProvider extends ACalendarSearchProvider {
);
}
- /**
- * @param string $calendarUri
- * @param string $taskUri
- * @return string
- */
- protected function getDeepLinkToTasksApp(string $calendarUri,
- string $taskUri): string {
+ protected function getDeepLinkToTasksApp(
+ string $calendarUri,
+ string $taskUri,
+ ): string {
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->linkToRoute('tasks.page.index')
. '#/calendars/'
@@ -147,10 +147,6 @@ class TasksSearchProvider extends ACalendarSearchProvider {
);
}
- /**
- * @param Component $taskComponent
- * @return string
- */
protected function generateSubline(Component $taskComponent): string {
if ($taskComponent->COMPLETED) {
$completedDateTime = new \DateTime($taskComponent->COMPLETED->getDateTime()->format(\DateTimeInterface::ATOM));