HomePhabricator

Roughly generate transaction-oriented API methods from EditEngines

Tags
None
Referenced Files
F941147: Screen Shot 2015-11-03 at 10.01.07 AM.png
Nov 3 2015, 6:13 PM
F941145: Screen Shot 2015-11-03 at 10.01.11 AM.png
Nov 3 2015, 6:13 PM
F941144: Screen Shot 2015-11-03 at 10.01.00 AM.png
Nov 3 2015, 6:13 PM
F941146: Screen Shot 2015-11-03 at 10.01.03 AM.png
Nov 3 2015, 6:13 PM
Subscribers
None

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.

Screen Shot 2015-11-03 at 10.01.00 AM.png (1×1 px, 225 KB)

Screen Shot 2015-11-03 at 10.01.11 AM.png (1×1 px, 229 KB)

Screen Shot 2015-11-03 at 10.01.03 AM.png (1×1 px, 227 KB)

Screen Shot 2015-11-03 at 10.01.07 AM.png (1×1 px, 205 KB)

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T5873, T9132

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