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

ApiKeysController::index()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 1
eloc 4
nc 1
nop 0
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