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.
Passed
Pull Request — master (#13)
by Toby
16:48 queued 03:24
created

UserController::search()   A

Complexity

Conditions 6
Paths 24

Size

Total Lines 22
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 42

Importance

Changes 0
Metric Value
eloc 14
c 0
b 0
f 0
dl 0
loc 22
ccs 0
cts 15
cp 0
rs 9.2222
cc 6
nc 24
nop 3
crap 42
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...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
Loading history...
26
     * @param UserRepository $userRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
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...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
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...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
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...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
Loading history...
80
     * @param DataUserRepository $dataUserRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
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...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
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...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
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...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
Loading history...
108
     * @param DataUserRepository $dataUserRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Tag value for @param tag indented incorrectly; expected 2 spaces but found 1
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)
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

111
    public function update(User $user, StoreUserRequest $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...
Unused Code introduced by
The parameter $dataUserRepository 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

111
    public function update(User $user, StoreUserRequest $request, UserRepository $userRepository, /** @scrutinizer ignore-unused */ 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...
112
    {
113 2
        $dataUser = $user->data();
114
115 2
        if($request->input('first_name') !== null) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
116 2
            $dataUser->setFirstName($request->input('first_name'));
117
        }
118 2
        if($request->input('last_name') !== null) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
119 2
            $dataUser->setLastName($request->input('last_name'));
120
        }
121 2
        if($request->input('email') !== null) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
122 2
            $dataUser->setEmail($request->input('email'));
123
        }
124 2
        if($request->input('dob') !== null) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
125 2
            $dataUser->setDob(Carbon::make($request->input('dob')));
126
        }
127 2
        if($request->input('preferred_name') !== null) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
128 2
            $dataUser->setPreferredName($request->input('preferred_name'));
129
        }
130
131 2
        foreach($dataUser->getAdditionalAttributes() as $additionalAttribute) {
0 ignored issues
show
Coding Style introduced by
Expected "foreach (...) {\n"; found "foreach(...) {\n"
Loading history...
132 1
            if($request->has($additionalAttribute)) {
0 ignored issues
show
Coding Style introduced by
Expected "if (...) {\n"; found "if(...) {\n"
Loading history...
133 1
                $dataUser->saveAdditionalAttribute($additionalAttribute, $request->input($additionalAttribute));
134
            }
135
        }
136
137 2
        return $user;
138
    }
139
140
    /**
141
     * Delete a user
142
     * 
143
     * @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...
144
     * @param UserRepository $userRepository
0 ignored issues
show
Coding Style introduced by
Missing parameter comment
Loading history...
145
     */
0 ignored issues
show
Coding Style introduced by
Missing @return tag in function comment
Loading history...
146 1
    public function destroy(User $user, UserRepository $userRepository)
147
    {
148 1
        $userRepository->delete((int) $user->id());
149 1
    }
150
151
152
}
153