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 App\BusProNet\XmlLoader\PickupLoader;
|
||||||
use League\Flysystem\FilesystemException;
|
use League\Flysystem\FilesystemException;
|
||||||
use League\Flysystem\FilesystemOperator;
|
use League\Flysystem\FilesystemOperator;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
@@ -23,6 +24,7 @@ class PickupController extends AbstractController
|
|||||||
private readonly PickupLoader $xmlLoader,
|
private readonly PickupLoader $xmlLoader,
|
||||||
private readonly PickupPlanningTransformer $planningTransformer,
|
private readonly PickupPlanningTransformer $planningTransformer,
|
||||||
private readonly FilesystemOperator $jsonExport,
|
private readonly FilesystemOperator $jsonExport,
|
||||||
|
private readonly LoggerInterface $logger,
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,7 +69,12 @@ class PickupController extends AbstractController
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$payload = $request->toArray();
|
$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);
|
return $this->json(['error' => 'Invalid JSON payload'], Response::HTTP_BAD_REQUEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,10 +82,19 @@ class PickupController extends AbstractController
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
$this->jsonExport->write(self::PLANNING_FILE, json_encode($transformed, \JSON_THROW_ON_ERROR));
|
$this->jsonExport->write(self::PLANNING_FILE, json_encode($transformed, \JSON_THROW_ON_ERROR));
|
||||||
} catch (FilesystemException|\JsonException) {
|
} catch (FilesystemException|\JsonException $e) {
|
||||||
return $this->json(['error' => 'Failed to write planning data'], Response::HTTP_INTERNAL_SERVER_ERROR);
|
$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']);
|
return $this->json(['status' => 'ok']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user