Differential D14889 Diff 35997 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,075 Lines • ▼ Show 20 Lines | public function getSearchFieldsForConduit() { | ||||
| $viewer = $this->requireViewer(); | $viewer = $this->requireViewer(); | ||||
| foreach ($fields as $key => $field) { | foreach ($fields as $key => $field) { | ||||
| $field->setViewer($viewer); | $field->setViewer($viewer); | ||||
| } | } | ||||
| return $fields; | return $fields; | ||||
| } | } | ||||
| public function buildConduitResponse(ConduitAPIRequest $request) { | public function buildConduitResponse( | ||||
| ConduitAPIRequest $request, | |||||
| ConduitAPIMethod $method) { | |||||
| $viewer = $this->requireViewer(); | $viewer = $this->requireViewer(); | ||||
| $query_key = $request->getValue('queryKey'); | $query_key = $request->getValue('queryKey'); | ||||
| if (!strlen($query_key)) { | if (!strlen($query_key)) { | ||||
| $saved_query = new PhabricatorSavedQuery(); | $saved_query = new PhabricatorSavedQuery(); | ||||
| } else if ($this->isBuiltinQuery($query_key)) { | } else if ($this->isBuiltinQuery($query_key)) { | ||||
| $saved_query = $this->buildSavedQueryFromBuiltin($query_key); | $saved_query = $this->buildSavedQueryFromBuiltin($query_key); | ||||
| } else { | } else { | ||||
| ▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | if ($objects) { | ||||
| $attachment_map = array(); | $attachment_map = array(); | ||||
| foreach ($attachments as $key => $attachment) { | foreach ($attachments as $key => $attachment) { | ||||
| $attachment_map[$key] = $attachment->getAttachmentForObject( | $attachment_map[$key] = $attachment->getAttachmentForObject( | ||||
| $object, | $object, | ||||
| $attachment_data[$key], | $attachment_data[$key], | ||||
| $attachment_specs[$key]); | $attachment_specs[$key]); | ||||
| } | } | ||||
| // If this is empty, we still want to emit a JSON object, not a | |||||
| // JSON list. | |||||
| if (!$attachment_map) { | |||||
| $attachment_map = (object)$attachment_map; | |||||
| } | |||||
| $id = (int)$object->getID(); | $id = (int)$object->getID(); | ||||
| $phid = $object->getPHID(); | $phid = $object->getPHID(); | ||||
| $data[] = array( | $data[] = array( | ||||
| 'id' => $id, | 'id' => $id, | ||||
| 'type' => phid_get_type($phid), | 'type' => phid_get_type($phid), | ||||
| 'phid' => $phid, | 'phid' => $phid, | ||||
| 'fields' => $field_map, | 'fields' => $field_map, | ||||
| 'attachments' => $attachment_map, | 'attachments' => $attachment_map, | ||||
| ); | ); | ||||
| } | } | ||||
| } | } | ||||
| return array( | return array( | ||||
| 'data' => $data, | 'data' => $data, | ||||
| 'maps' => $method->getQueryMaps($query), | |||||
| 'query' => array( | 'query' => array( | ||||
| 'queryKey' => $saved_query->getQueryKey(), | 'queryKey' => $saved_query->getQueryKey(), | ||||
| ), | ), | ||||
| 'cursor' => array( | 'cursor' => array( | ||||
| 'limit' => $pager->getPageSize(), | 'limit' => $pager->getPageSize(), | ||||
| 'after' => $pager->getNextPageID(), | 'after' => $pager->getNextPageID(), | ||||
| 'before' => $pager->getPrevPageID(), | 'before' => $pager->getPrevPageID(), | ||||
| 'order' => $request->getValue('order'), | 'order' => $request->getValue('order'), | ||||
| ▲ Show 20 Lines • Show All 178 Lines • Show Last 20 Lines | |||||