mirror of
https://github.com/verdigado/organization_folders.git
synced 2024-12-06 11:22:41 +01:00
first draft of ACL rule management
This commit is contained in:
parent
5a2f872b2d
commit
f652b13dd3
6 changed files with 223 additions and 17 deletions
41
lib/Manager/PathManager.php
Normal file
41
lib/Manager/PathManager.php
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
namespace OCA\OrganizationFolders\Manager;
|
||||
|
||||
use OCP\IConfig;
|
||||
use OCP\Files\IRootFolder;
|
||||
use OCP\Files\Node;
|
||||
use OCP\Files\Folder;
|
||||
|
||||
use OCA\GroupFolders\Folder\FolderManager;
|
||||
use OCA\GroupFolders\Mount\MountProvider;
|
||||
|
||||
use OCA\OrganizationFolders\Db\FolderResource;
|
||||
use OCA\OrganizationFolders\Model\OrganizationFolder;
|
||||
|
||||
class PathManager {
|
||||
public function __construct(
|
||||
private IConfig $config,
|
||||
private IRootFolder $rootFolder,
|
||||
private FolderManager $groupfolderFolderManager,
|
||||
private MountProvider $mountProvider,
|
||||
){}
|
||||
|
||||
private function getRootFolderStorageId(): ?int {
|
||||
return $this->rootFolder->getMountPoint()->getNumericStorageId();
|
||||
}
|
||||
|
||||
public function getOrganizationFolderNode(OrganizationFolder $organizationFolder): ?Folder {
|
||||
return $this->getOrganizationFolderNodeById($organizationFolder->getId());
|
||||
}
|
||||
|
||||
public function getOrganizationFolderNodeById(int $id): ?Folder {
|
||||
return $this->mountProvider->getFolder($id, False);
|
||||
}
|
||||
|
||||
public function getFolderResourceNode(FolderResource $resource): ?Folder {
|
||||
$organizationFolderNode = $this->getOrganizationFolderNodeById($resource->getOrganizationFolderId());
|
||||
|
||||
return $organizationFolderNode->getFirstNodeById($resource->getFileId());
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue