Changeset View
Changeset View
Standalone View
Standalone View
src/applications/maniphest/search/ManiphestTaskFulltextEngine.php
- This file was moved from src/applications/maniphest/search/ManiphestSearchIndexer.php.
<?php | <?php | ||||
final class ManiphestSearchIndexer extends PhabricatorSearchDocumentIndexer { | final class ManiphestTaskFulltextEngine | ||||
extends PhabricatorFulltextEngine { | |||||
public function getIndexableObject() { | protected function buildAbstractDocument( | ||||
return new ManiphestTask(); | PhabricatorSearchAbstractDocument $document, | ||||
} | $object) { | ||||
protected function buildAbstractDocumentByPHID($phid) { | $task = $object; | ||||
$task = $this->loadDocumentByPHID($phid); | |||||
$doc = new PhabricatorSearchAbstractDocument(); | $document->setDocumentTitle($task->getTitle()); | ||||
$doc->setPHID($task->getPHID()); | |||||
$doc->setDocumentType(ManiphestTaskPHIDType::TYPECONST); | |||||
$doc->setDocumentTitle($task->getTitle()); | |||||
$doc->setDocumentCreated($task->getDateCreated()); | |||||
$doc->setDocumentModified($task->getDateModified()); | |||||
$doc->addField( | $document->addField( | ||||
PhabricatorSearchDocumentFieldType::FIELD_BODY, | PhabricatorSearchDocumentFieldType::FIELD_BODY, | ||||
$task->getDescription()); | $task->getDescription()); | ||||
$doc->addRelationship( | $document->addRelationship( | ||||
PhabricatorSearchRelationship::RELATIONSHIP_AUTHOR, | PhabricatorSearchRelationship::RELATIONSHIP_AUTHOR, | ||||
$task->getAuthorPHID(), | $task->getAuthorPHID(), | ||||
PhabricatorPeopleUserPHIDType::TYPECONST, | PhabricatorPeopleUserPHIDType::TYPECONST, | ||||
$task->getDateCreated()); | $task->getDateCreated()); | ||||
$doc->addRelationship( | $document->addRelationship( | ||||
$task->isClosed() | $task->isClosed() | ||||
? PhabricatorSearchRelationship::RELATIONSHIP_CLOSED | ? PhabricatorSearchRelationship::RELATIONSHIP_CLOSED | ||||
: PhabricatorSearchRelationship::RELATIONSHIP_OPEN, | : PhabricatorSearchRelationship::RELATIONSHIP_OPEN, | ||||
$task->getPHID(), | $task->getPHID(), | ||||
ManiphestTaskPHIDType::TYPECONST, | ManiphestTaskPHIDType::TYPECONST, | ||||
time()); | PhabricatorTime::getNow()); | ||||
$owner = $task->getOwnerPHID(); | $owner = $task->getOwnerPHID(); | ||||
if ($owner) { | if ($owner) { | ||||
$doc->addRelationship( | $document->addRelationship( | ||||
PhabricatorSearchRelationship::RELATIONSHIP_OWNER, | PhabricatorSearchRelationship::RELATIONSHIP_OWNER, | ||||
$owner, | $owner, | ||||
PhabricatorPeopleUserPHIDType::TYPECONST, | PhabricatorPeopleUserPHIDType::TYPECONST, | ||||
time()); | time()); | ||||
} else { | } else { | ||||
$doc->addRelationship( | $document->addRelationship( | ||||
PhabricatorSearchRelationship::RELATIONSHIP_UNOWNED, | PhabricatorSearchRelationship::RELATIONSHIP_UNOWNED, | ||||
$task->getPHID(), | $task->getPHID(), | ||||
PhabricatorPHIDConstants::PHID_TYPE_VOID, | PhabricatorPHIDConstants::PHID_TYPE_VOID, | ||||
$task->getDateCreated()); | $task->getDateCreated()); | ||||
} | } | ||||
return $doc; | |||||
} | } | ||||
} | } |