Passed
Push — master ( 30fec9...0ef1e1 )
by Burak
05:55
created

UserController   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A show() 0 4 1
A me() 0 3 1
A __construct() 0 3 1
1
<?php
2
3
namespace App\Http\Controllers;
4
5
use App\Http\Resources\UserResource;
6
use App\Interfaces\UserServiceInterface;
7
use Illuminate\Http\Request;
8
9
class UserController extends Controller
10
{
11
    /**
12
     * @var UserServiceInterface
13
     */
14
    private UserServiceInterface $service;
15
16
    /**
17
     * UserController constructor.
18
     *
19
     * @param UserServiceInterface $service
20
     */
21 2
    public function __construct(UserServiceInterface $service)
22
    {
23 2
        $this->service = $service;
24 2
    }
25
26
    /**
27
     * Returns authenticated API user.
28
     *
29
     * @param Request $request
30
     * @return UserResource
31
     */
32 1
    public function me(Request $request)
33
    {
34 1
        return $this->show($request->user()->id);
35
    }
36
37
    /**
38
     * Returns user by id.
39
     *
40
     * @param string $id
41
     * @return UserResource
42
     */
43 2
    public function show(string $id)
44
    {
45 2
        return new UserResource(
46 2
            $this->service->find($id)
47
        );
48
    }
49
}
50