fix: alerte critique si 0 zones ingérées + lastIngestionJob dans /api/status

This commit is contained in:
Gwadaking
2026-04-09 00:14:34 -04:00
parent e5e835298e
commit 544ba24af2
2 changed files with 37 additions and 5 deletions

View File

@@ -17,17 +17,31 @@ class StatusController extends AbstractController
public function __invoke(): JsonResponse
{
$row = $this->connection->fetchAssociative(
$obs = $this->connection->fetchAssociative(
'SELECT detected_at, source, coverage_area
FROM sargassum_observation
ORDER BY detected_at DESC LIMIT 1'
);
$job = $this->connection->fetchAssociative(
"SELECT status, source, error_message, created_at, processed_at, retry_count
FROM data_ingestion_job
ORDER BY created_at DESC LIMIT 1"
);
return $this->json([
'lastObservation' => $row !== false ? [
'detectedAt' => $row['detected_at'],
'source' => $row['source'],
'coverageKm2' => $row['coverage_area'] !== null ? (float) $row['coverage_area'] : null,
'lastObservation' => $obs !== false ? [
'detectedAt' => $obs['detected_at'],
'source' => $obs['source'],
'coverageKm2' => $obs['coverage_area'] !== null ? (float) $obs['coverage_area'] : null,
] : null,
'lastIngestionJob' => $job !== false ? [
'status' => $job['status'],
'source' => $job['source'],
'error' => $job['error_message'],
'startedAt' => $job['created_at'],
'finishedAt' => $job['processed_at'],
'retryCount' => (int) $job['retry_count'],
] : null,
]);
}