Differential D16507 Diff 39733 src/applications/search/engine/PhabricatorApplicationSearchEngine.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/search/engine/PhabricatorApplicationSearchEngine.php
Show First 20 Lines • Show All 1,088 Lines • ▼ Show 20 Lines | public function buildConduitResponse( | ||||
$fields = $this->getSearchFieldsForConduit(); | $fields = $this->getSearchFieldsForConduit(); | ||||
foreach ($fields as $key => $field) { | foreach ($fields as $key => $field) { | ||||
if (!$field->getConduitParameterType()) { | if (!$field->getConduitParameterType()) { | ||||
unset($fields[$key]); | unset($fields[$key]); | ||||
} | } | ||||
} | } | ||||
$valid_constraints = array(); | |||||
foreach ($fields as $field) { | |||||
foreach ($field->getValidConstraintKeys() as $key) { | |||||
$valid_constraints[$key] = true; | |||||
} | |||||
} | |||||
foreach ($constraints as $key => $constraint) { | |||||
if (empty($valid_constraints[$key])) { | |||||
throw new Exception( | |||||
pht( | |||||
'Constraint "%s" is not a valid constraint for this query.', | |||||
$key)); | |||||
} | |||||
} | |||||
foreach ($fields as $field) { | foreach ($fields as $field) { | ||||
if (!$field->getValueExistsInConduitRequest($constraints)) { | if (!$field->getValueExistsInConduitRequest($constraints)) { | ||||
continue; | continue; | ||||
} | } | ||||
$value = $field->readValueFromConduitRequest($constraints); | $value = $field->readValueFromConduitRequest($constraints); | ||||
$saved_query->setParameter($field->getKey(), $value); | $saved_query->setParameter($field->getKey(), $value); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 273 Lines • Show Last 20 Lines |