mirror of
https://github.com/lkddi/Xboard.git
synced 2026-04-24 03:57:27 +08:00
feat: optimize server.user.get hook definition
This commit is contained in:
@@ -23,7 +23,7 @@ class ShadowsocksTidalabController extends Controller
|
||||
ini_set('memory_limit', -1);
|
||||
$server = $request->input('node_info');
|
||||
Cache::put(CacheKey::get('SERVER_SHADOWSOCKS_LAST_CHECK_AT', $server->id), time(), 3600);
|
||||
$users = ServerService::getAvailableUsers($server->group_ids);
|
||||
$users = ServerService::getAvailableUsers($server);
|
||||
$result = [];
|
||||
foreach ($users as $user) {
|
||||
array_push($result, [
|
||||
|
||||
@@ -28,7 +28,7 @@ class TrojanTidalabController extends Controller
|
||||
return $this->fail([400, '节点不存在']);
|
||||
}
|
||||
Cache::put(CacheKey::get('SERVER_TROJAN_LAST_CHECK_AT', $server->id), time(), 3600);
|
||||
$users = ServerService::getAvailableUsers($server->group_id);
|
||||
$users = ServerService::getAvailableUsers($server);
|
||||
$result = [];
|
||||
foreach ($users as $user) {
|
||||
$user->trojan_user = [
|
||||
|
||||
@@ -35,7 +35,7 @@ class UniProxyController extends Controller
|
||||
$nodeType = $node->type;
|
||||
$nodeId = $node->id;
|
||||
Cache::put(CacheKey::get('SERVER_' . strtoupper($nodeType) . '_LAST_CHECK_AT', $nodeId), time(), 3600);
|
||||
$users = ServerService::getAvailableUsers($node->group_ids);
|
||||
$users = ServerService::getAvailableUsers($node);
|
||||
|
||||
$response['users'] = $users;
|
||||
|
||||
|
||||
@@ -65,10 +65,10 @@ class ServerService
|
||||
* @param array $groupIds
|
||||
* @return Collection
|
||||
*/
|
||||
public static function getAvailableUsers(array $groupIds)
|
||||
public static function getAvailableUsers(Server $node)
|
||||
{
|
||||
$users = User::toBase()
|
||||
->whereIn('group_id', $groupIds)
|
||||
->whereIn('group_id', $node->group_ids)
|
||||
->whereRaw('u + d < transfer_enable')
|
||||
->where(function ($query) {
|
||||
$query->where('expired_at', '>=', time())
|
||||
@@ -82,7 +82,7 @@ class ServerService
|
||||
'device_limit'
|
||||
])
|
||||
->get();
|
||||
return HookManager::filter('server.users.get', $users, $groupIds);
|
||||
return HookManager::filter('server.users.get', $users, $node);
|
||||
}
|
||||
|
||||
// 获取路由规则
|
||||
|
||||
Reference in New Issue
Block a user