Page MenuHomePhabricator

Allow "harbormaster.createartifact" to decode raw HTTP parameter types of artifact properties
ClosedPublic

Authored by epriestley on Nov 17 2016, 1:48 PM.

Details

Summary

Ref T11887. This isn't a great fix but makes the method behave properly until I get around to a real fix.

In the longer term, I want to convert all of this pluggable Harbormaster/Drydock stuff (blueprints, artifacts, build plans) to use EditEngine + EditField instead of the weird mishmash of older/custom stuff it currently uses. However, this is a more involved project to execute and I'd like to be in that area of the codebase first so it gets adequate testing.

Until that happens, just put a reasonble-ish mechanism in place to let artifacts correct inbound types. This is the only artifact type and only parameter which needs casting.

Test Plan
  • Made a curl call to harbormaster.createartifact to create a URI artifact with ?...&ui.external=1.
  • Before patch: type error on ui.external not being a boolean.
  • After patch: artifact created successfully.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Allow "harbormaster.createartifact" to decode raw HTTP parameter types of artifact properties.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
Owners added a subscriber: Restricted Owners Package.Nov 17 2016, 1:48 PM
chad edited edge metadata.
This revision is now accepted and ready to land.Nov 17 2016, 2:51 PM
This revision was automatically updated to reflect the committed changes.