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

added not found errors to be used by organization providers

This commit is contained in:
Jonathan Treffler 2024-10-13 23:04:20 +02:00
parent 38b1406d40
commit 2521a35b2a
6 changed files with 46 additions and 2 deletions

View file

@ -0,0 +1,47 @@
<?php
declare(strict_types=1);
namespace OCA\OrganizationFolders\OrganizationProvider;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Server;
use OCA\OrganizationFolders\Events\RegisterOrganizationProviderEvent;
class OrganizationProviderManager {
private array $organizationProviders = [];
public function __construct(
IEventDispatcher $dispatcher,
) {
$event = new RegisterOrganizationProviderEvent($this);
$dispatcher->dispatchTyped($event);
}
/**
* @return OrganizationProvider[]
*/
public function getOrganizationProviders(): array {
return $this->organizationProviders;
}
/**
* @return bool
*/
public function hasOrganizationProvider($id): bool {
return array_key_exists($id, $this->organizationProviders);
}
/**
* @return OrganizationProvider
*/
public function getOrganizationProvider($id): ?OrganizationProvider {
return $this->organizationProviders[$id];
}
public function registerOrganizationProvider(OrganizationProvider $organizationProvider): self {
$this->organizationProviders[$organizationProvider->getId()] = $organizationProvider;
return $this;
}
}