Page MenuHomePhabricator

Implement search endpoint
Closed, InvalidPublic

Description

Acceptance Criteria:

  • Define route for /search/page?q={search term}
  • Define route handler for page search
  • Request:
    • Must support HTTP GET
    • Must support q parameter
      • If no q parameter provided, error
    • Request body must be empty
    • Request headers:
      • Must support If-Modified-Since: only if the result set has changed since this date
      • Must support If-None-Match: only if the result set's etag is different from this
  • Response
    • Response must return JSON
    • Responses JSON must have structure:
{
  "pages": [
  {
"id": 12345,
"title_key": "Talk:Main_Page",
"display_title": "Talk:Main Page",
"excerpt": "The <b>News</b> is the place to find important news..."
  }
  ]
}
  • id must contain the page numeric ID.
  • title_key must contain the pdbk version of the title
  • display_title must contain the version of the title most suited for display, with spaces instead of underscores
  • excerpt must contain the search excerpt HTML of the page
  • Response headers must contain:
    • Last-Modified: last time this result set was modified
    • ETag: etag for this result set

Related Objects

Event Timeline

eprodromou updated the task description. (Show Details)Oct 2 2019, 2:22 PM

Removed revision_id.

eprodromou removed EvanProdromou as the assignee of this task.Oct 8 2019, 4:01 PM

We're changing how we do user stories, documentation tasks and engineering tasks so this is no longer applicable.

eprodromou closed this task as Invalid.Nov 14 2019, 9:10 PM