承接 dbp/relay-base-organization-connector-campusonline-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dbp/relay-base-organization-connector-campusonline-bundle

最新稳定版本:v0.1.23

Composer 安装命令:

composer require dbp/relay-base-organization-connector-campusonline-bundle

包简介

A template bundle for the Relay API gateway

README 文档

README

GitLab

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:
...
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:

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

use Dbp\Relay\BaseOrganizationConnectorCampusonlineBundle\Event\OrganizationPostEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

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

App\EventSubscriber\OrganizationEventSubscriber:
  autowire: true
  autoconfigure: true

统计信息

  • 总下载量: 6.98k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: AGPL-3.0-or-later
  • 更新时间: 2024-04-10