Path: blob/master/src/applications/oauthserver/query/PhabricatorOAuthClientAuthorizationQuery.php
12242 views
<?php12final class PhabricatorOAuthClientAuthorizationQuery3extends PhabricatorCursorPagedPolicyAwareQuery {45private $phids;6private $userPHIDs;7private $clientPHIDs;89public function withPHIDs(array $phids) {10$this->phids = $phids;11return $this;12}1314public function withUserPHIDs(array $phids) {15$this->userPHIDs = $phids;16return $this;17}1819public function withClientPHIDs(array $phids) {20$this->clientPHIDs = $phids;21return $this;22}2324public function newResultObject() {25return new PhabricatorOAuthClientAuthorization();26}2728protected function willFilterPage(array $authorizations) {29$client_phids = mpull($authorizations, 'getClientPHID');3031$clients = id(new PhabricatorOAuthServerClientQuery())32->setViewer($this->getViewer())33->setParentQuery($this)34->withPHIDs($client_phids)35->execute();36$clients = mpull($clients, null, 'getPHID');3738foreach ($authorizations as $key => $authorization) {39$client = idx($clients, $authorization->getClientPHID());4041if (!$client) {42$this->didRejectResult($authorization);43unset($authorizations[$key]);44continue;45}4647$authorization->attachClient($client);48}4950return $authorizations;51}5253protected function buildWhereClauseParts(AphrontDatabaseConnection $conn) {54$where = parent::buildWhereClauseParts($conn);5556if ($this->phids !== null) {57$where[] = qsprintf(58$conn,59'phid IN (%Ls)',60$this->phids);61}6263if ($this->userPHIDs !== null) {64$where[] = qsprintf(65$conn,66'userPHID IN (%Ls)',67$this->userPHIDs);68}6970if ($this->clientPHIDs !== null) {71$where[] = qsprintf(72$conn,73'clientPHID IN (%Ls)',74$this->clientPHIDs);75}7677return $where;78}7980public function getQueryApplicationClass() {81return 'PhabricatorOAuthServerApplication';82}8384}858687