Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
PHP
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106<?php
/** * @extends PhabricatorCursorPagedPolicyAwareQuery<PhabricatorWorkerBulkJob> */final class PhabricatorWorkerBulkJobQuery extends PhabricatorCursorPagedPolicyAwareQuery {
private $ids; private $phids; private $authorPHIDs; private $bulkJobTypes; private $statuses;
public function withIDs(array $ids) { $this->ids = $ids; return $this; }
public function withPHIDs(array $phids) { $this->phids = $phids; return $this; }
public function withAuthorPHIDs(array $author_phids) { $this->authorPHIDs = $author_phids; return $this; }
public function withBulkJobTypes(array $job_types) { $this->bulkJobTypes = $job_types; return $this; }
public function withStatuses(array $statuses) { $this->statuses = $statuses; return $this; }
public function newResultObject() { return new PhabricatorWorkerBulkJob(); }
protected function willFilterPage(array $page) { $map = PhabricatorWorkerBulkJobType::getAllJobTypes();
foreach ($page as $key => $job) { $implementation = idx($map, $job->getJobTypeKey()); if (!$implementation) { $this->didRejectResult($job); unset($page[$key]); continue; } $job->attachJobImplementation($implementation); }
return $page; }
protected function buildWhereClauseParts(AphrontDatabaseConnection $conn) { $where = parent::buildWhereClauseParts($conn);
if ($this->ids !== null) { $where[] = qsprintf( $conn, 'id IN (%Ld)', $this->ids); }
if ($this->phids !== null) { $where[] = qsprintf( $conn, 'phid IN (%Ls)', $this->phids); }
if ($this->authorPHIDs !== null) { $where[] = qsprintf( $conn, 'authorPHID IN (%Ls)', $this->authorPHIDs); }
if ($this->bulkJobTypes !== null) { $where[] = qsprintf( $conn, 'bulkJobType IN (%Ls)', $this->bulkJobTypes); }
if ($this->statuses !== null) { $where[] = qsprintf( $conn, 'status IN (%Ls)', $this->statuses); }
return $where; }
public function getQueryApplicationClass() { return PhabricatorDaemonsApplication::class; }
}