TokenLogin   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
c 1
b 0
f 0
lcom 1
cbo 5
dl 0
loc 21
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A performAction() 0 17 2
1
<?php
2
3
4
namespace App\Actions\User\Login;
5
6
7
use App\Lib\Helpers\JwtHelper;
8
use App\Lib\Helpers\TokenHelper;
9
use App\Lib\Slime\Exceptions\Http\UnAuthorizedException;
10
use App\Lib\Slime\RestAction\ApiAction;
11
use App\Models\Users\UserToken;
12
13
class TokenLogin extends ApiAction
14
{
15
16
    protected function performAction()
17
    {
18
        $userToken = UserToken::getByLoginToken(
19
            $this->args['token'],
20
            $this->request->getAttribute('ip_address')
21
        );
22
23
        if (empty($userToken)) {
24
            throw new UnAuthorizedException('Expired link');
25
        }
26
27
        $this->payload = [
28
            'token' => JwtHelper::encode(
29
                TokenHelper::getTokenPayload($userToken->user_id)
30
            )
31
        ];
32
    }
33
}