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
Unknown Object (File)
Fri, Jan 24, 10:57 PM
Unknown Object (File)
Fri, Jan 24, 10:57 PM
Unknown Object (File)
Fri, Jan 24, 10:57 PM
Unknown Object (File)
Fri, Jan 24, 10:57 PM
Unknown Object (File)
Dec 29 2024, 5:22 PM
Unknown Object (File)
Dec 26 2024, 11:54 PM
Unknown Object (File)
Dec 26 2024, 10:45 AM
Unknown Object (File)
Dec 20 2024, 9:22 PM
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
Branch
dock2
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 18992
Build 25617: Run Core Tests
Build 25616: arc lint + arc unit