feat: add stub implementation for image

QRCodeFromEntity

fix: base64 StubQRCodeGenerator
This commit is contained in:
2024-01-17 11:49:52 +01:00
parent 9e96c007bd
commit 64a07b232a
8 changed files with 75 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Controller;
use App\Entity\QRCode\QRCode;
use App\Form\Type\QRCodeType;
use App\Service\QRCodeGeneratorInterface;
use App\Service\QRCodeQROptionsProviderInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
@@ -11,14 +12,16 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class IndexController extends AbstractController {
public function __construct(private readonly QRCodeQROptionsProviderInterface $qrCodeQROptionsFactory) {}
#[Route('/', name: 'homepage')]
public function indexAction(Request $request, QRCodeQROptionsProviderInterface $qrCodeQROptionsFactory): Response
public function indexAction(
Request $request,
QRCodeGeneratorInterface $qrCodeGenerator,
): Response
{
$qrCode = new QRCode(
codeQROptions: $qrCodeQROptionsFactory->getDefault()
);
$qrCodeImage = null;
$qrCode = $this->createQrCodeEntity();
$form = $this->createForm(QRCodeType::class, $qrCode);
@@ -26,13 +29,24 @@ class IndexController extends AbstractController {
$form->submit($request->request->all($form->getName()));
if ($form->isSubmitted() && $form->isValid()) {
// TODO: call service to generate
print_r($qrCode);
/* Puvodne jsem premyslel nad redirectem a ulozenim obrazku
do session, nicmene u takovehleho typu aplikace me to prijde naopak kontraproduktivni.
a zadani o tom mlci. Navic v pripade ze aplikace bude provozovana ve vice instancich
by se musela resit memcache, redis... */
$qrCodeImage = $qrCodeGenerator->generateQRCodeFromEntity($qrCode);
$form = $this->createForm(QRCodeType::class, $this->createQrCodeEntity());
}
}
return $this->render('index/homepage.html.twig', [
'form' => $form
'form' => $form,
'qrCodeImage' => $qrCodeImage
]);
}
private function createQrCodeEntity(): QRCode {
return new QRCode(
codeQROptions: $this->qrCodeQROptionsFactory->getDefault()
);
}
}