dbp / relay-base-organization-bundle
Installs: 18 842
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=8.1
- ext-json: *
- api-platform/core: ^2.7.11 || ^3.2
- dbp/relay-core-bundle: ^0.1.153
- symfony/config: ^5.4 || ^6.4
- symfony/dependency-injection: ^5.4 || ^6.4
- symfony/http-kernel: ^5.4 || ^6.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.50
- phpstan/phpstan: ^1.10.59
- phpstan/phpstan-phpunit: ^1.3.16
- phpunit/phpunit: ^10.1
- symfony/browser-kit: ^5.4 || ^6.4
- symfony/error-handler: ^5.4 || ^6.4
- symfony/http-client: ^5.4 || ^6.4
- symfony/monolog-bridge: ^5.4 || ^6.4
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^5.4 || ^6.4
- vimeo/psalm: ^5.22.2
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'