From 464de3173e6aa8e097bf84e9c65c5b7f9c300259 Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Thu, 28 Nov 2019 11:12:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Drds=E6=99=AE=E9=80=9A?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E4=B8=8B=E8=B4=A6=E5=8F=B7=E6=9D=83=E9=99=90?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/dbinstance_accounts.go | 9 +++++++++ pkg/compute/models/dbinstance_databases.go | 18 +++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/pkg/compute/models/dbinstance_accounts.go b/pkg/compute/models/dbinstance_accounts.go index deecff79ca..0083dfe3b7 100644 --- a/pkg/compute/models/dbinstance_accounts.go +++ b/pkg/compute/models/dbinstance_accounts.go @@ -73,6 +73,15 @@ func (manager *SDBInstanceAccountManager) ResourceScope() rbacutils.TRbacScope { return rbacutils.ScopeProject } +func (self *SDBInstanceAccount) GetOwnerId() mcclient.IIdentityProvider { + instance, err := self.GetDBInstance() + if err != nil { + log.Errorf("failed to get instance for account %s(%s)", self.Name, self.Id) + return nil + } + return instance.GetOwnerId() +} + func (manager *SDBInstanceAccountManager) AllowListItems(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool { if jsonutils.QueryBoolean(query, "admin", false) && !db.IsAllowList(rbacutils.ScopeProject, userCred, manager) { return false diff --git a/pkg/compute/models/dbinstance_databases.go b/pkg/compute/models/dbinstance_databases.go index ddf4b37a50..e00e1d5c73 100644 --- a/pkg/compute/models/dbinstance_databases.go +++ b/pkg/compute/models/dbinstance_databases.go @@ -70,6 +70,15 @@ func (manager *SDBInstanceDatabaseManager) ResourceScope() rbacutils.TRbacScope return rbacutils.ScopeProject } +func (self *SDBInstanceDatabase) GetOwnerId() mcclient.IIdentityProvider { + instance, err := self.GetDBInstance() + if err != nil { + log.Errorf("failed to get instance for database %s(%s)", self.Name, self.Id) + return nil + } + return instance.GetOwnerId() +} + func (manager *SDBInstanceDatabaseManager) AllowListItems(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool { if jsonutils.QueryBoolean(query, "admin", false) && !db.IsAllowList(rbacutils.ScopeProject, userCred, manager) { return false @@ -117,15 +126,6 @@ func (self *SDBInstanceDatabase) AllowUpdateItem(ctx context.Context, userCred m return false } -func (self *SDBInstanceDatabase) GetOwnerId() mcclient.IIdentityProvider { - instance, err := self.GetDBInstance() - if err != nil { - log.Errorf("failed to get dbinstance for database %s(%s)", self.Id, self.Name) - return nil - } - return instance.GetOwnerId() -} - func (self *SDBInstanceDatabase) AllowDeleteItem(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) bool { return db.IsAdminAllowDelete(userCred, self) }