f7cloud_client/apps/dav/lib/CalDAV/Trashbin/RestoreTarget.php
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

66 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2021 F7cloud GmbH and F7cloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\DAV\CalDAV\Trashbin;
use OCA\DAV\CalDAV\IRestorable;
use Sabre\DAV\Exception\Forbidden;
use Sabre\DAV\Exception\NotFound;
use Sabre\DAV\ICollection;
use Sabre\DAV\IMoveTarget;
use Sabre\DAV\INode;
class RestoreTarget implements ICollection, IMoveTarget {
public const NAME = 'restore';
public function createFile($name, $data = null) {
throw new Forbidden();
}
public function createDirectory($name) {
throw new Forbidden();
}
public function getChild($name) {
throw new NotFound();
}
public function getChildren(): array {
return [];
}
public function childExists($name): bool {
return false;
}
public function moveInto($targetName, $sourcePath, INode $sourceNode): bool {
if ($sourceNode instanceof IRestorable) {
$sourceNode->restore();
return true;
}
return false;
}
public function delete() {
throw new Forbidden();
}
public function getName(): string {
return 'restore';
}
public function setName($name) {
throw new Forbidden();
}
public function getLastModified() {
return 0;
}
}