Implement "PolicyInterface" on "UserEmail" so "EmailQuery" can load them…


Implement "PolicyInterface" on "UserEmail" so "EmailQuery" can load them properly

See PHI1558. Ref T11860. Ref T13444. I partly implemented PHIDs for "UserEmail" objects, but they can't load on their own so you can't directly bin/remove destroy them yet.

Allow them to actually load by implementing "PolicyInterface".

Addresses are viewable and editable by the associated user, unless they are a bot/list address, in which case they are viewable and editable by administrators (in preparation for T11860). This has no real impact on anything today.

Test Plan:

  • Used bin/remove destroy <phid> to destroy an individual email address.
  • Before: error while loading the object by PHID in the query policy layer.
  • After: clean load and destroy.

Maniphest Tasks: T13444, T11860

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