You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nextcloud-server/apps/dav/lib/Upload/RootCollection.php

51 lines
1.1 KiB

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-only
*/
namespace OCA\DAV\Upload;
use OCP\Files\IRootFolder;
use OCP\IUserSession;
use OCP\Share\IManager;
use Sabre\DAVACL\AbstractPrincipalCollection;
use Sabre\DAVACL\PrincipalBackend;
class RootCollection extends AbstractPrincipalCollection {
public function __construct(
PrincipalBackend\BackendInterface $principalBackend,
string $principalPrefix,
private CleanupService $cleanupService,
private IRootFolder $rootFolder,
private IUserSession $userSession,
private IManager $shareManager,
) {
parent::__construct($principalBackend, $principalPrefix);
}
/**
* @inheritdoc
*/
public function getChildForPrincipal(array $principalInfo): UploadHome {
return new UploadHome(
$principalInfo,
$this->cleanupService,
$this->rootFolder,
$this->userSession,
$this->shareManager,
);
}
/**
* @inheritdoc
*/
public function getName(): string {
return 'uploads';
}
}