HaloController   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 7
c 1
b 0
f 0
dl 0
loc 18
ccs 8
cts 8
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 11 1
1
<?php
2
3
namespace Spinen\Halo\Http\Controllers;
4
5
use GuzzleHttp\Exception\GuzzleException;
6
use Illuminate\Http\RedirectResponse;
7
use Illuminate\Http\Request;
8
use Illuminate\Routing\Controller;
9
use Illuminate\Routing\Redirector;
10
use Spinen\Halo\Api\Client as Halo;
11
12
/**
13
 * Class HaloController
14
 */
15
class HaloController extends Controller
16
{
17
    /**
18
     * Process the code returned for the user & save as halo_token
19
     *
20
     * @throws GuzzleException
21
     */
22 3
    public function __invoke(Halo $halo, Redirector $redirector, Request $request): RedirectResponse
23
    {
24 3
        $request->user()->halo_token = $halo->oauthRequestTokenUsingAuthorizationCode(
25 3
            code: (string) $request->get('code'),
26 3
            uri: $request->url(),
27 3
            verifier: $request->session()->get('halo_code_verifier'),
28 3
        );
29
30 3
        $request->user()->save();
31
32 3
        return $redirector->intended();
33
    }
34
}
35