Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/digital-blueprint/relay-base-organization-connector-campusonline-bundle
https://github.com/digital-blueprint/relay-base-organization-connector-campusonline-bundle
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/digital-blueprint/relay-base-organization-connector-campusonline-bundle
- Owner: digital-blueprint
- License: agpl-3.0
- Created: 2024-04-10T10:37:19.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-10-21T04:37:06.000Z (2 months ago)
- Last Synced: 2024-10-21T07:34:32.528Z (2 months ago)
- Language: PHP
- Homepage: https://packagist.org/packages/dbp/relay-base-organization-connector-campusonline-bundle
- Size: 868 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
# DbpRelayBaseOrganizationConnectorCampusonlineBundle
[GitLab](https://gitlab.tugraz.at/dbp/relay/dbp-relay-base-organization-connector-campusonline-bundle)## Integration into the Relay API Server
* Add the bundle package as a dependency:
```
composer require dbp/relay-base-organization-connector-campusonline-bundle
```* Add the bundle to your `config/bundles.php`:
```php
...
Dbp\Relay\BasePersonBundle\DbpRelayBaseOrganizationBundle::class => ['all' => true],
Dbp\Relay\BasePersonBundle\DbpRelayBaseOrganizationConnectorCampusonlineBundle::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_organization_connector_ldap.yaml` in the app with the following
content:```yaml
dbp_relay_base_organization_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
### OrganizationPostEvent
This event allows you to add additional attributes ("local data") to the `\Dbp\Relay\BaseOrganizationBundle\Entity\Organization` base-entity that you want to be included in responses to `Organization` entity requests.
Event subscribers receive a `\Dbp\Relay\RelayBaseOrganizationConnectorCampusonlineBundle\Event\OrganizationPostEvent` instance containing the `Organization` base-entity and the organization data provided by Campusonline.For example, create an event subscriber `src/EventSubscriber/OrganizationEventSubscriber.php`:
```php
'onPost',
];
}public function onPost(OrganizationPostEvent $event)
{
$organization = $event->getOrganization();
$organizationData = $event->getOrganizationUnitData();
$organization->trySetLocalDataValue('code', $organizationData->getCode());
}
}
```And add it to your `src/Resources/config/services.yaml`:
```yaml
App\EventSubscriber\OrganizationEventSubscriber:
autowire: true
autoconfigure: true
```