GithubHelp home page GithubHelp logo

digital-blueprint / relay-base-course-connector-campusonline-bundle Goto Github PK

View Code? Open in Web Editor NEW
0.0 4.0 0.0 960 KB

Base Symfony bundle for CampusOnline Course integration for the DBP Relay API Server

License: GNU Affero General Public License v3.0

PHP 100.00%
campus-online digital-blueprint relay-bundle symfony-bundle

relay-base-course-connector-campusonline-bundle's Introduction

DbpRelayBaseCourseConnectorCampusonlineBundle

GitHub | Packagist

Test

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:
composer require dbp/relay-base-course-connector-campusonline-bundle
  • Add the bundle to your config/bundles.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:

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
namespace App\EventSubscriber;

use Dbp\Relay\BaseCourseConnectorCampusonlineBundle\Event\CoursePostEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class CourseEventSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents(): array
    {
        return [
            CoursePostEvent::NAME => '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:

App\EventSubscriber\CourseEventSubscriber:
  autowire: true
  autoconfigure: true

relay-base-course-connector-campusonline-bundle's People

Contributors

lazka avatar pbek avatar renovate[bot] avatar tobiasgv avatar

Watchers

 avatar  avatar  avatar  avatar

relay-base-course-connector-campusonline-bundle's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): lock file maintenance

Detected dependencies

composer
composer.json
  • php >=8.1
  • api-platform/core ^2.7.11 || ^3.2
  • dbp/campusonline-api ^0.3.1
  • dbp/relay-base-course-bundle ^0.2.12
  • dbp/relay-core-bundle ^0.1.171
  • symfony/event-dispatcher ^5.4 || ^6.4
  • symfony/http-kernel ^5.4 || ^6.4
  • symfony/http-foundation ^5.4 || ^6.4
  • symfony/dependency-injection ^5.4 || ^6.4
  • symfony/config ^5.4 || ^6.4
  • symfony/framework-bundle ^5.4 || ^6.4
  • psr/log ^1.1.4 || ^2.0 || ^3.0
  • 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/http-client ^5.4 || ^6.4
  • symfony/monolog-bundle ^3.10
  • symfony/phpunit-bridge ^5.4 || ^6.4
  • vimeo/psalm ^5.22.2
github-actions
.github/workflows/test.yml
  • shivammathur/setup-php v2
  • actions/checkout v4
  • actions/cache v4
  • shivammathur/setup-php v2
  • actions/checkout v4
  • actions/cache v4

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.