mirror of
https://github.com/lkddi/Xboard.git
synced 2026-04-14 11:20:53 +08:00
feat(plugin hook): add client.subscribe.unavailable hook
This commit is contained in:
@@ -44,7 +44,18 @@ class ClientController extends Controller
|
||||
$userService = new UserService();
|
||||
|
||||
if (!$userService->isAvailable($user)) {
|
||||
return response()->json(['message' => 'Account unavailable'], 403);
|
||||
HookManager::call('client.subscribe.unavailable');
|
||||
return response('', 200, ['Content-Type' => 'text/plain']);
|
||||
}
|
||||
|
||||
return $this->doSubscribe($request, $user);
|
||||
}
|
||||
|
||||
public function doSubscribe(Request $request, $user, $servers = null)
|
||||
{
|
||||
if ($servers === null) {
|
||||
$servers = ServerService::getAvailableServers($user);
|
||||
$servers = HookManager::filter('client.subscribe.servers', $servers, $user, $request);
|
||||
}
|
||||
|
||||
$clientInfo = $this->getClientInfo($request);
|
||||
@@ -55,9 +66,6 @@ class ClientController extends Controller
|
||||
$protocolClassName = app('protocols.manager')->matchProtocolClassName($clientInfo['flag'])
|
||||
?? General::class;
|
||||
|
||||
$servers = ServerService::getAvailableServers($user);
|
||||
$servers = HookManager::filter('client.subscribe.servers', $servers, $user, $request);
|
||||
|
||||
$serversFiltered = $this->filterServers(
|
||||
servers: $servers,
|
||||
allowedTypes: $requestedTypes,
|
||||
|
||||
Reference in New Issue
Block a user