Добавить управление рефлектором и дашборд статистики
Этот коммит содержится в:
@@ -8,6 +8,7 @@ use Xlx\Domain\IdAllocator;
|
||||
use Xlx\Domain\PaymentService;
|
||||
use Xlx\Domain\RegistrationService;
|
||||
use Xlx\Domain\XlxdConfigFileService;
|
||||
use Xlx\Domain\XlxdRuntimeService;
|
||||
use Xlx\Domain\XlxdSettingsService;
|
||||
use Xlx\Domain\YooKassaClient;
|
||||
use Xlx\Support\Database;
|
||||
@@ -36,6 +37,10 @@ try {
|
||||
Response::json(['ok' => true, 'service' => 'xlx-panel']);
|
||||
}
|
||||
|
||||
if ($method === 'GET' && $path === '/api/dashboard/stats') {
|
||||
Response::json(['ok' => true, 'data' => (new XlxdRuntimeService($config))->dashboard($pdo)]);
|
||||
}
|
||||
|
||||
if ($method === 'GET' && $path === '/api/callsigns/check') {
|
||||
$paymentService = new PaymentService($config, new IdAllocator($config), new AccessCredentialService($config), new YooKassaClient($config));
|
||||
$service = new RegistrationService($config, $paymentService);
|
||||
@@ -130,6 +135,17 @@ try {
|
||||
Response::json(['ok' => true, 'data' => $service->save((string) ($input['file'] ?? ''), (string) ($input['content'] ?? ''))]);
|
||||
}
|
||||
|
||||
if ($method === 'GET' && $path === '/api/admin/xlxd/runtime') {
|
||||
Security::requireAdminToken($config);
|
||||
Response::json(['ok' => true, 'data' => (new XlxdRuntimeService($config))->dashboard($pdo)]);
|
||||
}
|
||||
|
||||
if ($method === 'POST' && $path === '/api/admin/xlxd/runtime') {
|
||||
Security::requireAdminToken($config);
|
||||
$input = Input::json();
|
||||
Response::json(['ok' => true, 'data' => (new XlxdRuntimeService($config))->control((string) ($input['action'] ?? ''))]);
|
||||
}
|
||||
|
||||
Response::error('Route not found.', 404);
|
||||
} catch (Throwable $throwable) {
|
||||
Response::error($throwable->getMessage(), 400);
|
||||
|
||||
Ссылка в новой задаче
Block a user