Page MenuHomePhabricator

Give EditEngine a Conduit-specific initialization pathway for objects
ClosedPublic

Authored by epriestley on Dec 26 2017, 5:53 PM.
Tags
None
Referenced Files
F15463225: D18847.id45213.diff
Tue, Apr 1, 9:31 PM
F15447163: D18847.id45227.diff
Thu, Mar 27, 10:12 PM
F15427093: D18847.id45227.diff
Sun, Mar 23, 12:44 PM
F15425676: D18847.id45213.diff
Sun, Mar 23, 5:25 AM
F15421265: D18847.id.diff
Fri, Mar 21, 10:06 PM
F15419935: D18847.id45213.diff
Fri, Mar 21, 9:59 AM
F15417631: D18847.diff
Thu, Mar 20, 5:41 PM
Unknown Object (File)
Feb 17 2025, 12:38 AM
Subscribers
None

Details

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.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable