refs #1271 fix status that dont allow return status when is not installed oglives

oglive-status-bug
Luis Gerardo Romero Garcia 2025-01-13 10:30:19 +01:00
parent b5426fd188
commit eb3fc2c9d1
1 changed files with 22 additions and 8 deletions

View File

@ -140,11 +140,23 @@ public function getStatus(): Response
$ogLiveConfigResult = $ogLiveResponse['output'];
$ogLiveExitCode = $ogLiveResponse['exitCode'];
$defaultOglive = null;
$installedOglives = [];
$ogLiveError = null;
if ($ogLiveExitCode !== 0) {
return new JsonResponse(
['error' => 'FAILED_TO_RETRIEVE_OGLIVE_CONFIGURATION', 'details' => $ogLiveConfigResult['error'] ?? 'Unknown error'],
Response::HTTP_INTERNAL_SERVER_ERROR
);
// Capturar el error, pero continuar la ejecución
$ogLiveError = [
'error' => 'FAILED_TO_RETRIEVE_OGLIVE_CONFIGURATION',
'details' => $ogLiveConfigResult['error'] ?? 'Unknown error'
];
} else {
// Extraer datos si el comando fue exitoso
$defaultOglive = $ogLiveConfigResult['default_oglive'] ?? null;
$installedOglives = $ogLiveConfigResult['installed_ogLives'] ?? [];
if (empty($installedOglives)) {
$installedOglives = ['message' => 'No installed ogLives found'];
}
}
// Llamar a oglivecli para obtener el estado de los servicios
@ -164,10 +176,7 @@ public function getStatus(): Response
$installedOglives = $ogLiveConfigResult['installed_ogLives'] ?? [];
if ($defaultOglive === null || empty($installedOglives)) {
return new JsonResponse(
['error' => 'NOT_FOUND', 'message' => 'No default or installed ogLives found.'],
Response::HTTP_NOT_FOUND
);
$installedOglives = ['message' => 'No installed ogLives found'];
}
$response = [
@ -180,6 +189,11 @@ public function getStatus(): Response
]
]; // Formatear la respuesta final con todos los datos
// Incluir el error de oglive si existe
if ($ogLiveError !== null) {
$response['message']['oglive_error'] = $ogLiveError;
}
return new JsonResponse($response, Response::HTTP_OK);
}