diff options
author | Johannes Merkel <mail@johannesgge.de> | 2024-01-03 15:49:53 +0100 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2024-01-18 08:40:30 +0100 |
commit | 97d3ef565bdbbb62db09357d12f46d2586bd2590 (patch) | |
tree | dd31a42cd0dedb78b6406219ba3604f80633ed27 /apps | |
parent | 070cfc247f666acde5b2a5354a7b5badfc15783d (diff) | |
download | nextcloud-server-97d3ef565bdbbb62db09357d12f46d2586bd2590.tar.gz nextcloud-server-97d3ef565bdbbb62db09357d12f46d2586bd2590.zip |
fix(CalDAV): set acls for DeletedCalendarObjectsCollection
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/dav/lib/CalDAV/Trashbin/DeletedCalendarObjectsCollection.php | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/apps/dav/lib/CalDAV/Trashbin/DeletedCalendarObjectsCollection.php b/apps/dav/lib/CalDAV/Trashbin/DeletedCalendarObjectsCollection.php index 20d05c047b1..0c54839127c 100644 --- a/apps/dav/lib/CalDAV/Trashbin/DeletedCalendarObjectsCollection.php +++ b/apps/dav/lib/CalDAV/Trashbin/DeletedCalendarObjectsCollection.php @@ -31,11 +31,15 @@ use Sabre\DAV\Exception\BadRequest; use Sabre\DAV\Exception\Forbidden; use Sabre\DAV\Exception\NotFound; use Sabre\DAV\Exception\NotImplemented; +use Sabre\DAVACL\ACLTrait; +use Sabre\DAVACL\IACL; use function array_map; use function implode; use function preg_match; -class DeletedCalendarObjectsCollection implements ICalendarObjectContainer { +class DeletedCalendarObjectsCollection implements ICalendarObjectContainer, IACL { + use ACLTrait; + public const NAME = 'objects'; /** @var CalDavBackend */ @@ -129,4 +133,23 @@ class DeletedCalendarObjectsCollection implements ICalendarObjectContainer { [$calendarInfo['id'], 'ics'], ); } + + public function getOwner() { + return $this->principalInfo['uri']; + } + + public function getACL(): array { + return [ + [ + 'privilege' => '{DAV:}read', + 'principal' => $this->getOwner(), + 'protected' => true, + ], + [ + 'privilege' => '{DAV:}unbind', + 'principal' => '{DAV:}owner', + 'protected' => true, + ] + ]; + } } |