dbp / relay-base-organization-bundle
Installs: 22 525
Dependents: 4
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 2
Type:symfony-bundle
Requires
- php: >=8.2
- ext-json: *
- api-platform/core: ^3.4 || ^4.1
- dbp/relay-core-bundle: ^0.1.186
- symfony/config: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/http-kernel: ^6.4
- symfony/serializer: ^6.4
Requires (Dev)
- captainhook/captainhook: ^5.25
- friendsofphp/php-cs-fixer: ^3.50
- phpstan/phpstan: ^2.0.0
- phpstan/phpstan-phpunit: ^2.0.0
- phpunit/phpunit: ^10.1
- symfony/browser-kit: ^6.4
- symfony/error-handler: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/http-client: ^6.4
- symfony/monolog-bridge: ^6.4
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^6.4
This package is auto-updated.
Last update: 2025-04-19 05:23:49 UTC
README
Integration into the Relay API Server
- Add the bundle package as a dependency:
composer require dbp/relay-base-organization-bundle
- Add the bundle to your
config/bundles.php
in front ofDbpRelayCoreBundle
:
... Dbp\Relay\BaseOrganizationBundle\DbpRelayBaseOrganizationBundle::class => ['all' => true], Dbp\Relay\CoreBundle\DbpRelayCoreBundle => ['all' => true], ];
- Run
composer install
to clear caches
OrganizationProvider service
For services that need to fetch organizations you need to create a service that implements OrganizationProviderInterface in your application.
Example
Service class
You can for example put below code into src/Service/OrganizationProvider.php
:
<?php declare(strict_types=1); namespace YourUniversity\Service; use Dbp\Relay\BaseOrganizationBundle\API\OrganizationProviderInterface; use Dbp\Relay\BaseOrganizationBundle\Entity\Organization; class OrganizationProvider implements OrganizationProviderInterface { public function getOrganizationById(string $identifier, string $lang): Organization { return some_method_that_fetches_an_organization_by_id($identifier, $lang); } /** * @return Organization[] */ public function getOrganizationsByPerson(Person $person, string $context, string $lang): array { return some_method_that_fetches_an_organization_by_person($person, $context, $lang); } /** * @return Organization[] */ public function getOrganizations(string $lang): array { return some_method_that_fetches_all_organizations($lang); } }
Services configuration
For above class you need to add this to your src/Resources/config/services.yaml
:
Dbp\Relay\BaseOrganizationBundle\API\OrganizationProviderInterface: '@YourUniversity\Service\OrganizationProvider'