feat: log pickups planning data api calls
This commit is contained in:
@@ -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']);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user