Page MenuHomePhabricator

Move ManiphestTaskQuery to EdgeLogic
ClosedPublic

Authored by epriestley on Apr 23 2015, 11:56 AM.

Details

Summary

Ref T4100. Share all edge logic code across applications.

  • Internalizes the "check that the viewer can see projects" check into edge logic.
  • Adds some convenience functions. Some of these aren't really all that convenient, but it's rare that we actually apply project constraints to queries in the applications -- and most of these callsites will go away in the long term -- so I didn't go too crazy with providing a simpler withProjectPHIDs() universal API or anything.
Test Plan
  • Grepped for all affected symbols.
  • Tried to violate policies.
  • Used workboards.
  • Used normal Maniphest queries.
  • Used maniphest.query.
  • Verified the special grouping behavior works as expected.

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 retitled this revision from to Move ManiphestTaskQuery to EdgeLogic.Apr 23 2015, 11:56 AM
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
epriestley updated this revision to Diff 30072.
epriestley added inline comments.Apr 23 2015, 12:08 PM
src/applications/home/controller/PhabricatorHomeMainController.php
182–186

In particular, this is a little bit cumbersome compared to the old API, but we only have about 6 callsites and half of them will vanish eventually, so it didn't seem worthwhile to define some convenience wrapper method to specify the project edge constant and/or operator for you.

btrahan edited edge metadata.Apr 23 2015, 5:23 PM
btrahan accepted this revision.
This revision is now accepted and ready to land.Apr 23 2015, 5:23 PM
This revision was automatically updated to reflect the committed changes.