feature: cloudprovider capability filter and listinput recode

This commit is contained in:
Qiu Jian
2020-01-13 13:19:47 +08:00
parent 49b8d52634
commit 14c1ddaccb
131 changed files with 2392 additions and 1374 deletions
+17 -3
View File
@@ -20,6 +20,7 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/log"
"yunion.io/x/pkg/errors"
"yunion.io/x/sqlchemy"
api "yunion.io/x/onecloud/pkg/apis/cloudevent"
@@ -75,12 +76,25 @@ func (self *SCloudevent) AllowUpdateItem(ctx context.Context, userCred mcclient.
return false
}
func (manager *SCloudeventManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, input *api.CloudeventListInput) (*sqlchemy.SQuery, error) {
q, err := manager.SModelBaseManager.ListItemFilter(ctx, q, userCred, input.JSON(input))
func (manager *SCloudeventManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, input api.CloudeventListInput) (*sqlchemy.SQuery, error) {
q, err := manager.SModelBaseManager.ListItemFilter(ctx, q, userCred, input.ModelBaseListInput)
if err != nil {
return nil, err
return nil, errors.Wrap(err, "SVirtualResourceBaseManager.ListItemFilter")
}
/* input.Cloudprovider = input.CloudproviderStr()
if len(input.Cloudprovider) > 0 {
providerObj, err := CloudproviderManager.FetchByIdOrName(userCred, input.Cloudprovider)
if err != nil {
if err == sql.ErrNoRows {
return nil, httperrors.NewResourceNotFoundError2(CloudproviderManager.Keyword(), input.Cloudprovider)
} else {
return nil, httperrors.NewGeneralError(err)
}
}
q = q.Equals("cloudprovider_id", providerObj.GetId())
}*/
if len(input.Providers) > 0 {
q = q.In("provider", input.Providers)
}