3 final class PhabricatorAuthPasswordQuery
4 extends PhabricatorCursorPagedPolicyAwareQuery
{
9 private $passwordTypes;
12 public function withIDs(array $ids) {
17 public function withPHIDs(array $phids) {
18 $this->phids
= $phids;
22 public function withObjectPHIDs(array $object_phids) {
23 $this->objectPHIDs
= $object_phids;
27 public function withPasswordTypes(array $types) {
28 $this->passwordTypes
= $types;
32 public function withIsRevoked($is_revoked) {
33 $this->isRevoked
= $is_revoked;
37 public function newResultObject() {
38 return new PhabricatorAuthPassword();
41 protected function buildWhereClauseParts(AphrontDatabaseConnection
$conn) {
42 $where = parent
::buildWhereClauseParts($conn);
44 if ($this->ids
!== null) {
51 if ($this->phids
!== null) {
58 if ($this->objectPHIDs
!== null) {
61 'objectPHID IN (%Ls)',
65 if ($this->passwordTypes
!== null) {
68 'passwordType IN (%Ls)',
69 $this->passwordTypes
);
72 if ($this->isRevoked
!== null) {
76 (int)$this->isRevoked
);
82 protected function willFilterPage(array $passwords) {
83 $object_phids = mpull($passwords, 'getObjectPHID');
85 $objects = id(new PhabricatorObjectQuery())
86 ->setViewer($this->getViewer())
87 ->setParentQuery($this)
88 ->withPHIDs($object_phids)
90 $objects = mpull($objects, null, 'getPHID');
92 foreach ($passwords as $key => $password) {
93 $object = idx($objects, $password->getObjectPHID());
95 unset($passwords[$key]);
96 $this->didRejectResult($password);
100 $password->attachObject($object);
106 public function getQueryApplicationClass() {
107 return 'PhabricatorAuthApplication';