StatusService   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 4
Bugs 0 Features 0
Metric Value
eloc 14
dl 0
loc 30
rs 10
c 4
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A discoveryStatus() 0 20 2
1
<?php
2
3
namespace ControleOnline\Service;
4
5
use ControleOnline\Entity\Status;
6
use Doctrine\ORM\EntityManagerInterface;
0 ignored issues
show
Bug introduced by
The type Doctrine\ORM\EntityManagerInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
8
class StatusService
9
{
10
11
12
    protected $request;
13
    public function __construct(
14
        private EntityManagerInterface $manager,
15
16
    ) {}
17
18
    public function discoveryStatus($realStatus, $name, $context): Status
19
    {
20
        $status =  $this->manager->getRepository(Status::class)->findOneBy([
21
            'realStatus' => $realStatus,
22
            'status' => $name,
23
            'context' => $context,
24
        ]);
25
26
        if (!$status) {
27
            $status = new Status();
28
            $status->setRealStatus($realStatus);
29
            $status->setStatus($name);
30
            $status->setContext($context);
31
            
32
            $this->manager->persist($status);
33
            $this->manager->flush();
34
        }
35
36
37
        return $status;
38
    }
39
}
40