summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorChristoph Wurst <ChristophWurst@users.noreply.github.com>2021-11-15 10:02:47 +0100
committerGitHub <noreply@github.com>2021-11-15 10:02:47 +0100
commit98b963e8a230c20f846dee3e8fac43ee4ea5e0e8 (patch)
tree3c982a2c294b27bd1dbf06446e5ab2ea5f6f0aa0 /apps
parent788a1fcca4b84e7bcf8f93826c968688077a81f9 (diff)
parentca14c02301a358172c2b9c1d15d6221cb60e6b1e (diff)
downloadnextcloud-server-98b963e8a230c20f846dee3e8fac43ee4ea5e0e8.tar.gz
nextcloud-server-98b963e8a230c20f846dee3e8fac43ee4ea5e0e8.zip
Merge pull request #29661 from nextcloud/enhancement/calendar-search-properties-api
Document and type allowed property names for calendar property searches
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/CalDAV/CalDavBackend.php25
1 files changed, 20 insertions, 5 deletions
diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index 7094358a2c6..5aa499be159 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -170,10 +170,25 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
'{http://calendarserver.org/ns/}subscribed-strip-attachments' => 'stripattachments',
];
- /** @var array properties to index */
- public static $indexProperties = ['CATEGORIES', 'COMMENT', 'DESCRIPTION',
- 'LOCATION', 'RESOURCES', 'STATUS', 'SUMMARY', 'ATTENDEE', 'CONTACT',
- 'ORGANIZER'];
+ /**
+ * properties to index
+ *
+ * This list has to be kept in sync with ICalendarQuery::SEARCH_PROPERTY_*
+ *
+ * @see \OCP\Calendar\ICalendarQuery
+ */
+ private const INDEXED_PROPERTIES = [
+ 'CATEGORIES',
+ 'COMMENT',
+ 'DESCRIPTION',
+ 'LOCATION',
+ 'RESOURCES',
+ 'STATUS',
+ 'SUMMARY',
+ 'ATTENDEE',
+ 'CONTACT',
+ 'ORGANIZER'
+ ];
/** @var array parameters to index */
public static $indexParameters = [
@@ -2948,7 +2963,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
}
foreach ($component->children() as $property) {
- if (in_array($property->name, self::$indexProperties)) {
+ if (in_array($property->name, self::INDEXED_PROPERTIES, true)) {
$value = $property->getValue();
// is this a shitty db?
if (!$this->db->supports4ByteText()) {