Throw when callers pass an invalid constraint to a "*.search" method
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").
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T11593
Differential Revision: https://secure.phabricator.com/D16507