diff options
author | Christoph Wurst <ChristophWurst@users.noreply.github.com> | 2021-11-04 07:33:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-04 07:33:49 +0100 |
commit | 18e6288c89e476e1dec232560caf1479eba9e144 (patch) | |
tree | 3a73eb273ba226c9db74c9f3a8863fb09cc0d9f0 /lib/private | |
parent | b453fea4da230883619aba2df83da4ca9bb05b3a (diff) | |
parent | 3ef6a099a3d3a3a9baaa48188d316c8295067974 (diff) | |
download | nextcloud-server-18e6288c89e476e1dec232560caf1479eba9e144.tar.gz nextcloud-server-18e6288c89e476e1dec232560caf1479eba9e144.zip |
Merge pull request #29533 from nextcloud/enhancement/get-calendars-for-principal-api
Add IManager::getCalendarsForPrincipal API
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Calendar/Manager.php | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/private/Calendar/Manager.php b/lib/private/Calendar/Manager.php index 3fa4b55d1ea..16e142264aa 100644 --- a/lib/private/Calendar/Manager.php +++ b/lib/private/Calendar/Manager.php @@ -167,15 +167,14 @@ class Manager implements IManager { $this->calendarLoaders = []; } - public function searchForPrincipal(ICalendarQuery $query): array { + public function getCalendarsForPrincipal(string $principalUri, array $calendarUris = []): array { $context = $this->coordinator->getRegistrationContext(); if ($context === null) { return []; } - /** @var CalendarQuery $query */ - $calendars = array_merge( - ...array_map(function ($registration) use ($query) { + return array_merge( + ...array_map(function ($registration) use ($principalUri, $calendarUris) { try { /** @var ICalendarProvider $provider */ $provider = $this->container->get($registration->getService()); @@ -186,9 +185,17 @@ class Manager implements IManager { return []; } - return $provider->getCalendars($query->getPrincipalUri(), $query->getCalendarUris()); + return $provider->getCalendars($principalUri, $calendarUris); }, $context->getCalendarProviders()) ); + } + + public function searchForPrincipal(ICalendarQuery $query): array { + /** @var CalendarQuery $query */ + $calendars = $this->getCalendarsForPrincipal( + $query->getPrincipalUri(), + $query->getCalendarUris(), + ); $results = []; /** @var ICalendar $calendar */ |