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.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
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 accepted this revision.Apr 23 2015, 5:23 PM
btrahan edited edge metadata.
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.