fix(cloudproxy): ssh proxy endpoint&match query

This commit is contained in:
TangBin
2021-04-23 19:38:34 +08:00
parent 66587cfb6e
commit 62f9243ba2
4 changed files with 45 additions and 1 deletions
+5
View File
@@ -252,6 +252,11 @@ func (man *SProxyEndpointManager) ListItemFilter(
userCred mcclient.TokenCredential,
input cloudproxy_api.ProxyEndpointListInput,
) (*sqlchemy.SQuery, error) {
q, err := man.SVirtualResourceBaseManager.ListItemFilter(ctx, q, userCred, input.VirtualResourceListInput)
if err != nil {
return nil, errors.Wrap(err, "SVirtualResourceBaseManager.ListItemFilter")
}
filters := [][2]string{
[2]string{cloudproxy_api.PM_SCOPE_VPC, input.VpcId},
[2]string{cloudproxy_api.PM_SCOPE_NETWORK, input.NetworkId},
+25
View File
@@ -18,9 +18,11 @@ import (
"context"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/sqlchemy"
api "yunion.io/x/onecloud/pkg/apis/cloudproxy"
cloudproxy_api "yunion.io/x/onecloud/pkg/apis/cloudproxy"
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/cloudcommon/validators"
"yunion.io/x/onecloud/pkg/mcclient"
@@ -111,3 +113,26 @@ func (man *SProxyMatchManager) findMatch(ctx context.Context, networkId, vpcId s
}
return r
}
func (man *SProxyMatchManager) ListItemFilter(
ctx context.Context,
q *sqlchemy.SQuery,
userCred mcclient.TokenCredential,
input cloudproxy_api.ProxyMatchListInput,
) (*sqlchemy.SQuery, error) {
q, err := man.SVirtualResourceBaseManager.ListItemFilter(ctx, q, userCred, input.VirtualResourceListInput)
if err != nil {
return nil, errors.Wrap(err, "SVirtualResourceBaseManager.ListItemFilter")
}
if len(input.ProxyEndpointId) > 0 {
_, err := validators.ValidateModel(userCred, ProxyEndpointManager, &input.ProxyEndpointId)
if err != nil {
return nil, err
}
q = q.Equals("proxy_endpoint_id", input.ProxyEndpointId)
}
return q, nil
}