Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/digital-blueprint/relay-base-course-connector-campusonline-bundle
Base Symfony bundle for CampusOnline Course integration for the DBP Relay API Server
https://github.com/digital-blueprint/relay-base-course-connector-campusonline-bundle
campus-online digital-blueprint relay-bundle symfony-bundle
Last synced: about 2 months ago
JSON representation
Base Symfony bundle for CampusOnline Course integration for the DBP Relay API Server
- Host: GitHub
- URL: https://github.com/digital-blueprint/relay-base-course-connector-campusonline-bundle
- Owner: digital-blueprint
- License: agpl-3.0
- Created: 2023-03-01T13:48:47.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-11T14:55:57.000Z (9 months ago)
- Last Synced: 2024-04-11T17:17:05.692Z (9 months ago)
- Topics: campus-online, digital-blueprint, relay-bundle, symfony-bundle
- Language: PHP
- Homepage:
- Size: 764 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# DbpRelayBaseCourseConnectorCampusonlineBundle
[GitHub](https://github.com/digital-blueprint/relay-base-course-connector-campusonline-bundle) |
[Packagist](https://packagist.org/packages/dbp/relay-base-course-connector-campusonline-bundle)[![Test](https://github.com/digital-blueprint/relay-base-course-connector-campusonline-bundle/actions/workflows/test.yml/badge.svg)](https://github.com/digital-blueprint/relay-base-course-connector-campusonline-bundle/actions/workflows/test.yml)
Base Symfony bundle for CampusOnline Course integration for the DBP Relay API Server
## Integration into the Relay API Server
* Add the bundle package as a dependency:
```bash
composer require dbp/relay-base-course-connector-campusonline-bundle
```* Add the bundle to your `config/bundles.php`:
```php
...
Dbp\Relay\BasePersonBundle\DbpRelayBaseCourseBundle::class => ['all' => true],
Dbp\Relay\BasePersonBundle\DbpRelayBaseCourseConnectorCampusonlineBundle::class => ['all' => true],
...
```* Run `composer install` to clear caches
## Configuration
The bundle has some configuration values that you can specify in your
app, either by hard-coding it, or by referencing an environment variable.For this create `config/packages/dbp_relay_base_course_connector_ldap.yaml` in the app with the following
content:```yaml
dbp_relay_base_course_connector_campusonline:
campus_online:
api_token: '%env(CAMPUS_ONLINE_API_TOKEN)%'
api_url: '%env(CAMPUS_ONLINE_API_URL)%'
org_root_id: '%env(ORGANIZATION_ROOT_ID)%'
```For more info on bundle configuration see
https://symfony.com/doc/current/bundles/configuration.html## Events
### CoursePostEvent
This event allows you to add additional attributes ("local data") to the `\Dbp\Relay\BaseCourseBundle\Entity\Course` base-entity that you want to be included in responses to `Course` entity requests.
Event subscribers receive a `\Dbp\Relay\RelayBaseCourseConnectorCampusonlineBundle\Event\CourseProviderPostEvent` instance containing the `Course` base-entity and the course data provided by Campusonline.For example, create an event subscriber `src/EventSubscriber/CourseEventSubscriber.php`:
```php
'onPost',
];
}public function onPost(CoursePostEvent $event)
{
$course = $event->getCourse();
$courseData = $event->getCourseData();
$course->trySetLocalDataValue('code', $courseData->getCode());
}
}
```And add it to your `src/Resources/config/services.yaml`:
```yaml
App\EventSubscriber\CourseEventSubscriber:
autowire: true
autoconfigure: true
```