aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/Config/CachedMountFileInfo.php
blob: 41dbec87ef58da5e66b0295549a7deca296d5e6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
/**
 * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
namespace OC\Files\Config;

use OCP\Files\Config\ICachedMountFileInfo;
use OCP\IUser;

class CachedMountFileInfo extends CachedMountInfo implements ICachedMountFileInfo {
	private string $internalPath;

	public function __construct(
		IUser $user,
		int $storageId,
		int $rootId,
		string $mountPoint,
		?int $mountId,
		string $mountProvider,
		string $rootInternalPath,
		string $internalPath
	) {
		parent::__construct($user, $storageId, $rootId, $mountPoint, $mountProvider, $mountId, $rootInternalPath);
		$this->internalPath = $internalPath;
	}

	public function getInternalPath(): string {
		if ($this->getRootInternalPath()) {
			return substr($this->internalPath, strlen($this->getRootInternalPath()) + 1);
		} else {
			return $this->internalPath;
		}
	}

	public function getPath(): string {
		return $this->getMountPoint() . $this->getInternalPath();
	}
}