commits
This commit is contained in:
@@ -78,20 +78,23 @@ func (c *PlatformSoftwareUpgradeController) backfillDownloadURL(productID uint64
|
||||
func (c *PlatformSoftwareUpgradeController) rowToMap(row *models.SystemSoftwareUpgrade) map[string]interface{} {
|
||||
scheme, host := services.PublicRequestBaseURL(&c.Controller)
|
||||
resolved := services.ResolveSoftwareDownloadURL(scheme, host, row.DownloadURL, row.FileID)
|
||||
resolvedMulti := services.ResolveSoftwareDownloadURLs(scheme, host, row.DownloadURLs)
|
||||
return map[string]interface{}{
|
||||
"id": row.ID,
|
||||
"name": row.Name,
|
||||
"code": row.Code,
|
||||
"latestVersion": row.LatestVersion,
|
||||
"fileId": row.FileID,
|
||||
"downloadUrl": row.DownloadURL,
|
||||
"resolvedDownloadUrl": resolved,
|
||||
"forceUpdate": row.ForceUpdate,
|
||||
"releaseNotes": row.ReleaseNotes,
|
||||
"status": row.Status,
|
||||
"sort": row.Sort,
|
||||
"createTime": row.CreateTime,
|
||||
"updateTime": row.UpdateTime,
|
||||
"id": row.ID,
|
||||
"name": row.Name,
|
||||
"code": row.Code,
|
||||
"latestVersion": row.LatestVersion,
|
||||
"fileId": row.FileID,
|
||||
"downloadUrl": row.DownloadURL,
|
||||
"downloadUrls": row.DownloadURLs,
|
||||
"resolvedDownloadUrl": resolved,
|
||||
"resolvedDownloadUrls": resolvedMulti,
|
||||
"forceUpdate": row.ForceUpdate,
|
||||
"releaseNotes": row.ReleaseNotes,
|
||||
"status": row.Status,
|
||||
"sort": row.Sort,
|
||||
"createTime": row.CreateTime,
|
||||
"updateTime": row.UpdateTime,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,15 +161,16 @@ func (c *PlatformSoftwareUpgradeController) Detail() {
|
||||
}
|
||||
|
||||
type softwareUpgradePayload struct {
|
||||
Name *string `json:"name"`
|
||||
Code *string `json:"code"`
|
||||
LatestVersion *string `json:"latestVersion"`
|
||||
FileID *uint64 `json:"fileId"`
|
||||
DownloadURL *string `json:"downloadUrl"`
|
||||
ForceUpdate *int8 `json:"forceUpdate"`
|
||||
ReleaseNotes *string `json:"releaseNotes"`
|
||||
Status *int8 `json:"status"`
|
||||
Sort *int `json:"sort"`
|
||||
Name *string `json:"name"`
|
||||
Code *string `json:"code"`
|
||||
LatestVersion *string `json:"latestVersion"`
|
||||
FileID *uint64 `json:"fileId"`
|
||||
DownloadURL *string `json:"downloadUrl"`
|
||||
DownloadURLs map[string]string `json:"downloadUrls"`
|
||||
ForceUpdate *int8 `json:"forceUpdate"`
|
||||
ReleaseNotes *string `json:"releaseNotes"`
|
||||
Status *int8 `json:"status"`
|
||||
Sort *int `json:"sort"`
|
||||
}
|
||||
|
||||
// Create POST /platform/softwareupgrade
|
||||
@@ -198,6 +202,12 @@ func (c *PlatformSoftwareUpgradeController) Create() {
|
||||
Status: 1,
|
||||
Sort: 0,
|
||||
}
|
||||
if len(p.DownloadURLs) > 0 {
|
||||
if b, err := json.Marshal(p.DownloadURLs); err == nil {
|
||||
s := string(b)
|
||||
row.DownloadURLs = &s
|
||||
}
|
||||
}
|
||||
if p.ForceUpdate != nil {
|
||||
row.ForceUpdate = *p.ForceUpdate
|
||||
}
|
||||
@@ -263,6 +273,22 @@ func (c *PlatformSoftwareUpgradeController) Update() {
|
||||
if p.DownloadURL != nil {
|
||||
up["download_url"] = strings.TrimSpace(*p.DownloadURL)
|
||||
}
|
||||
if p.DownloadURLs != nil {
|
||||
clean := map[string]string{}
|
||||
for k, v := range p.DownloadURLs {
|
||||
platform := strings.ToLower(strings.TrimSpace(k))
|
||||
url := strings.TrimSpace(v)
|
||||
if platform == "" || url == "" {
|
||||
continue
|
||||
}
|
||||
clean[platform] = url
|
||||
}
|
||||
if len(clean) == 0 {
|
||||
up["download_urls"] = nil
|
||||
} else if b, err := json.Marshal(clean); err == nil {
|
||||
up["download_urls"] = string(b)
|
||||
}
|
||||
}
|
||||
if p.ForceUpdate != nil {
|
||||
up["force_update"] = *p.ForceUpdate
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user