mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
fix(region): add filter for secgroup rule (#22578)
This commit is contained in:
@@ -255,6 +255,8 @@ type SecgroupResourceInput struct {
|
||||
|
||||
type SecgroupFilterListInput struct {
|
||||
SecgroupResourceInput
|
||||
RegionalFilterListInput
|
||||
ManagedResourceListInput
|
||||
|
||||
// 以安全组排序
|
||||
OrderBySecgroup string `json:"order_by_secgroup"`
|
||||
|
||||
@@ -125,10 +125,23 @@ func (manager *SSecurityGroupResourceBaseManager) ListItemFilter(
|
||||
}
|
||||
q = q.Equals("secgroup_id", secgrpObj.GetId())
|
||||
}
|
||||
|
||||
if len(query.SecgroupName) > 0 {
|
||||
sq := SecurityGroupManager.Query("id").Like("name", "%"+query.SecgroupName+"%")
|
||||
q = q.In("secgroup_id", sq.SubQuery())
|
||||
}
|
||||
|
||||
var err error
|
||||
q, err = manager.SManagedResourceBaseManager.ListItemFilter(ctx, q, userCred, query.ManagedResourceListInput)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "SManagedResourceBaseManager.ListItemFilter")
|
||||
}
|
||||
|
||||
q, err = manager.SCloudregionResourceBaseManager.ListItemFilter(ctx, q, userCred, query.RegionalFilterListInput)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "SCloudregionResourceBaseManager.ListItemFilter")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user