Page MenuHomePhabricator

Throw when callers pass an invalid constraint to a "*.search" method
ClosedPublic

Authored by epriestley on Sep 7 2016, 2:25 PM.

Details

Summary

Ref T11593. When you call a *.search method like maniphest.search, we don't currently validate that all the constraints you pass are recognized.

I think there were two very weak arguments for not doing this:

  • It makes compatibility in arc across versions slightly easier: if we add a new constraint, we could add it to arc but also do client-side filtering for a while.
  • Conduit parameter types could, in theory, accept multiple inputs or optional/alias inputs.

These reasons are pretty fluff and T11593 is a concrete issue caused by not validating. Just validate instead.

Test Plan
  • Made a maniphest.search call with a bogus constraint, got an explicit error about the bad constraint.
  • Made a maniphest.search call with a valid constraint ("ids").

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley updated this revision to Diff 39726.Sep 7 2016, 2:25 PM
epriestley retitled this revision from to Throw when callers pass an invalid constraint to a "*.search" method.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad accepted this revision.Sep 7 2016, 3:51 PM
chad edited edge metadata.
This revision is now accepted and ready to land.Sep 7 2016, 3:51 PM
This revision was automatically updated to reflect the committed changes.