MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / GetUpgradeVersionInfo

Function GetUpgradeVersionInfo

agent/utils/version/version.go:23–60  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

21)
22
23func GetUpgradeVersionInfo() (*dto.UpgradeInfo, error) {
24 var upgrade dto.UpgradeInfo
25 var currentVersion model.Setting
26 if err := global.CoreDB.Model(&model.Setting{}).Where("key = ?", "SystemVersion").First(&currentVersion).Error; err != nil {
27 global.LOG.Errorf("load %s from db setting failed, err: %v", "SystemVersion", err)
28 return nil, err
29 }
30 var developerMode model.Setting
31 if err := global.CoreDB.Model(&model.Setting{}).Where("key = ?", "DeveloperMode").First(&developerMode).Error; err != nil {
32 global.LOG.Errorf("load %s from db setting failed, err: %v", "DeveloperMode", err)
33 return nil, err
34 }
35
36 upgrade.TestVersion, upgrade.NewVersion, upgrade.LatestVersion = loadVersionByMode(developerMode.Value, currentVersion.Value)
37 var itemVersion string
38 if len(upgrade.NewVersion) != 0 {
39 itemVersion = upgrade.NewVersion
40 }
41 if (global.CONF.Base.Mode == "dev" || developerMode.Value == constant.StatusEnable) && len(upgrade.TestVersion) != 0 {
42 itemVersion = upgrade.TestVersion
43 }
44 if len(upgrade.LatestVersion) != 0 {
45 itemVersion = upgrade.LatestVersion
46 }
47 if len(itemVersion) == 0 {
48 return &upgrade, nil
49 }
50 mode := global.CONF.Base.Mode
51 if strings.Contains(itemVersion, "beta") {
52 mode = "beta"
53 }
54 notes, err := loadReleaseNotes(fmt.Sprintf("%s/%s/%s/release/1panel-%s-release-notes", global.RepoURL(), mode, itemVersion, itemVersion))
55 if err != nil {
56 return nil, fmt.Errorf("load releases-notes of version %s failed, err: %v", itemVersion, err)
57 }
58 upgrade.ReleaseNote = notes
59 return &upgrade, nil
60}
61
62func loadVersionByMode(developer, currentVersion string) (string, string, string) {
63 var current, latest string

Callers

nothing calls this directly

Calls 2

loadVersionByModeFunction · 0.85
loadReleaseNotesFunction · 0.70

Tested by

no test coverage detected