feat: Реализован API для удаления клиентов, добавлен отладочный скрипт статистики XRay и метод InstallProtocolManager::install сделан публичным.

This commit is contained in:
infosave2007
2026-01-27 16:15:00 +03:00
parent 7254bd1547
commit 0e144f2d01
4 changed files with 74 additions and 1 deletions
+33
View File
@@ -2199,6 +2199,39 @@ Router::post('/api/clients/{id}/restore', function ($params) {
}
});
// API: Delete client
Router::delete('/api/clients/{id}/delete', function ($params) {
header('Content-Type: application/json');
$user = JWT::requireAuth();
if (!$user)
return;
$clientId = (int) $params['id'];
try {
$client = new VpnClient($clientId);
$clientData = $client->getData();
// Check ownership
if ($clientData['user_id'] != $user['id'] && ($user['role'] ?? '') !== 'admin') {
http_response_code(403);
echo json_encode(['error' => 'Forbidden']);
return;
}
if ($client->delete()) {
echo json_encode(['success' => true, 'message' => 'Client deleted']);
} else {
http_response_code(500);
echo json_encode(['error' => 'Failed to delete client']);
}
} catch (Exception $e) {
http_response_code(404);
echo json_encode(['error' => 'Client not found']);
}
});
// API: Get server metrics
Router::get('/api/servers/{id}/metrics', function ($params) {
header('Content-Type: application/json');