fix: prevent change in defaults if user unsets in template edit (#10793)

* fix: template edit not change defaults if user unset
This commit is contained in:
Steven Masley
2023-11-20 18:14:30 -06:00
committed by GitHub
parent e6dc9eeffc
commit 7060069034
3 changed files with 68 additions and 6 deletions
+14 -6
View File
@@ -120,16 +120,24 @@ func (r *RootCmd) templateEdit() *clibase.Cmd {
autostopRequirementDaysOfWeek = []string{}
}
// Only pass explicitly set deprecated values since the empty string
// removes the deprecated message. By default if we pass a nil,
// there is no change to this field.
// Default values
if !userSetOption(inv, "description") {
description = template.Description
}
if !userSetOption(inv, "icon") {
icon = template.Icon
}
if !userSetOption(inv, "display-name") {
displayName = template.DisplayName
}
var deprecated *string
opt := inv.Command.Options.ByName(deprecatedFlagName)
if !(opt.ValueSource == "" || opt.ValueSource == clibase.ValueSourceDefault) {
if !userSetOption(inv, "deprecated") {
deprecated = &deprecationMessage
}
// NOTE: coderd will ignore empty fields.
req := codersdk.UpdateTemplateMeta{
Name: name,
DisplayName: displayName,