Passed
Push — master ( e8502e...677200 )
by Stephen
24:48
created

UserListQuery   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
eloc 9
c 1
b 1
f 0
dl 0
loc 39
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A execute() 0 7 1
A __construct() 0 3 1
A builder() 0 3 1
1
<?php
2
3
namespace Sfneal\Users\Queries;
4
5
use Illuminate\Database\Eloquent\Builder;
6
use Illuminate\Http\Request;
7
use Sfneal\Queries\Query;
8
use Sfneal\Users\Builders\UserBuilder;
9
use Sfneal\Users\Models\User;
10
11
class UserListQuery extends Query
12
{
13
    /**
14
     * @var Request
15
     */
16
    private $request;
17
18
    /**
19
     * TeamListQuery constructor.
20
     *
21
     * @param Request $request
22
     */
23
    public function __construct(Request $request)
24
    {
25
        $this->request = $request;
26
    }
27
28
    /**
29
     * Retrieve a Query builder.
30
     *
31
     * @return UserBuilder
32
     */
33
    protected function builder(): UserBuilder
34
    {
35
        return User::query();
36
    }
37
38
    /**
39
     * Execute a Team ajax search.
40
     *
41
     * @return array
42
     */
43
    public function execute(): array
44
    {
45
        return $this->builder()
46
            ->whereNameLike($this->request->input('q'))
47
            ->whereActive()
48
            ->selectRawJson()
49
            ->countAndPaginate();
50
    }
51
}
52