HomePhabricator

Give EditEngine a Conduit-specific initialization pathway for objects

Description

Give EditEngine a Conduit-specific initialization pathway for objects

Summary:
Depends on D18845. See PHI243 for context and more details.

Briefly, some objects need a "type" transaction (or something similar) very early on, and we can't generate their fields until we know the object type. Drydock blueprints are an example: a blueprint's fields depend on the blueprint's type.

In web interfaces, the workflow just forces the user to select a type first. For Conduit workflows, I think the cleanest approach is to proactively extract and apply type information before processing the request. This will make the implementation a little messier, but the API cleaner.

An alternative is to add more fields to the API, like a "type" field. This makes the implementation cleaner, but the API messier. I think we're better off favoring a cleaner API here.

This change just makes it possible for DrydockBlueprintEditEngine to look at the incoming transactions and extract a "type"; it doesn't actually change any behavior.

Test Plan: Performed edits via API, but this change doesn't alter any behavior.

Reviewers: amckinley

Reviewed By: amckinley

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

Details

Provenance
epriestleyAuthored on Dec 13 2017, 3:47 PM
epriestleyPushed on Jan 4 2018, 6:07 PM
Reviewer
amckinley
Differential Revision
D18847: Give EditEngine a Conduit-specific initialization pathway for objects
Parents
rP83c528c46435: Modularize transactions for Drydock Blueprints
Branches
Unknown
Tags
Unknown
Build Status
Buildable 19009
Build 25640: Run Core Tests