<?php

/**
 * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
 * SPDX-FileCopyrightText: 2017 ownCloud GmbH
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
namespace OCA\DAV\Avatars;

use OCP\IAvatarManager;
use OCP\Server;
use Sabre\DAVACL\AbstractPrincipalCollection;

class RootCollection extends AbstractPrincipalCollection {

	/**
	 * This method returns a node for a principal.
	 *
	 * The passed array contains principal information, and is guaranteed to
	 * at least contain a uri item. Other properties may or may not be
	 * supplied by the authentication backend.
	 *
	 * @param array $principalInfo
	 * @return AvatarHome
	 */
	#[\Override]
	public function getChildForPrincipal(array $principalInfo) {
		$avatarManager = Server::get(IAvatarManager::class);
		return new AvatarHome($principalInfo, $avatarManager);
	}

	#[\Override]
	public function getName() {
		return 'avatars';
	}
}
