linkorb / org-sync

v1.1.0 2019-08-12 13:56 UTC

This package is auto-updated.

Last update: 2024-09-22 23:35:36 UTC


README

从数组中加载组织结构(用户 + 组)。将此数据推送到多个适配器

在此处,“推”意味着“创建或更新或删除”。当用户或组存在于后端服务中,但不在本地组织对象中时,该对象也应从远程服务中删除。

适配器列表

安装

使用以下命令安装最新版本

$ composer require linkorb/org-sync

用法

LinkORB\OrgSync\SynchronizationMediator\SynchronizationMediator 执行基本同步操作,例如

  • 同步组织
  • 同步用户
  • 同步组
  • 设置密码
  • 拉取组织(计划中)
$organization = $this->synchronizationMediator->initialize(
    $targetsArray,
    $organizationArray
);

$this->synchronizationMediator->pushOrganization($organization);

示例

组织结构
Array
(
    [name] => Organization name
    [users] => Array
        (
            [username] => Array
                (
                    [email] => user@email
                    [displayName] => User Name
                    [avatar] => https://example.com/user_avatar.gif
                    [properties] => Array
                        (
                            [key] => value
                        )
                )
        )
    [groups] => Array
        (
            [group name] => Array
                    [parent] => parent group name
                    [displayName] => Group
                    [avatar] => https://example.com/team_avatar.png
                    [members] => Array
                        (
                            [0] => member1
                            [1] => member2
                        )
                    [properties] => Array
                        (
                            [key] => value
                        )
                    [targets] => Array
                        (
                            [0] => target name
                        )
                )
        )
)

groups下的members和/或targets部分为空表示该组的所有members和/或targets

目标结构
Array
(
    [targetName] => Array
        (
            [type] => targetType
            [baseUrl] => http://172.17.0.1:8080/engine-rest/
        )
)

集成