diff --git a/lib/Events/RegisterOrganisationProviderEvent.php b/lib/Events/RegisterOrganisationProviderEvent.php new file mode 100644 index 0000000..936d9bd --- /dev/null +++ b/lib/Events/RegisterOrganisationProviderEvent.php @@ -0,0 +1,27 @@ +organisationProviderManager = $organisationProviderManager; + } + + public function getOrganisationProviderManager(): OrganisationProviderManager { + return $this->organisationProviderManager; + } +} \ No newline at end of file diff --git a/lib/OrganisationProvider/OrganisationProvider.php b/lib/OrganisationProvider/OrganisationProvider.php new file mode 100644 index 0000000..3ecf5c0 --- /dev/null +++ b/lib/OrganisationProvider/OrganisationProvider.php @@ -0,0 +1,15 @@ +id; + } + + // TODO: functions to access organisation structure +} \ No newline at end of file diff --git a/lib/OrganisationProvider/OrganisationProviderManager.php b/lib/OrganisationProvider/OrganisationProviderManager.php new file mode 100644 index 0000000..aa1c580 --- /dev/null +++ b/lib/OrganisationProvider/OrganisationProviderManager.php @@ -0,0 +1,40 @@ +dispatchTyped($event); + } + + /** + * @return OrganisationProvider[] + */ + public function getOrganisationProviders(): array { + return $this->organisationProviders; + } + + /** + * @return OrganisationProvider + */ + public function getOrganisationProvider($id): ?OrganisationProvider { + return $this->organisationProviders[$id]; + } + + public function registerOrganisationProvider(OrganisationProvider $organisationProvider): self { + $this->organisationProviders[$organisationProvider->getId()] = $organisationProvider; + return $this; + } +} \ No newline at end of file