feat: enable logging for contact form api endpoint

This commit is contained in:
Björn Fromme
2025-12-11 09:33:41 +01:00
parent 4d3a4b7c04
commit 72cd36a573
+15 -1
View File
@@ -7,6 +7,8 @@ use App\BusProNet\Exception\ApiClientException;
use App\BusProNet\Model\ContactFormSubmission; use App\BusProNet\Model\ContactFormSubmission;
use App\BusProNet\Model\Notification; use App\BusProNet\Model\Notification;
use App\BusProNet\Model\PersonalData; use App\BusProNet\Model\PersonalData;
use phpDocumentor\Reflection\PseudoTypes\IntegerRange;
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\Response; use Symfony\Component\HttpFoundation\Response;
@@ -18,7 +20,7 @@ use Symfony\Component\Security\Http\Attribute\IsGranted;
#[IsGranted('ROLE_OAUTH2_API')] #[IsGranted('ROLE_OAUTH2_API')]
class ContactFormController extends AbstractController class ContactFormController extends AbstractController
{ {
public function __construct(private readonly ApiClient $apiClient) public function __construct(private readonly ApiClient $apiClient, private readonly LoggerInterface $logger)
{ {
} }
@@ -31,12 +33,20 @@ class ContactFormController extends AbstractController
$result = $this->apiClient->createAddress($personalData); $result = $this->apiClient->createAddress($personalData);
if ($result instanceof Notification) { if ($result instanceof Notification) {
$this->logger->error('Unable to create address from contact form submission', [
'message' => $result->message,
]);
return new JsonResponse([ return new JsonResponse([
'success' => false, 'success' => false,
'message' => $result->message, 'message' => $result->message,
], Response::HTTP_CONFLICT); ], Response::HTTP_CONFLICT);
} }
$this->logger->info('Created address from contact form submission', [
'contactFormSubmission' => $dto,
]);
return $this->json([ return $this->json([
'success' => true, 'success' => true,
'addressId' => $result->addressId, 'addressId' => $result->addressId,
@@ -44,6 +54,10 @@ class ContactFormController extends AbstractController
'isNewRecord' => $result->isNewRecord, 'isNewRecord' => $result->isNewRecord,
], Response::HTTP_CREATED); ], Response::HTTP_CREATED);
} catch (ApiClientException $e) { } catch (ApiClientException $e) {
$this->logger->error('Unable to create address from contact form submission', [
'message' => $e->getMessage(),
]);
return new JsonResponse([ return new JsonResponse([
'success' => false, 'success' => false,
'message' => $e->getMessage(), 'message' => $e->getMessage(),