From 02bb8a330f070871169d41eef4cd4d41ec358b3f Mon Sep 17 00:00:00 2001 From: Jonathan Treffler Date: Tue, 20 Aug 2024 15:06:57 +0200 Subject: [PATCH] implemented organization provider registration --- .../RegisterOrganisationProviderEvent.php | 27 +++++++++++++ .../OrganisationProvider.php | 15 +++++++ .../OrganisationProviderManager.php | 40 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 lib/Events/RegisterOrganisationProviderEvent.php create mode 100644 lib/OrganisationProvider/OrganisationProvider.php create mode 100644 lib/OrganisationProvider/OrganisationProviderManager.php 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