HomePhabricator

Add a generic "edge.search" method

Tags
None
Referenced Files
F3651818: Screen Shot 2017-03-04 at 9.47.21 AM.png
Mar 4 2017, 11:26 PM
Subscribers
None
Tokens
"Love" token, awarded by 20after4.

Description

Add a generic "edge.search" method

Summary:
Ref T12337. Ref T5873. This provides a generic "edge.search" method which feels like other "verison 3" *.search methods.

The major issues here are:

  1. Edges use constants internally, which aren't great for an API.
  2. A lot of edges are internal and probably not useful to query.
  3. Edges don't have a real "id", so paginating them properly is challenging.

I've solved these things like this:

  • Edges must opt-in to being available via Conduit by providing a human-readable key (like "mention" instead of "52"). This solvs (1) and (2).
  • I faked a mostly-reasonable behavior for paginating.

Test Plan:
Ran various valid and invalid searches. Paginated a large search. Reviewed UI.

Screen Shot 2017-03-04 at 9.47.21 AM.png (1×1 px, 164 KB)

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12337, T5873

Differential Revision: https://secure.phabricator.com/D17462