Skip to content

Commit 22c6ef4

Browse files
DerDreschnerbackportbot[bot]
authored andcommitted
feat(CalDAV): Add function to get the token of a publicly shared calendar
feat(CalDAV): Add function to get the token of a publicly shared calendar Signed-off-by: David Dreschner <david.dreschner@nextcloud.com> [skip ci]
1 parent 224d240 commit 22c6ef4

File tree

5 files changed

+38
-2
lines changed

5 files changed

+38
-2
lines changed

apps/dav/lib/CalDAV/CalendarImpl.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use OCA\DAV\CalDAV\InvitationResponse\InvitationResponseServer;
1313
use OCP\Calendar\Exceptions\CalendarException;
1414
use OCP\Calendar\ICalendarIsEnabled;
15+
use OCP\Calendar\ICalendarIsPublic;
1516
use OCP\Calendar\ICalendarIsShared;
1617
use OCP\Calendar\ICalendarIsWritable;
1718
use OCP\Calendar\ICreateFromString;

apps/dav/tests/unit/CalDAV/CalendarImplTest.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ protected function setUp(): void {
3939
$this->backend = $this->createMock(CalDavBackend::class);
4040
$this->calendar = $this->createMock(Calendar::class);
4141
$this->calendarInfo = [
42-
'id' => 'fancy_id_123',
42+
'id' => 123,
4343
'{DAV:}displayname' => 'user readable name 123',
4444
'{http://apple.com/ns/ical/}calendar-color' => '#AABBCC',
4545
'uri' => '/this/is/a/uri',
@@ -71,7 +71,7 @@ protected function setUp(): void {
7171

7272

7373
public function testGetKey(): void {
74-
$this->assertEquals($this->calendarImpl->getKey(), 'fancy_id_123');
74+
$this->assertEquals($this->calendarImpl->getKey(), '123');
7575
}
7676

7777
public function testGetDisplayname(): void {
@@ -82,6 +82,18 @@ public function testGetDisplayColor(): void {
8282
$this->assertEquals($this->calendarImpl->getDisplayColor(), '#AABBCC');
8383
}
8484

85+
public function testGetPublicToken(): void {
86+
$publicToken = $this->calendar->setPublishStatus(true);
87+
88+
$this->assertEquals($this->calendarImpl->getPublicToken(), $publicToken);
89+
}
90+
91+
public function testGetPublicTokenWithPrivateCalendar(): void {
92+
$this->calendar->setPublishStatus(false);
93+
94+
$this->assertNull($this->calendarImpl->getPublicToken());
95+
}
96+
8597
public function testSearch(): void {
8698
$this->backend->expects($this->once())
8799
->method('search')

lib/composer/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@
203203
'OCP\\Calendar\\ICalendar' => $baseDir . '/lib/public/Calendar/ICalendar.php',
204204
'OCP\\Calendar\\ICalendarEventBuilder' => $baseDir . '/lib/public/Calendar/ICalendarEventBuilder.php',
205205
'OCP\\Calendar\\ICalendarIsEnabled' => $baseDir . '/lib/public/Calendar/ICalendarIsEnabled.php',
206+
'OCP\\Calendar\\ICalendarIsPublic' => $baseDir . '/lib/public/Calendar/ICalendarIsPublic.php',
206207
'OCP\\Calendar\\ICalendarIsShared' => $baseDir . '/lib/public/Calendar/ICalendarIsShared.php',
207208
'OCP\\Calendar\\ICalendarIsWritable' => $baseDir . '/lib/public/Calendar/ICalendarIsWritable.php',
208209
'OCP\\Calendar\\ICalendarProvider' => $baseDir . '/lib/public/Calendar/ICalendarProvider.php',

lib/composer/composer/autoload_static.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
252252
'OCP\\Calendar\\ICalendar' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendar.php',
253253
'OCP\\Calendar\\ICalendarEventBuilder' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarEventBuilder.php',
254254
'OCP\\Calendar\\ICalendarIsEnabled' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarIsEnabled.php',
255+
'OCP\\Calendar\\ICalendarIsPublic' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarIsPublic.php',
255256
'OCP\\Calendar\\ICalendarIsShared' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarIsShared.php',
256257
'OCP\\Calendar\\ICalendarIsWritable' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarIsWritable.php',
257258
'OCP\\Calendar\\ICalendarProvider' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarProvider.php',
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
7+
* SPDX-License-Identifier: AGPL-3.0-or-later
8+
*/
9+
namespace OCP\Calendar;
10+
11+
/**
12+
* @since 33.0.1, 32.0.7, 31.0.14.1, 30.0.17.8
13+
*/
14+
interface ICalendarIsPublic {
15+
/**
16+
* Gets the token of a publicly shared calendar.
17+
*
18+
* @since 33.0.1, 32.0.7, 31.0.14.1, 30.0.17.8
19+
*/
20+
public function getPublicToken(): ?string;
21+
}

0 commit comments

Comments
 (0)