Handling the progress sent from the frontend to the controller.

This commit is contained in:
krzysiej
2022-06-08 13:09:54 +02:00
parent 4b22850ac9
commit b1fa15b6f4
7 changed files with 82 additions and 14 deletions

View File

@@ -8,7 +8,7 @@ use App\Form\BookType;
use App\Form\FileType;
use App\Form\SearchType;
use App\Repository\BookRepository;
use App\Service\FileService;
use App\Service\ProgressService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\HttpFoundation\JsonResponse;
@@ -29,7 +29,7 @@ class BookController extends AbstractController
}
#[Route('/new', name: 'app_book_new', methods: ['GET', 'POST'])]
public function new(Request $request, BookRepository $bookRepository, FileService $fileService): Response
public function new(Request $request, BookRepository $bookRepository, ProgressService $fileService): Response
{
$book = new Book();
$form = $this->createForm(BookType::class, $book);
@@ -95,7 +95,7 @@ class BookController extends AbstractController
public function show(
Book $book,
Request $request,
FileService $fileService
ProgressService $fileService
): Response {
$fileForm = $this->createForm(FileType::class);
$fileForm->handleRequest($request);
@@ -124,7 +124,7 @@ class BookController extends AbstractController
Request $request,
Book $book,
BookRepository $bookRepository,
FileService $fileService
ProgressService $fileService
): Response {
$form = $this->createForm(BookType::class, $book);
$form->handleRequest($request);
@@ -162,7 +162,7 @@ class BookController extends AbstractController
Request $request,
Book $book,
BookRepository $bookRepository,
FileService $fileService
ProgressService $fileService
): Response {
if ($this->isCsrfTokenValid('delete' . $book->getId(), $request->request->get('_token'))) {
$fileService->removeFiles($book->getFiles());

View File

@@ -2,13 +2,10 @@
namespace App\Controller;
use App\Entity\Book;
use App\Entity\File;
use App\Repository\FileRepository;
use App\Service\FileService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

View File

@@ -0,0 +1,24 @@
<?php
namespace App\Controller;
use App\Service\ProgressService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
#[Route('/progress')]
class ProgressController extends AbstractController
{
#[Route('/update', name: 'app_progress_update', methods: ['POST'])]
public function index(Request $request, ProgressService $progressService): JsonResponse
{
$data = $request->toArray();
$progress = $progressService->updateProgress($data['bookId'], $data['progress']);
return $this->json([
'bookId' => $progress->getBook()->getId(),
'progress' => $progress->getPages(),
]);
}
}