Passed
Push — master ( 5d1dbf...ac3204 )
by Paul
04:29
created

TokenGuard   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 21
rs 10
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A user() 0 12 3
A __construct() 0 3 1
1
<?php
2
3
namespace Devpri\Tinre\Guards;
4
5
use Devpri\Tinre\Models\AccessToken;
6
use Illuminate\Http\Request;
7
8
class TokenGuard
9
{
10
    protected $request;
11
    
12
    public function __construct(Request $request)
13
    {
14
        $this->request = $request;
15
    }
16
17
    public function user()
18
    {        
19
        if ($token = $this->request->bearerToken()) {
20
21
            $accessToken = AccessToken::findToken($token);
22
23
            if (! $accessToken) {
24
                return;
25
            }
26
27
            return $accessToken->user->withAccessToken(
28
                tap($accessToken->forceFill(['last_used_at' => now()]))->save()
29
            );
30
        }
31
    }
32
}