0
0
Fork 0
mirror of https://github.com/verdigado/organization_folders.git synced 2024-12-06 11:22:41 +01:00

split principal types into different subclasses, added principal factory, implemented principal friendlyNames and FullHierarchyNames, added parentOrganizationId attribute to organizations

This commit is contained in:
Jonathan Treffler 2024-11-26 18:19:05 +01:00
parent 225072bff7
commit 89ff5415dd
15 changed files with 321 additions and 47 deletions

View file

@ -0,0 +1,36 @@
<?php
namespace OCA\OrganizationFolders\Model;
use OCP\IGroupManager;
use \OCP\IGroup;
use OCA\OrganizationFolders\Enum\PrincipalType;
class GroupPrincipal extends Principal {
private ?IGroup $group;
public function __construct(
private IGroupManager $groupManager,
private string $id,
) {
try {
$this->group = $this->groupManager->get($id);
$this->valid = !is_null($this->group);
} catch (\Exception $e) {
$this->valid = false;
}
}
public function getType(): PrincipalType {
return PrincipalType::GROUP;
}
public function getId(): string {
return $this->id;
}
public function getFriendlyName(): string {
return $this->group?->getDisplayName();
}
}