diff --git a/pkg/cloudcommon/db/enabledstatusinfrasresource.go b/pkg/cloudcommon/db/enabledstatusinfrasresource.go index eae2b6b72e..4cac98c703 100644 --- a/pkg/cloudcommon/db/enabledstatusinfrasresource.go +++ b/pkg/cloudcommon/db/enabledstatusinfrasresource.go @@ -22,9 +22,9 @@ import ( "yunion.io/x/sqlchemy" "yunion.io/x/onecloud/pkg/apis" + "yunion.io/x/onecloud/pkg/cloudcommon/policy" "yunion.io/x/onecloud/pkg/httperrors" "yunion.io/x/onecloud/pkg/mcclient" - "yunion.io/x/onecloud/pkg/util/rbacutils" "yunion.io/x/onecloud/pkg/util/stringutils2" ) @@ -82,20 +82,13 @@ func (manager *SEnabledStatusInfrasResourceBaseManager) GetPropertyStatistics(ct var err error q := manager.Query() - q, err = ListItemFilter(im, ctx, q, userCred, query) + q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList) if err != nil { return nil, err } sq := q.SubQuery() statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id"))) - _, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, im, rbacutils.ActionList, true) - if err != nil { - return nil, httperrors.NewGeneralError(err) - } - statQ = manager.FilterByOwner(statQ, userCred, queryScope) - statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope) - statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope) statQ = statQ.GroupBy(sq.Field("status")) ret := []struct { diff --git a/pkg/cloudcommon/db/statusinfrasresource.go b/pkg/cloudcommon/db/statusinfrasresource.go index 6828a175e2..32d1b8b643 100644 --- a/pkg/cloudcommon/db/statusinfrasresource.go +++ b/pkg/cloudcommon/db/statusinfrasresource.go @@ -22,9 +22,9 @@ import ( "yunion.io/x/sqlchemy" "yunion.io/x/onecloud/pkg/apis" + "yunion.io/x/onecloud/pkg/cloudcommon/policy" "yunion.io/x/onecloud/pkg/httperrors" "yunion.io/x/onecloud/pkg/mcclient" - "yunion.io/x/onecloud/pkg/util/rbacutils" "yunion.io/x/onecloud/pkg/util/stringutils2" ) @@ -68,20 +68,13 @@ func (manager *SStatusInfrasResourceBaseManager) GetPropertyStatistics(ctx conte var err error q := manager.Query() - q, err = ListItemFilter(im, ctx, q, userCred, query) + q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList) if err != nil { return nil, err } sq := q.SubQuery() statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id"))) - _, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, im, rbacutils.ActionList, true) - if err != nil { - return nil, httperrors.NewGeneralError(err) - } - statQ = manager.FilterByOwner(statQ, userCred, queryScope) - statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope) - statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope) statQ = statQ.GroupBy(sq.Field("status")) ret := []struct { diff --git a/pkg/cloudcommon/db/statusstandalone.go b/pkg/cloudcommon/db/statusstandalone.go index f6d5c23e3d..41139b9c1f 100644 --- a/pkg/cloudcommon/db/statusstandalone.go +++ b/pkg/cloudcommon/db/statusstandalone.go @@ -22,9 +22,9 @@ import ( "yunion.io/x/sqlchemy" "yunion.io/x/onecloud/pkg/apis" + "yunion.io/x/onecloud/pkg/cloudcommon/policy" "yunion.io/x/onecloud/pkg/httperrors" "yunion.io/x/onecloud/pkg/mcclient" - "yunion.io/x/onecloud/pkg/util/rbacutils" "yunion.io/x/onecloud/pkg/util/stringutils2" ) @@ -68,20 +68,13 @@ func (manager *SStatusStandaloneResourceBaseManager) GetPropertyStatistics(ctx c var err error q := manager.Query() - q, err = ListItemFilter(im, ctx, q, userCred, query) + q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList) if err != nil { return nil, err } sq := q.SubQuery() statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id"))) - _, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, im, rbacutils.ActionList, true) - if err != nil { - return nil, httperrors.NewGeneralError(err) - } - statQ = manager.FilterByOwner(statQ, userCred, queryScope) - statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope) - statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope) statQ = statQ.GroupBy(sq.Field("status")) ret := []struct { diff --git a/pkg/cloudcommon/db/virtualresource.go b/pkg/cloudcommon/db/virtualresource.go index 708ce2f1e1..46488160aa 100644 --- a/pkg/cloudcommon/db/virtualresource.go +++ b/pkg/cloudcommon/db/virtualresource.go @@ -99,21 +99,13 @@ func (manager *SVirtualResourceBaseManager) GetPropertyStatistics(ctx context.Co var err error q := manager.Query() - q, err = ListItemFilter(im, ctx, q, userCred, query) + q, err = ListItemQueryFilters(im, ctx, q, userCred, query, policy.PolicyActionList) if err != nil { return nil, err } sq := q.SubQuery() statQ := sq.Query(sq.Field("status"), sqlchemy.COUNT("total_count", sq.Field("id")), sqlchemy.SUM("pending_deleted_count", sq.Field("pending_deleted"))) - _, queryScope, err := FetchCheckQueryOwnerScope(ctx, userCred, query, manager, rbacutils.ActionList, true) - if err != nil { - return nil, httperrors.NewGeneralError(err) - } - - statQ = manager.FilterByOwner(statQ, userCred, queryScope) - statQ = manager.FilterBySystemAttributes(statQ, userCred, query, queryScope) - statQ = manager.FilterByHiddenSystemAttributes(statQ, userCred, query, queryScope) statQ = statQ.GroupBy(sq.Field("status")) ret := []struct { Status string