mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-10-26 08:00:12 +00:00
fix(appstore): refresh cached app resources and PHP runtime version options (#14185)
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"os/exec"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"slices"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -584,6 +585,21 @@ func (r *RuntimeService) Get(id uint) (*response.RuntimeDTO, error) {
|
||||
|
||||
for _, form := range appForm.FormFields {
|
||||
if v, ok := envs[form.EnvKey]; ok {
|
||||
if form.EnvKey == "PHP_VERSION" {
|
||||
// Refresh only version choices; keep the saved form if synchronized metadata is unavailable.
|
||||
var latestForm dto.AppForm
|
||||
if json.Unmarshal([]byte(appDetail.Params), &latestForm) == nil {
|
||||
for _, latest := range latestForm.FormFields {
|
||||
if latest.EnvKey == form.EnvKey && len(latest.Values) > 0 {
|
||||
form.Values = latest.Values
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if v != "" && !slices.ContainsFunc(form.Values, func(value dto.AppFormValue) bool { return value.Value == v }) {
|
||||
form.Values = append(form.Values, dto.AppFormValue{Label: v, Value: v})
|
||||
}
|
||||
}
|
||||
appParam := response.AppParam{
|
||||
Edit: false,
|
||||
Key: form.EnvKey,
|
||||
|
||||
Reference in New Issue
Block a user