mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 10:46:58 +08:00
fix(region): order by os dist
This commit is contained in:
@@ -122,6 +122,9 @@ type ServerListInput struct {
|
||||
|
||||
InstanceType []string `json:"instance_type"`
|
||||
|
||||
// 根据镜像发行版排序
|
||||
OrderByOsDist string `json:"order_by_os_dist"`
|
||||
|
||||
// 是否调度到宿主机上
|
||||
WithHost *bool `json:"with_host"`
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"`
|
||||
|
||||
Reference in New Issue
Block a user