Feat: Add debug installer endpoint for diagnostics

This commit is contained in:
dyzulk
2026-01-08 09:39:28 +07:00
parent 2175615220
commit 7d0438e7fb
2 changed files with 34 additions and 2 deletions

View File

@@ -142,12 +142,43 @@ class RootCaApiController extends Controller
return response()->json([
'status' => 'success',
'message' => "Successfully synced everything ({$count} certs + bundles) to CDN (Mode: {$mode})."
'message' => "Successfully synced {$count} items to CDN (Mode: {$mode})."
]);
} catch (\Exception $e) {
return response()->json(['status' => 'error', 'message' => 'Synchronization failed: ' . $e->getMessage()], 500);
}
}
public function debugInstaller()
{
$this->authorizeAdminOrOwner();
try {
$cert = \App\Models\CaCertificate::latest()->first();
if (!$cert) return response()->json(['message' => 'No certs found']);
$installerService = app(\App\Services\CaInstallerService::class);
// Test Windows Generation
$winContent = $installerService->generateWindowsInstaller($cert);
// Test Linux Generation
$linuxContent = $installerService->generateLinuxInstaller($cert);
return response()->json([
'status' => 'success',
'message' => 'Installer generation test passed',
'data' => [
'windows_length' => strlen($winContent),
'linux_length' => strlen($linuxContent)
]
]);
} catch (\Throwable $e) {
return response()->json([
'status' => 'error',
'message' => 'Sync failed: ' . $e->getMessage()
'message' => $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine(),
'trace' => $e->getTraceAsString()
], 500);
}
}

View File

@@ -58,6 +58,7 @@ Route::middleware(['auth:sanctum'])->group(function () {
// CA Management (Admin)
Route::post('/ca/setup', [CertificateApiController::class, 'setupCa']);
Route::get('/admin/debug/installer', [RootCaApiController::class, 'debugInstaller']);
// Root CA Management (Admin Only)
Route::get('/admin/ca-certificates', [RootCaApiController::class, 'index']);