Completed
Pull Request — master (#47)
by
unknown
11:14
created

ApiKeysController   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A index() 0 8 1
A create() 0 7 1
A destroy() 0 7 1
1
<?php
2
3
namespace Modules\User\Http\Controllers\Admin\Account;
4
5
use Modules\Core\Http\Controllers\Admin\AdminBaseController;
6
use Modules\User\Contracts\Authentication;
7
use Modules\User\Entities\UserToken;
8
use Modules\User\Repositories\UserTokenRepository;
9
10
class ApiKeysController extends AdminBaseController
11
{
12
    /**
13
     * @var Authentication
14
     */
15
    private $auth;
16
    /**
17
     * @var UserTokenRepository
18
     */
19
    private $userToken;
20
21
    public function __construct(Authentication $auth, UserTokenRepository $userToken)
22
    {
23
        parent::__construct();
24
25
        $this->auth = $auth;
26
        $this->userToken = $userToken;
27
    }
28
29
    public function index()
30
    {
31
        $tokens = $this->userToken->allForUser($this->auth->id());
32
33
        $this->assetPipeline->requireJs('clipboard.js');
34
35
        return view('user::admin.account.api-keys.index', compact('tokens'));
36
    }
37
38
    public function create()
39
    {
40
        $this->userToken->generateFor($this->auth->id());
41
42
        return redirect()->route('admin.account.api.index')
43
            ->withSuccess(trans('user:users.token generated'));
44
    }
45
46
    public function destroy(UserToken $userToken)
47
    {
48
        $this->userToken->destroy($userToken);
49
50
        return redirect()->route('admin.account.api.index')
51
            ->withSuccess(trans('core::core.messages.resource deleted', ['name' => 'Api Token']));
52
    }
53
}
54