From b244c5686294255c5bc958c6414a8f5706165059 Mon Sep 17 00:00:00 2001
From: Alejandro Celaya <alejandro@alejandrocelaya.com>
Date: Sun, 28 Feb 2021 16:41:52 +0100
Subject: [PATCH] Updated to endroid/qr-code 4

---
 composer.json                           |  4 ++--
 module/Core/src/Action/QrCodeAction.php | 13 +++++++------
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/composer.json b/composer.json
index d544ac41..548d5e0c 100644
--- a/composer.json
+++ b/composer.json
@@ -21,7 +21,7 @@
         "doctrine/cache": "^1.9",
         "doctrine/migrations": "^3.0.2",
         "doctrine/orm": "2.8.1 || ^2.8.3",
-        "endroid/qr-code": "dev-master#0f1613a as 3.10",
+        "endroid/qr-code": "^4.0",
         "geoip2/geoip2": "^2.9",
         "guzzlehttp/guzzle": "^7.0",
         "happyr/doctrine-specification": "^2.0",
@@ -46,7 +46,7 @@
         "predis/predis": "^1.1",
         "pugx/shortid-php": "^0.7",
         "ramsey/uuid": "^3.9",
-        "shlinkio/shlink-common": "^3.5",
+        "shlinkio/shlink-common": "^3.6",
         "shlinkio/shlink-config": "^1.0",
         "shlinkio/shlink-event-dispatcher": "^2.1",
         "shlinkio/shlink-importer": "^2.2",
diff --git a/module/Core/src/Action/QrCodeAction.php b/module/Core/src/Action/QrCodeAction.php
index 3209d651..1b2b5012 100644
--- a/module/Core/src/Action/QrCodeAction.php
+++ b/module/Core/src/Action/QrCodeAction.php
@@ -4,7 +4,7 @@ declare(strict_types=1);
 
 namespace Shlinkio\Shlink\Core\Action;
 
-use Endroid\QrCode\QrCode;
+use Endroid\QrCode\Builder\Builder;
 use Endroid\QrCode\Writer\SvgWriter;
 use Psr\Http\Message\ResponseInterface as Response;
 use Psr\Http\Message\ServerRequestInterface as Request;
@@ -50,16 +50,17 @@ class QrCodeAction implements MiddlewareInterface
         }
 
         $query = $request->getQueryParams();
-        $qrCode = new QrCode($this->stringifier->stringify($shortUrl));
-        $qrCode->setSize($this->resolveSize($request, $query));
-        $qrCode->setMargin($this->resolveMargin($query));
+        $qrCode = Builder::create()
+            ->data($this->stringifier->stringify($shortUrl))
+            ->size($this->resolveSize($request, $query))
+            ->margin($this->resolveMargin($query));
 
         $format = $query['format'] ?? 'png';
         if ($format === 'svg') {
-            $qrCode->setWriter(new SvgWriter());
+            $qrCode->writer(new SvgWriter());
         }
 
-        return new QrCodeResponse($qrCode);
+        return new QrCodeResponse($qrCode->build());
     }
 
     private function resolveSize(Request $request, array $query): int