linkorb / org-sync
组织同步库
v1.1.0
2019-08-12 13:56 UTC
Requires
- php: ^7.2
- ext-json: *
- doctrine/annotations: ^1.6
- knplabs/github-api: ^2.11
- php-http/guzzle6-adapter: ^1.1
- symfony/cache: ^4.3
- symfony/property-access: ^4.3
- symfony/property-info: ^4.3
- symfony/serializer: ^4.3
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-22 23:35:36 UTC
README
从数组中加载组织结构(用户 + 组)。将此数据推送到多个适配器
在此处,“推”意味着“创建或更新或删除”。当用户或组存在于后端服务中,但不在本地组织对象中时,该对象也应从远程服务中删除。
适配器列表
- GitHub(工作中)
- Camunda
- LDAP(计划中)
- MatterMost(计划中)
安装
使用以下命令安装最新版本
$ 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/ ) )