HomePhabricator

Roughly generate transaction-oriented API methods from EditEngines

Authored by epriestley.

Description

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

Maniphest Tasks: T5873, T9132

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