Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/packages/query/PhabricatorPackagesPublisherQuery.php
12242 views
1
<?php
2
3
final class PhabricatorPackagesPublisherQuery
4
extends PhabricatorPackagesQuery {
5
6
private $ids;
7
private $phids;
8
private $publisherKeys;
9
10
public function withIDs(array $ids) {
11
$this->ids = $ids;
12
return $this;
13
}
14
15
public function withPHIDs(array $phids) {
16
$this->phids = $phids;
17
return $this;
18
}
19
20
public function withPublisherKeys(array $keys) {
21
$this->publisherKeys = $keys;
22
return $this;
23
}
24
25
public function withNameNgrams($ngrams) {
26
return $this->withNgramsConstraint(
27
new PhabricatorPackagesPublisherNameNgrams(),
28
$ngrams);
29
}
30
31
public function newResultObject() {
32
return new PhabricatorPackagesPublisher();
33
}
34
35
protected function buildWhereClauseParts(AphrontDatabaseConnection $conn) {
36
$where = parent::buildWhereClauseParts($conn);
37
38
if ($this->ids !== null) {
39
$where[] = qsprintf(
40
$conn,
41
'u.id IN (%Ld)',
42
$this->ids);
43
}
44
45
if ($this->phids !== null) {
46
$where[] = qsprintf(
47
$conn,
48
'u.phid IN (%Ls)',
49
$this->phids);
50
}
51
52
if ($this->publisherKeys !== null) {
53
$where[] = qsprintf(
54
$conn,
55
'u.publisherKey IN (%Ls)',
56
$this->publisherKeys);
57
}
58
59
return $where;
60
}
61
62
protected function getPrimaryTableAlias() {
63
return 'u';
64
}
65
66
}
67
68