Completed
Push — master ( cfed93...a79400 )
by Phecho
03:52
created

RemoveProjectTeamCommandHandler::handle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 13
rs 9.4286
cc 1
eloc 6
nc 1
nop 1
1
<?php
2
3
/*
4
 * This file is part of Gitamin.
5
 * 
6
 * Copyright (C) 2015-2016 The Gitamin Team
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Gitamin\Handlers\Commands\ProjectNamespace;
13
14
use Gitamin\Commands\ProjectTeam\RemoveProjectTeamCommand;
15
use Gitamin\Events\ProjectTeam\ProjectTeamWasRemovedEvent;
16
17
class RemoveProjectTeamCommandHandler
18
{
19
    /**
20
     * Handle the remove project team command.
21
     *
22
     * @param \Gitamin\Commands\ProjectTeam\RemoveProjectTeamCommand $command
23
     *
24
     * @return void
25
     */
26
    public function handle(RemoveProjectTeamCommand $command)
27
    {
28
        $team = $command->team;
29
30
        event(new ProjectTeamWasRemovedEvent($team));
31
32
        // Remove the team id from all project.
33
        $team->projects->map(function ($project) {
34
            $project->update(['team_id' => 0]);
35
        });
36
37
        $team->delete();
38
    }
39
}
40