feat: log pickups planning data api calls

This commit is contained in:
Björn Fromme
2026-03-16 12:00:56 +01:00
parent e3809bd930
commit 80c81c11fb
+19 -3
View File
@@ -6,6 +6,7 @@ use App\BusProNet\DataProcessor\PickupPlanningTransformer;
use App\BusProNet\XmlLoader\PickupLoader;
use League\Flysystem\FilesystemException;
use League\Flysystem\FilesystemOperator;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
@@ -23,6 +24,7 @@ class PickupController extends AbstractController
private readonly PickupLoader $xmlLoader,
private readonly PickupPlanningTransformer $planningTransformer,
private readonly FilesystemOperator $jsonExport,
private readonly LoggerInterface $logger,
) {
}
@@ -67,7 +69,12 @@ class PickupController extends AbstractController
{
try {
$payload = $request->toArray();
} catch (\JsonException) {
} catch (\JsonException $e) {
$this->logger->error('Failed to update pickups planning data', [
'message' => $e->getMessage(),
'payload' => (string) $request->getContent(),
]);
return $this->json(['error' => 'Invalid JSON payload'], Response::HTTP_BAD_REQUEST);
}
@@ -75,10 +82,19 @@ class PickupController extends AbstractController
try {
$this->jsonExport->write(self::PLANNING_FILE, json_encode($transformed, \JSON_THROW_ON_ERROR));
} catch (FilesystemException|\JsonException) {
return $this->json(['error' => 'Failed to write planning data'], Response::HTTP_INTERNAL_SERVER_ERROR);
} catch (FilesystemException|\JsonException $e) {
$this->logger->error('Failed to update pickups planning data', [
'message' => $e->getMessage(),
'data' => $transformed,
]);
return $this->json(['error' => 'Failed to write pickups planning data'], Response::HTTP_INTERNAL_SERVER_ERROR);
}
$this->logger->info('Successfully updated pickups planning data', [
'data' => $transformed,
]);
return $this->json(['status' => 'ok']);
}
}