Get::execute()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 28
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 18
nc 4
nop 2
dl 0
loc 28
rs 9.6666
c 0
b 0
f 0
1
<?php namespace Comodojo\Extender\Socket\Commands\Scheduler;
2
3
use \Comodojo\Daemon\Daemon;
4
use \Comodojo\Extender\Schedule\Manager;
5
use \Comodojo\Extender\Socket\Messages\Task\Request as TaskRequestMessage;
6
use \Comodojo\Extender\Socket\Messages\Scheduler\Schedule as ScheduleMessage;
7
use \Comodojo\RpcServer\Request\Parameters;
8
use \Comodojo\Exception\RpcException;
9
use \Exception;
10
11
class Get {
12
13
    public static function execute(Parameters $params, Daemon $daemon) {
14
15
        $manager = new Manager(
16
            $daemon->getConfiguration(),
0 ignored issues
show
Bug introduced by
The method getConfiguration() does not exist on Comodojo\Daemon\Daemon. It seems like you code against a sub-type of Comodojo\Daemon\Daemon such as Comodojo\Extender\ExtenderDaemon. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

16
            $daemon->/** @scrutinizer ignore-call */ 
17
                     getConfiguration(),
Loading history...
17
            $daemon->getLogger(),
18
            $daemon->getEvents()
19
        );
20
21
        $id = $params->get('id');
22
        $name = $params->get('name');
23
24
        $schedule = empty($id) ? $manager->getByName($name) :
25
                $manager->get($id);
26
27
        if ( empty($schedule) ) throw new RpcException("No record could be found", -31002);
28
29
        $request = $schedule->getRequest();
30
31
        $schedule_message = new ScheduleMessage();
32
        $schedule_message->setId($schedule->getId());
33
        $schedule_message->setName($schedule->getName());
34
        $schedule_message->setDescription($schedule->getDescription());
35
        $schedule_message->setExpression((string)$schedule->getExpression());
36
        $schedule_message->setEnabled($schedule->getEnabled());
37
38
        $request_message = $request->convertToMessage();
39
40
        return [$schedule_message->export(), $request_message->export()];
41
42
    }
43
44
}
45