HomePhabricator

Merge TYPE_PROJECT_COLUMNS and TYPE_COLUMN transactions into a more general…

Description

Merge TYPE_PROJECT_COLUMNS and TYPE_COLUMN transactions into a more general TYPE_COLUMNS transaction

Summary:
Ref T6027. We currently have two different transaction types:

  • TYPE_PROJECT_COLUMNS does most of the work, but has a sort of weird structure and isn't really suitable for API use.
  • TYPE_COLUMN is this weird, junk transaction which mostly just creates the other transaction.

Merge them into a single higher-level TYPE_COLUMNS transaction which works properly and has a sensible structure and comprehensive error checking.

Remaining work here:

  • I've removed the old rendering logic, but not yet added new logic. I need to migrate the old transaction types and add new rendering logic.
  • Although the internal representation is now suitable for use in the API, it isn't properly exposed yet.

Test Plan:

  • Created tasks into a column.
  • Ran unit tests.
  • Moved tasks between columns.
  • Will perform additional testing in followups.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T6027

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