|
|
|
|
@ -24,6 +24,10 @@ use Sabre\HTTP\ResponseInterface;
|
|
|
|
|
class Plugin extends ServerPlugin {
|
|
|
|
|
private Server $server;
|
|
|
|
|
|
|
|
|
|
public const LABEL = 'label';
|
|
|
|
|
|
|
|
|
|
public const AUTHOR = 'author';
|
|
|
|
|
|
|
|
|
|
public const VERSION_LABEL = '{http://nextcloud.org/ns}version-label';
|
|
|
|
|
|
|
|
|
|
public const VERSION_AUTHOR = '{http://nextcloud.org/ns}version-author'; // dav property for author
|
|
|
|
|
@ -76,8 +80,8 @@ class Plugin extends ServerPlugin {
|
|
|
|
|
|
|
|
|
|
public function propFind(PropFind $propFind, INode $node): void {
|
|
|
|
|
if ($node instanceof VersionFile) {
|
|
|
|
|
$propFind->handle(self::VERSION_LABEL, fn () => $node->getMetadataValue('label'));
|
|
|
|
|
$propFind->handle(self::VERSION_AUTHOR, fn () => $node->getMetadataValue('author'));
|
|
|
|
|
$propFind->handle(self::VERSION_LABEL, fn () => $node->getMetadataValue(self::LABEL));
|
|
|
|
|
$propFind->handle(self::VERSION_AUTHOR, fn () => $node->getMetadataValue(self::AUTHOR));
|
|
|
|
|
$propFind->handle(FilesPlugin::HAS_PREVIEW_PROPERTYNAME, fn () => $this->previewManager->isMimeSupported($node->getContentType()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -86,7 +90,7 @@ class Plugin extends ServerPlugin {
|
|
|
|
|
$node = $this->server->tree->getNodeForPath($path);
|
|
|
|
|
|
|
|
|
|
if ($node instanceof VersionFile) {
|
|
|
|
|
$propPatch->handle(self::VERSION_LABEL, fn (string $label) => $node->setMetadataValue('label', $label));
|
|
|
|
|
$propPatch->handle(self::VERSION_LABEL, fn (string $label) => $node->setMetadataValue(self::LABEL, $label));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|