/
QueryCriteria.php
66 lines (58 loc) · 1.6 KB
/
QueryCriteria.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
/*
* This file is part of Flarum.
*
* For detailed copyright and license information, please view the
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\Query;
use Flarum\User\User;
/**
* Represents the criteria that will determine the entire result set of a
* query. The limit and offset are not included because they only determine
* which part of the entire result set will be returned.
*/
class QueryCriteria
{
/**
* The user performing the query.
*
* @var User
*/
public $actor;
/**
* Query params.
*
* @var array
*/
public $query;
/**
* An array of sort-order pairs, where the column is the key, and the order
* is the value. The order may be 'asc', 'desc', or an array of IDs to
* order by.
*
* @var array
*/
public $sort;
/**
* Is the sort for this request the default sort from the controller?
* If false, the current request specifies a sort.
*
* @var bool
*/
public $sortIsDefault;
/**
* @param User $actor The user performing the query.
* @param array $query The query params.
* @param array $sort An array of sort-order pairs, where the column is the
* key, and the order is the value. The order may be 'asc', 'desc', or
* an array of IDs to order by.
*/
public function __construct(User $actor, $query, array $sort = null, bool $sortIsDefault = false)
{
$this->actor = $actor;
$this->query = $query;
$this->sort = $sort;
$this->sortIsDefault = $sortIsDefault;
}
}