Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
28.57% covered (danger)
28.57%
2 / 7
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
Upload
28.57% covered (danger)
28.57%
2 / 7
50.00% covered (danger)
50.00%
1 / 2
6.28
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 __invoke
16.67% covered (danger)
16.67%
1 / 6
0.00% covered (danger)
0.00%
0 / 1
4.31
1<?php
2
3declare(strict_types=1);
4
5namespace App\Controller\Deposits;
6
7use App\Controller\BaseController;
8use App\Service\DepositImporter;
9use Symfony\Component\HttpFoundation\RedirectResponse;
10use Symfony\Component\HttpFoundation\Request;
11use Symfony\Component\Routing\Attribute\Route;
12use Symfony\Component\Security\Http\Attribute\IsGranted;
13
14#[IsGranted('ROLE_ADMIN')]
15#[Route(path: '/deposits/upload', name: 'deposits_upload', methods: ['GET', 'POST'])]
16class Upload extends BaseController
17{
18    public function __construct(private readonly DepositImporter $importer)
19    {
20    }
21
22    public function __invoke(
23        Request $request,
24    ): RedirectResponse {
25        $insertCount = $this->importer->importFromRequest($request);
26
27        $this->addFlash(
28            $insertCount !== 0 ? 'success' : 'warning',
29            'Depositos insertados: ' . $insertCount
30        );
31
32        return $this->redirectToRoute('deposits_index');
33    }
34}