| 
<?php declare( strict_types=1 );require_once __DIR__ . '/../vendor/autoload.php';
 
 use App\Entity\BugReport;
 use App\Repository\BugReportRepository;
 use App\Helpers\DbQueryBuilderFactory;
 use App\Database\QueryBuilder;
 use App\Logger\Logger;
 use App\Exception\BadRequestException;
 
 if(isset($_POST, $_POST['delete'])){
 $reportId = $_POST['reportId'];
 $logger = new Logger;
 
 try{
 /** @var QueryBuilder $queryBuilder */
 $queryBuilder = DbQueryBuilderFactory::make();
 /** @var BugReportRepository $repository */
 $repository = new BugReportRepository($queryBuilder);
 /** @var BugReport $bugReport */
 $bugReport = $repository->find((int) $reportId);
 $repository->delete($bugReport);
 
 }catch (Throwable $exception){
 $logger->critical($exception->getMessage(), $_POST);
 throw new BadRequestException($exception->getMessage(), [$exception], 400);
 }
 
 $logger->info(
 'bug report deleted',
 ['id' => $bugReport->getId(), 'type' => $bugReport->getReportType(),]
 );
 $bugReports = $repository->findAll();
 }
 
 |