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
F18815159: D18847.id45227.diff
Tue, Oct 21, 1:06 AM
F18762645: D18847.id.diff
Mon, Oct 6, 8:02 PM
F18757248: D18847.diff
Sun, Oct 5, 4:23 PM
F18566448: D18847.id.diff
Sep 9 2025, 2:38 PM
F18501903: D18847.diff
Sep 4 2025, 10:02 PM
F18446242: D18847.id45213.diff
Aug 31 2025, 9:18 PM
F18394880: D18847.diff
Aug 29 2025, 10:34 AM
F18393257: D18847.diff
Aug 29 2025, 9:00 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