Completed
Push — master ( 3f0650...a210b6 )
by Ryan
02:07
created

HandleActivateRequest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 4
c 2
b 0
f 0
lcom 0
cbo 2
dl 0
loc 35
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B handle() 0 22 4
1
<?php namespace Anomaly\UsersModule\User\Register\Command;
2
3
use Anomaly\UsersModule\User\Contract\UserRepositoryInterface;
4
use Anomaly\UsersModule\User\UserActivator;
5
use Illuminate\Contracts\Bus\SelfHandling;
6
use Illuminate\Contracts\Encryption\Encrypter;
7
use Illuminate\Http\Request;
8
9
/**
10
 * Class HandleActivateRequest
11
 *
12
 * @link          http://anomaly.is/streams-platform
13
 * @author        AnomalyLabs, Inc. <[email protected]>
14
 * @author        Ryan Thompson <[email protected]>
15
 * @package       Anomaly\UsersModule\User\Register\Command
16
 */
17
class HandleActivateRequest implements SelfHandling
18
{
19
20
    /**
21
     * Handle the command.
22
     *
23
     * @param UserRepositoryInterface $users
24
     * @param UserActivator           $activator
25
     * @param Encrypter               $encrypter
26
     * @param Request                 $request
27
     * @return bool
28
     */
29
    public function handle(
30
        UserRepositoryInterface $users,
31
        UserActivator $activator,
32
        Encrypter $encrypter,
33
        Request $request
34
    ) {
35
        $code  = $request->get('code');
36
        $email = $request->get('email');
37
38
        if (!$code || !$email) {
39
            return false;
40
        }
41
42
        $code  = $encrypter->decrypt($code);
43
        $email = $encrypter->decrypt($email);
44
45
        if (!$user = $users->findByEmail($email)) {
46
            return false;
47
        }
48
49
        return $activator->activate($user, $code);
50
    }
51
}
52