<?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(); 
} 
 
 |