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

HasApiTokens::withAccessToken()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 5
rs 10
1
<?php
2
3
namespace Devpri\Tinre\Traits;
4
5
use Illuminate\Support\Str;
6
7
trait HasApiTokens
8
{
9
    public $accessToken;
10
11
    public function tokens()
12
    {
13
        return $this->hasMany('Devpri\Tinre\Models\AccessToken');
0 ignored issues
show
Bug introduced by
It seems like hasMany() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

13
        return $this->/** @scrutinizer ignore-call */ hasMany('Devpri\Tinre\Models\AccessToken');
Loading history...
14
    }
15
    
16
    public function createToken(string $name)
17
    {
18
        $plainTextToken = Str::random(100);
19
20
        $token = $this->tokens()->create([
21
            'name' => $name,
22
            'token' => hash('sha256', $plainTextToken),
23
        ]);
24
25
        $token->plain_text_token = $plainTextToken;
26
27
        return $token;
28
    }
29
30
    public function withAccessToken($accessToken)
31
    {
32
        $this->accessToken = $accessToken;
33
34
        return $this;
35
    }
36
}
37