EditTaskCommand   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 49
rs 10
wmc 7

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
B handle() 0 17 6
1
<?php
2
3
namespace App\Console\Commands;
4
5
use App\Http\Requests\Traits\AsksForTasks;
6
use App\Task;
7
use Illuminate\Console\Command;
8
use Mockery\Exception;
9
10
class EditTaskCommand extends Command
11
{
12
    use AsksForTasks;
13
    /**
14
     * The name and signature of the console command.
15
     *
16
     * @var string
17
     */
18
    protected $signature = 'task:edit {id? : The Task id} {name? : The Task name} {user_id? : The user id} {description? : The Task description}';
19
20
    /**
21
     * The console command description.
22
     *
23
     * @var string
24
     */
25
    protected $description = 'Edit an existing task.';
26
27
    /**
28
     * Create a new command instance.
29
     *
30
     * @return void
31
     */
32
    public function __construct()
33
    {
34
        parent::__construct();
35
    }
36
37
    /**
38
     * Execute the console command.
39
     *
40
     * @return mixed
41
     */
42
    public function handle()
43
    {
44
        //si ens passen l'id, l'agafem, però sino mostrem tots els id amb l'ajuda del Trait.
45
        $id = $this->argument('id') ? $this->argument('id') : $this->askForTasks();
46
47
        $task = Task::findOrFail($id);
48
49
        try {
50
            $task->update([
51
                'name'        => $this->argument('name') ? $this->argument('name') : $this->ask('Task name?'),
52
                'user_id'     => $this->argument('user_id') ? $this->argument('user_id') : $this->ask('User id?'),
53
                'description' => $this->argument('description') ? $this->argument('description') : $this->ask('Task description?'),
54
            ]);
55
        } catch (Exception $e) {
56
            $this->error('error'.$e);
57
        }
58
        $this->info('Task has been edited succesfully');
59
    }
60
}
61