diff --git a/backend/cmd/configure/update_config.go b/backend/cmd/configure/update_config.go index 206ee77692..b833c4cf92 100644 --- a/backend/cmd/configure/update_config.go +++ b/backend/cmd/configure/update_config.go @@ -84,11 +84,14 @@ func setField(field Updater, fields map[string]any, depth int) { Label: fmt.Sprintf("Select one of %s: (%s)", f.Name(), f.Describe()), Items: possibilities, } - i, _, err := prompt.Run() + i, value, err := prompt.Run() if err != nil { + fmt.Println("panic", err) panic(err) } - setField(f.Fields()[i], fields, depth+1) + fv := fields[value] + // TODO: fv is result of decoder (postgres.config in this case) + setField(f.Fields()[i], fv.(map[string]any), depth+1) } } diff --git a/backend/storage/database/dialect/postgres/config.go b/backend/storage/database/dialect/postgres/config.go index ef93d0d19d..285a764644 100644 --- a/backend/storage/database/dialect/postgres/config.go +++ b/backend/storage/database/dialect/postgres/config.go @@ -43,7 +43,9 @@ func DecodeConfig(_ string, config any) (database.Connector, error) { } return &Config{config}, nil case map[string]any: - return nil, errors.New("map configuration not implemented") + return &Config{ + Config: &pgxpool.Config{}, + }, nil } return nil, errors.New("invalid configuration") }