fix(region): order by os dist

This commit is contained in:
ioito
2023-11-14 10:46:09 +08:00
parent 7ddcafd0fa
commit 123adc1a28
3 changed files with 10 additions and 0 deletions
+3
View File
@@ -122,6 +122,9 @@ type ServerListInput struct {
InstanceType []string `json:"instance_type"`
// 根据镜像发行版排序
OrderByOsDist string `json:"order_by_os_dist"`
// 是否调度到宿主机上
WithHost *bool `json:"with_host"`
}
+6
View File
@@ -739,6 +739,12 @@ func (manager *SGuestManager) OrderByExtraFields(ctx context.Context, q *sqlchem
}
}
if db.NeedOrderQuery([]string{query.OrderByOsDist}) {
meta := db.Metadata.Query().Equals("key", "os_distribution").SubQuery()
q = q.LeftJoin(meta, sqlchemy.Equals(q.Field("id"), meta.Field("obj_id")))
db.OrderByFields(q, []string{query.OrderByOsDist}, []sqlchemy.IQueryField{meta.Field("value")})
}
if db.NeedOrderQuery([]string{query.OrderByDisk}) {
guestdisks := GuestdiskManager.Query().SubQuery()
disks := DiskManager.Query().SubQuery()
+1
View File
@@ -59,6 +59,7 @@ type ServerListOptions struct {
IpAddrs []string `help:"Fileter by ips"`
OrderByDisk string `help:"Order by disk size" choices:"asc|desc"`
OrderByOsDist string `help:"Order by os distribution" choices:"asc|desc"`
OrderByHost string `help:"Order by host name" choices:"asc|desc"`
OrderByNetwork string `help:"Order by network name" choices:"asc|desc"`
OrderByIp string `help:"Order by ip" choices:"asc|desc"`