fix(core): дозаполнять ВСЕ незаданные params modify их live-значением (по коду), иначе модификатор сбрасывает create-поля в дефолт
This commit is contained in:
@@ -1599,9 +1599,11 @@ func (c *UniversalClient) RunInstanceOperationUniversalByCode(ctx context.Contex
|
||||
if sent[param.SvcOperationCfsParamId] {
|
||||
continue
|
||||
}
|
||||
if !param.IsRequired {
|
||||
continue
|
||||
}
|
||||
// Дозаполняем ВСЕ незаданные параметры их текущим live-значением
|
||||
// (ParamValue из GET ?fields=cfsParams), а не только required.
|
||||
// Бэкенд для modify трактует пропущенный/null как reset-to-default,
|
||||
// из-за чего частичный payload затирал create-поля (см. prompt_for_opus_modifier_null_bug.md).
|
||||
// Поведение выровнено под RunInstanceOperationUniversalWithDefaults.
|
||||
val := ""
|
||||
if param.ParamValue != nil {
|
||||
val = *param.ParamValue
|
||||
@@ -1609,9 +1611,6 @@ func (c *UniversalClient) RunInstanceOperationUniversalByCode(ctx context.Contex
|
||||
val = *param.DefaultValue
|
||||
}
|
||||
val = normalizeUniversalValueV6(val, param)
|
||||
if !param.IsRequired && strings.TrimSpace(val) == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
pPayload := genericParamReq{
|
||||
InstanceOperationUid: opUid,
|
||||
|
||||
Reference in New Issue
Block a user