Skip to content

Commit 87bd4c3

Browse files
committed
feat(server): sort list ip-addresses by access and floating values
1 parent 610f879 commit 87bd4c3

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

internal/commands/server/list.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package server
22

33
import (
44
"fmt"
5+
"sort"
56
"strings"
67
"sync"
78

@@ -161,6 +162,24 @@ func getServerIPAddresses(uuid string, svc service.AllServices) ([]listIPAddress
161162
}
162163
}
163164

165+
sort.Slice(ipaddresses, func(i, j int) bool {
166+
accessMap := map[string]int{
167+
"public": 3,
168+
"private": 2,
169+
"utility": 1,
170+
}
171+
floatingMap := map[bool]int{
172+
true: 1,
173+
false: 0,
174+
}
175+
176+
if accessMap[ipaddresses[i].Access] != accessMap[ipaddresses[j].Access] {
177+
return accessMap[ipaddresses[i].Access] > accessMap[ipaddresses[j].Access]
178+
}
179+
180+
return floatingMap[ipaddresses[i].Floating] > floatingMap[ipaddresses[j].Floating]
181+
})
182+
164183
return ipaddresses, nil
165184
}
166185

0 commit comments

Comments
 (0)