GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

UserController::index()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 5
c 0
b 0
f 0
dl 0
loc 8
ccs 6
cts 6
cp 1
rs 10
cc 1
nc 1
nop 2
crap 1
1
<?php
2
0 ignored issues
show
Coding Style introduced by
Missing file doc comment
Loading history...
3
namespace BristolSU\ControlDB\Http\Controllers\User;
4
5
use BristolSU\ControlDB\Contracts\Repositories\DataUser;
6
use BristolSU\ControlDB\Http\Controllers\Controller;
7
use BristolSU\ControlDB\Http\Requests\Api\User\StoreUserRequest;
8
use BristolSU\ControlDB\Contracts\Repositories\DataUser as DataUserRepository;
9
use BristolSU\ControlDB\Contracts\Repositories\User as UserRepository;
10
use BristolSU\ControlDB\Contracts\Models\User;
11
use Carbon\Carbon;
12
use Illuminate\Http\Request;
13
use Illuminate\Pagination\LengthAwarePaginator;
14
use Illuminate\Support\Collection;
15
16
/**
17
 * Handle the user model
18
 */
0 ignored issues
show
Coding Style introduced by
Missing @category tag in class comment
Loading history...
Coding Style introduced by
Missing @package tag in class comment
Loading history...
Coding Style introduced by
Missing @author tag in class comment
Loading history...
Coding Style introduced by
Missing @license tag in class comment
Loading history...
Coding Style introduced by
Missing @link tag in class comment
Loading history...
19
class UserController extends Controller
20
{
21
22
    /**
23
     * Get all users
24
     *
25
     * @param Request $request
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 8 spaces after parameter type; 1 found
Loading history...
26
     * @param UserRepository $userRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
27
     * @return LengthAwarePaginator
0 ignored issues
show
Coding Style introduced by
Tag @return cannot be grouped with parameter tags in a doc comment
Loading history...
28
     */
29 2
    public function index(Request $request, UserRepository $userRepository)
30
    {
31 2
        $perPage = $request->input('per_page', 10);
32 2
        $page = $request->input('page', 1);
33
        
34 2
        return $this->paginationResponse(
35 2
            $userRepository->paginate($page, $perPage),
36 2
            $userRepository->count()
37
        );
38
    }
39
    
40
    public function search(Request $request, UserRepository $userRepository, DataUserRepository $dataUserRepository)
0 ignored issues
show
Unused Code introduced by
The parameter $userRepository is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

40
    public function search(Request $request, /** @scrutinizer ignore-unused */ UserRepository $userRepository, DataUserRepository $dataUserRepository)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Coding Style introduced by
Missing doc comment for function search()
Loading history...
41
    {
42
        $search = [];
43
        if($request->has('first_name')) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
44
            $search['first_name'] = $request->input('first_name');
45
        }
46
        if($request->has('last_name')) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
47
            $search['last_name'] = $request->input('last_name');
48
        }
49
        if($request->has('email')) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
50
            $search['email'] = $request->input('email');
51
        }
52
        $dataUsers = $dataUserRepository->getAllWhere($search);
53
        $users = new Collection();
54
        foreach($dataUsers as $dataUser) {
0 ignored issues
show
Coding Style introduced by
Expected "foreach (...) {\n"; found "foreach(...) {\n"
Loading history...
55
            $user = $dataUser->user();
56
            if($user !== null) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
57
                $users->push($user);
58
            }
59
        }
60
        
61
        return $this->paginate($users);
62
    }
63
    
64
    /**
65
     * Get information about a specific user
66
     * 
67
     * @param User $user
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
68
     * @return User
0 ignored issues
show
Coding Style introduced by
Tag @return cannot be grouped with parameter tags in a doc comment
Loading history...
69
     */
70 1
    public function show(User $user)
71
    {
72 1
        return $user;
73
    }
74
75
    /**
76
     * Create a new user
77
     * 
78
     * @param StoreUserRequest $request
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 3 spaces after parameter type; 1 found
Loading history...
79
     * @param UserRepository $userRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 5 spaces after parameter type; 1 found
Loading history...
80
     * @param DataUserRepository $dataUserRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
81
     * @return User
0 ignored issues
show
Coding Style introduced by
Tag @return cannot be grouped with parameter tags in a doc comment
Loading history...
82
     */
83 2
    public function store(StoreUserRequest $request, UserRepository $userRepository, DataUserRepository $dataUserRepository)
84
    {
85 2
        $dataUser = $dataUserRepository->create(
86 2
            $request->input('first_name'),
87 2
            $request->input('last_name'),
88 2
            $request->input('email'),
89 2
            Carbon::make($request->input('dob')),
90 2
            $request->input('preferred_name')
91
        );
92
93 2
        foreach($dataUser->getAdditionalAttributes() as $additionalAttribute) {
0 ignored issues
show
Coding Style introduced by
Expected "foreach (...) {\n"; found "foreach(...) {\n"
Loading history...
94 1
            if($request->has($additionalAttribute)) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
95 1
                $dataUser->saveAdditionalAttribute($additionalAttribute, $request->input($additionalAttribute));
96
            }
97
        }
98
        
99 2
        return $userRepository->create($dataUser->id());
100
    }
101
102
    /**
103
     * Update a user
104
     * 
105
     * @param User $user
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 15 spaces after parameter type; 1 found
Loading history...
106
     * @param StoreUserRequest $request
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 3 spaces after parameter type; 1 found
Loading history...
107
     * @param UserRepository $userRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 5 spaces after parameter type; 1 found
Loading history...
108
     * @param DataUserRepository $dataUserRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
109
     * @return User
0 ignored issues
show
Coding Style introduced by
Tag @return cannot be grouped with parameter tags in a doc comment
Loading history...
110
     */
111 2
    public function update(User $user, StoreUserRequest $request, UserRepository $userRepository, DataUserRepository $dataUserRepository)
112
    {
113 2
        $dataUser = $user->data();
114
115 2
        $dataUserRepository->update(
116 2
            $dataUser->id(),
117 2
            $request->input('first_name', $dataUser->firstName()),
118 2
            $request->input('last_name', $dataUser->lastName()),
119 2
            $request->input('email', $dataUser->email()),
120 2
            ($request->has('dob') ? Carbon::make($request->input('dob')) :  $dataUser->dob()),
121 2
            $request->input('preferred_name', $dataUser->preferredName()),
122
        );
123
        
124 2
        foreach($dataUser->getAdditionalAttributes() as $additionalAttribute) {
0 ignored issues
show
Coding Style introduced by
Expected "foreach (...) {\n"; found "foreach(...) {\n"
Loading history...
125 1
            if($request->has($additionalAttribute)) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
126 1
                $dataUser->saveAdditionalAttribute($additionalAttribute, $request->input($additionalAttribute));
127
            }
128
        }
129
130 2
        return $userRepository->getById($user->id());
131
    }
132
133
    /**
134
     * Delete a user
135
     * 
136
     * @param User $user
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 11 spaces after parameter type; 1 found
Loading history...
137
     * @param UserRepository $userRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
138
     */
0 ignored issues
show
Coding Style introduced by
Missing @return tag in function comment
Loading history...
139 1
    public function destroy(User $user, UserRepository $userRepository)
140
    {
141 1
        $userRepository->delete((int) $user->id());
142 1
    }
143
144
145
}
146