mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
loadbalancers: 使用ApplyModelFilters()
This commit is contained in:
@@ -52,13 +52,11 @@ func (man *SLoadbalancerBackendGroupManager) ListItemFilter(ctx context.Context,
|
||||
}
|
||||
userProjId := userCred.GetProjectId()
|
||||
data := query.(*jsonutils.JSONDict)
|
||||
{
|
||||
lbV := validators.NewModelIdOrNameValidator("loadbalancer", "loadbalancer", userProjId)
|
||||
lbV.Optional(true)
|
||||
q, err = lbV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
q, err = validators.ApplyModelFilters(q, data, []*validators.ModelFilterOptions{
|
||||
{Key: "loadbalancer", ModelKeyword: "loadbalancer", ProjectId: userProjId},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
|
||||
@@ -55,22 +55,12 @@ func (man *SLoadbalancerBackendManager) ListItemFilter(ctx context.Context, q *s
|
||||
}
|
||||
userProjId := userCred.GetProjectId()
|
||||
data := query.(*jsonutils.JSONDict)
|
||||
{
|
||||
backendGroupV := validators.NewModelIdOrNameValidator("backend_group", "loadbalancerbackendgroup", userProjId)
|
||||
backendGroupV.Optional(true)
|
||||
q, err = backendGroupV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
{
|
||||
// NOTE extend this when new backend_type was added
|
||||
backendV := validators.NewModelIdOrNameValidator("backend", "server", userProjId)
|
||||
backendV.Optional(true)
|
||||
q, err = backendV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
q, err = validators.ApplyModelFilters(q, data, []*validators.ModelFilterOptions{
|
||||
{Key: "backend_group", ModelKeyword: "loadbalancerbackendgroup", ProjectId: userProjId},
|
||||
{Key: "backend", ModelKeyword: "server", ProjectId: userProjId}, // NOTE extend this when new backend_type was added
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
|
||||
@@ -72,21 +72,12 @@ func (man *SLoadbalancerListenerRuleManager) ListItemFilter(ctx context.Context,
|
||||
}
|
||||
userProjId := userCred.GetProjectId()
|
||||
data := query.(*jsonutils.JSONDict)
|
||||
{
|
||||
listenerV := validators.NewModelIdOrNameValidator("listener", "loadbalancerlistener", userProjId)
|
||||
listenerV.Optional(true)
|
||||
q, err = listenerV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
{
|
||||
backendGroupV := validators.NewModelIdOrNameValidator("backend_group", "loadbalancerbackendgroup", userProjId)
|
||||
backendGroupV.Optional(true)
|
||||
q, err = backendGroupV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
q, err = validators.ApplyModelFilters(q, data, []*validators.ModelFilterOptions{
|
||||
{Key: "listener", ModelKeyword: "loadbalancerlistener", ProjectId: userProjId},
|
||||
{Key: "backend_group", ModelKeyword: "loadbalancerbackendgroup", ProjectId: userProjId},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
|
||||
@@ -143,29 +143,13 @@ func (man *SLoadbalancerListenerManager) ListItemFilter(ctx context.Context, q *
|
||||
}
|
||||
userProjId := userCred.GetProjectId()
|
||||
data := query.(*jsonutils.JSONDict)
|
||||
{
|
||||
lbV := validators.NewModelIdOrNameValidator("loadbalancer", "loadbalancer", userProjId)
|
||||
lbV.Optional(true)
|
||||
q, err = lbV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
{
|
||||
backendGroupV := validators.NewModelIdOrNameValidator("backend_group", "loadbalancerbackendgroup", userProjId)
|
||||
backendGroupV.Optional(true)
|
||||
q, err = backendGroupV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
{
|
||||
aclV := validators.NewModelIdOrNameValidator("acl", "loadbalanceracl", userProjId)
|
||||
aclV.Optional(true)
|
||||
q, err = aclV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
q, err = validators.ApplyModelFilters(q, data, []*validators.ModelFilterOptions{
|
||||
{Key: "loadbalancer", ModelKeyword: "loadbalancer", ProjectId: userProjId},
|
||||
{Key: "backend_group", ModelKeyword: "loadbalancerbackendgroup", ProjectId: userProjId},
|
||||
{Key: "acl", ModelKeyword: "loadbalanceracl", ProjectId: userProjId},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
|
||||
@@ -62,21 +62,12 @@ func (man *SLoadbalancerManager) ListItemFilter(ctx context.Context, q *sqlchemy
|
||||
}
|
||||
userProjId := userCred.GetProjectId()
|
||||
data := query.(*jsonutils.JSONDict)
|
||||
{
|
||||
networkV := validators.NewModelIdOrNameValidator("network", "network", userProjId)
|
||||
networkV.Optional(true)
|
||||
q, err = networkV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
{
|
||||
zoneV := validators.NewModelIdOrNameValidator("zone", "zone", userProjId)
|
||||
zoneV.Optional(true)
|
||||
q, err = zoneV.QueryFilter(q, data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
q, err = validators.ApplyModelFilters(q, data, []*validators.ModelFilterOptions{
|
||||
{Key: "network", ModelKeyword: "network", ProjectId: userProjId},
|
||||
{Key: "zone", ModelKeyword: "zone", ProjectId: userProjId},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user