Completed
Push — develop ( e70242...efddeb )
by Mathias
65:39 queued 53:48
created

JobEntityDependencyListener::dependencyCheck()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 17
rs 9.7
c 0
b 0
f 0
cc 3
nc 3
nop 1
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @license MIT
7
 * @copyright  2013 - 2018 Cross Solution <http://cross-solution.de>
8
 */
9
  
10
/** */
11
namespace Jobs\Listener;
12
13
use Core\Service\EntityEraser\AbstractDependenciesListener;
14
use Core\Service\EntityEraser\DependencyResult;
15
use Core\Service\EntityEraser\DependencyResultEvent;
16
use Jobs\Entity\Job;
17
18
/**
19
 * Listener checks the dependencies of a Job entity in the Jobs module itself.
20
 *
21
 * Which are only its snapshots at the moment.
22
 * 
23
 * @author Mathias Gelhausen <[email protected]>
24
 * @todo write test 
25
 */
26
class JobEntityDependencyListener extends AbstractDependenciesListener
27
{
28
    protected $entityClasses = [ Job::class ];
29
30
    protected function dependencyCheck(DependencyResultEvent $event)
31
    {
32
        /* @var \Jobs\Entity\Job $job */
33
        $job = $event->getEntity();
34
        $entities = $job->getSnapshots();
35
36
        if (count($entities)) {
37
            return [
38
                'Jobs/Snapshots',
39
                $entities,
40
                [
41
                    'description' => $event->isDelete() ? 'were removed.' : 'These snapshots will be removed:',
42
                    'mode' => DependencyResult::MODE_DELETE
43
                ]
44
            ];
45
        }
46
    }
47
}
48