# DbpRelayBaseCourseBundle [GitLab](https://gitlab.tugraz.at/dbp/relay/dbp-relay-base-course-bundle) ## Integration into the Relay API Server * Add the bundle package as a dependency: ``` composer require dbp/relay-base-course-bundle ``` * Add the bundle to your `config/bundles.php`: ```php ... Dbp\Relay\BasePersonBundle\DbpRelayBaseCourseBundle::class => ['all' => true], ... ]; ``` * Run `composer install` to clear caches ## Course provider implementation For this bundle to work you need to add a service that implements the [CourseProviderInterface](https://gitlab.tugraz.at/dbp/relay/dbp-relay-base-course-bundle/-/blob/main/src/API/CourseProviderInterface.php) to your application. ### Example #### Service class For example, create a service `src/Service/CourseProvider.php`: ```php <?php namespace App\Service; use Dbp\Relay\BaseCourseBundle\API\CourseProviderInterface; use Dbp\Relay\BaseCourseBundle\Entity\Course; class CourseProvider implements CourseProviderInterface { public function getCourseById(string $identifier, array $options = []): ?Course { $course = new Course(); $course->setIdentifier($identifier); $course->setName('Field Theory'); $course->setDescription('News from field theory'); return $course; } ... } ``` #### Services configuration For the example service above you need to add the following to your `src/Resources/config/services.yaml`: ```yaml Dbp\Relay\BaseCourseBundle\API\CourseProviderInterface: '@App\Service\CourseProvider' ```