OAuthController   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A logout() 0 9 2
A userByToken() 0 22 4
1
<?php
2
3
4
namespace App\Http\Controllers\Api;
5
6
use App\User;
7
use Illuminate\Http\Request;
8
use Illuminate\Routing\Controller as BaseController;
9
use Illuminate\Support\Facades\Auth;
10
11
12
class OAuthController extends BaseController
13
{
14
    public function userByToken(Request $request)
15
    {
16
        $token = $request->input('wiki_token', null);
17
18
        if($token === null || $token === ''){
19
            return ['error' => 'invalid_token'];
20
        }
21
        $user = User::where('wiki_token', $token)->first();
22
23
        if($user === null){
24
            return ['error' => 'invalid_token'];
25
        }
26
27
        $token = $user->createToken('api_token');
28
29
        return [
30
            'id' => $user->uuid,
31
            'name' => $user->firstname.' '.$user->lastname,
32
            'realname' => $user->firstname.' '.$user->lastname,
33
            'email' => $user->email,
34
            'avatar' => $user->adminlte_image(),
35
            'token' => $token->plainTextToken
36
        ];
37
    }
38
39
    public function logout()
40
    {
41
        $user = Auth::user();
42
        if(isset($user)){
43
            $user->wiki_token = '';
44
            $user->save();
45
            Auth::logout();
46
        }
47
        redirect(config('neayi.wiki_url'));
48
    }
49
}
50