Roughly generate transaction-oriented API methods from EditEngines
Summary:
Ref T5873. Ref T9132. This is really rough and feels pretty flimsy at the edges (missing validation, generality, modularity, clean error handling, etc) but gets us most of the way toward generating plausible "whatever.edit" Conduit API methods from EditEngines.
These methods are full-power methods which can do everything the edit form can, automatically support the same range of operations, and update when new fields are added.
Test Plan:
- Used new paste.edit to create a new Paste.
- Used new paste.edit to update an existing paste.
- Applied a variety of different transactions.
- Hit a reasonable set of errors.
Reviewers: chad
Reviewed By: chad
Differential Revision: https://secure.phabricator.com/D14393