fix: manage multiple version showing edge cases

This commit is contained in:
2021-10-08 10:50:48 +02:00
parent dde8afcd43
commit c764243f3a
2 changed files with 25 additions and 7 deletions

View File

@ -91,12 +91,19 @@ can take some time.
stackName = app.Env["STACK_NAME"]
}
var version string
if status, ok := statuses[stackName]; ok {
version = status["version"]
tableRow = append(tableRow, status["status"], version)
status := "unknown"
version := "unknown"
if statusMeta, ok := statuses[stackName]; ok {
if currentVersion, exists := statusMeta["version"]; exists {
version = currentVersion
}
if statusMeta["status"] != "" {
status = statusMeta["status"]
}
tableRow = append(tableRow, status, version)
} else {
tableRow = append(tableRow, "unknown")
tableRow = append(tableRow, status, version)
}
var newUpdates []string
@ -104,13 +111,19 @@ can take some time.
if err != nil {
logrus.Fatal(err)
}
for _, update := range updates {
if update != version {
newUpdates = append(newUpdates, update)
}
}
if len(newUpdates) == 0 {
tableRow = append(tableRow, "none, on latest")
if version == "unknown" {
tableRow = append(tableRow, "unknown")
} else {
tableRow = append(tableRow, "none, on latest")
}
} else {
// FIXME: jeezus golang why do you not have a list reverse function
for i, j := 0, len(newUpdates)-1; i < j; i, j = i+1, j-1 {