feat: 添加 user_update hook 事件并重构用户生命周期 hook
- 新增 user_update 事件,当用户基本信息变更时触发 - 扩展 dispatchUserHook payload 包含完整用户信息(tel、profession、birthday、address、introduction、departments) - 将 user_onboard/user_offboard/user_update hook 触发逻辑集中到 UserObserver - 区分 profile_update(用户自己修改)和 admin_update(管理员修改)事件类型 - 修复 User::reg() 中 Manticore 索引同步遗漏问题 - 排除机器人账号的 hook 触发
This commit is contained in:
@@ -37,7 +37,6 @@ use App\Models\UserRecentItem;
|
||||
use App\Models\UserTag;
|
||||
use App\Models\UserTagRecognition;
|
||||
use App\Models\UserAppSort;
|
||||
use App\Module\Apps;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\UserEmailVerification;
|
||||
use App\Module\AgoraIO\AgoraTokenGenerator;
|
||||
@@ -1104,8 +1103,6 @@ class UsersController extends AbstractController
|
||||
$upArray = [];
|
||||
$upLdap = [];
|
||||
$transferUser = null;
|
||||
$hookAction = '';
|
||||
$hookEvent = '';
|
||||
switch ($type) {
|
||||
case 'setadmin':
|
||||
$msg = '设置成功';
|
||||
@@ -1187,16 +1184,12 @@ class UsersController extends AbstractController
|
||||
return Base::retError('交接人已离职,请选择另一个交接人');
|
||||
}
|
||||
}
|
||||
$hookAction = 'user_offboard';
|
||||
$hookEvent = 'offboard';
|
||||
break;
|
||||
|
||||
case 'cleardisable':
|
||||
$msg = '操作成功';
|
||||
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
|
||||
$upArray['disable_at'] = null;
|
||||
$hookAction = 'user_onboard';
|
||||
$hookEvent = 'restore';
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
@@ -1315,9 +1308,6 @@ class UsersController extends AbstractController
|
||||
}
|
||||
});
|
||||
}
|
||||
if ($hookAction) {
|
||||
Apps::dispatchUserHook($userInfo, $hookAction, $hookEvent);
|
||||
}
|
||||
//
|
||||
return Base::retSuccess($msg, $userInfo);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user