Skip to content

Commit

Permalink
cloudcommon: remove unnecessary joint interface (#7524)
Browse files Browse the repository at this point in the history
  • Loading branch information
zexi committed Aug 10, 2020
1 parent c277d49 commit 9af25a2
Show file tree
Hide file tree
Showing 28 changed files with 11 additions and 225 deletions.
4 changes: 2 additions & 2 deletions pkg/cloudcommon/db/db_joint_dispatcher.go
Expand Up @@ -278,7 +278,7 @@ func (dispatcher *DBJointModelDispatcher) Detach(ctx context.Context, id1 string

obj, err := deleteItem(dispatcher.JointModelManager(), item, ctx, userCred, query, data)
if err == nil {
OpsLog.LogDetachEvent(ctx, item.Master(), item.Slave(), userCred, jsonutils.Marshal(item))
OpsLog.LogDetachEvent(ctx, JointMaster(item), JointSlave(item), userCred, jsonutils.Marshal(item))
}
return obj, err
}
Expand All @@ -290,7 +290,7 @@ func DetachJoint(ctx context.Context, userCred mcclient.TokenCredential, item IJ
}
err = item.Delete(ctx, userCred)
if err == nil {
OpsLog.LogDetachEvent(ctx, item.Master(), item.Slave(), userCred, item.GetShortDesc(ctx))
OpsLog.LogDetachEvent(ctx, JointMaster(item), JointSlave(item), userCred, item.GetShortDesc(ctx))
}
return err
}
3 changes: 0 additions & 3 deletions pkg/cloudcommon/db/interface.go
Expand Up @@ -233,9 +233,6 @@ type IJointModel interface {

GetIJointModel() IJointModel

Master() IStandaloneModel
Slave() IStandaloneModel

AllowDetach(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) bool

Detach(ctx context.Context, userCred mcclient.TokenCredential) error
Expand Down
16 changes: 4 additions & 12 deletions pkg/cloudcommon/db/jointbase.go
Expand Up @@ -107,11 +107,11 @@ func (manager *SJointResourceBaseManager) AllowAttach(ctx context.Context, userC

func JointModelExtra(jointModel IJointModel) (string, string) {
masterName, slaveName := "", ""
master := jointModel.Master()
master := JointMaster(jointModel)
if master != nil {
masterName = master.GetName()
}
slave := jointModel.Slave()
slave := JointSlave(jointModel)
if slave != nil {
slaveName = slave.GetName()
}
Expand Down Expand Up @@ -175,16 +175,8 @@ func (joint *SJointResourceBase) GetIJointModel() IJointModel {
return joint.GetVirtualObject().(IJointModel)
}

func (joint *SJointResourceBase) Master() IStandaloneModel {
return nil
}

func (joint *SJointResourceBase) Slave() IStandaloneModel {
return nil
}

func (self *SJointResourceBase) AllowGetJointDetails(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, item IJointModel) bool {
master := item.Master()
master := JointMaster(item)
switch master.(type) {
case IVirtualModel:
return master.(IVirtualModel).IsOwner(userCred) || IsAllowGet(rbacutils.ScopeSystem, userCred, master)
Expand All @@ -194,7 +186,7 @@ func (self *SJointResourceBase) AllowGetJointDetails(ctx context.Context, userCr
}

func (self *SJointResourceBase) AllowUpdateJointItem(ctx context.Context, userCred mcclient.TokenCredential, item IJointModel) bool {
master := item.Master()
master := JointMaster(item)
switch master.(type) {
case IVirtualModel:
return master.(IVirtualModel).IsOwner(userCred) || IsAllowUpdate(rbacutils.ScopeSystem, userCred, master)
Expand Down
4 changes: 2 additions & 2 deletions pkg/cloudcommon/db/rbac.go
Expand Up @@ -76,8 +76,8 @@ func isObjectRbacAllowed(model IModel, userCred mcclient.TokenCredential, action
}

func isJointObjectRbacAllowed(item IJointModel, userCred mcclient.TokenCredential, action string, extra ...string) error {
err1 := isObjectRbacAllowed(item.Master(), userCred, action, extra...)
err2 := isObjectRbacAllowed(item.Slave(), userCred, action, extra...)
err1 := isObjectRbacAllowed(JointMaster(item), userCred, action, extra...)
err2 := isObjectRbacAllowed(JointSlave(item), userCred, action, extra...)
if err1 == nil || err2 == nil {
return nil
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/cloudcommon/db/tablespec.go
Expand Up @@ -70,8 +70,8 @@ func (ts *sTableSpec) newInformerModel(dt interface{}) (*informer.ModelObject, e
}
jointObj, isJoint := obj.(IJointModel)
if isJoint {
mObj := jointObj.Master()
sObj := jointObj.Slave()
mObj := JointMaster(jointObj)
sObj := JointSlave(jointObj)
return informer.NewJointModel(jointObj, jointObj.KeywordPlural(), mObj.GetId(), sObj.GetId()), nil
}
return informer.NewModel(obj, obj.KeywordPlural(), obj.GetId()), nil
Expand Down
10 changes: 0 additions & 10 deletions pkg/cloudcommon/db/virtualjointbase.go
Expand Up @@ -75,16 +75,6 @@ func (manager *SVirtualJointResourceBaseManager) AllowAttach(ctx context.Context
return false
}

func (self *SVirtualJointResourceBase) AllowGetDetails(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
masterVirtual := self.Master().(IVirtualModel)
return masterVirtual.IsOwner(userCred) || IsAllowGet(rbacutils.ScopeSystem, userCred, self)
}

func (self *SVirtualJointResourceBase) AllowUpdateItem(ctx context.Context, userCred mcclient.TokenCredential) bool {
masterVirtual := self.Master().(IVirtualModel)
return masterVirtual.IsOwner(userCred) || IsAllowUpdate(rbacutils.ScopeSystem, userCred, self)
}

func (manager *SVirtualJointResourceBaseManager) FilterByOwner(q *sqlchemy.SQuery, owner mcclient.IIdentityProvider, scope rbacutils.TRbacScope) *sqlchemy.SQuery {
if owner != nil {
masterQ := manager.GetMasterManager().Query("id")
Expand Down
8 changes: 0 additions & 8 deletions pkg/cloudid/models/cloudgroup_policies.go
Expand Up @@ -85,14 +85,6 @@ func (self *SCloudgroupPolicy) ValidateUpdateData(ctx context.Context, userCred
return nil, httperrors.NewNotSupportedError("Not Supported")
}

func (joint *SCloudgroupPolicy) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SCloudgroupPolicy) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

// 用户组中权限详情
func (self *SCloudgroupPolicy) GetExtraDetails(
ctx context.Context,
Expand Down
8 changes: 0 additions & 8 deletions pkg/cloudid/models/cloudgroup_users.go
Expand Up @@ -86,14 +86,6 @@ func (self *SCloudgroupUser) ValidateUpdateData(ctx context.Context, userCred mc
return nil, httperrors.NewNotSupportedError("Not Supported")
}

func (joint *SCloudgroupUser) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SCloudgroupUser) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

// 获取用户组中用户详情
func (self *SCloudgroupUser) GetExtraDetails(
ctx context.Context,
Expand Down
8 changes: 0 additions & 8 deletions pkg/cloudid/models/clouduser_policies.go
Expand Up @@ -90,14 +90,6 @@ func (self *SClouduserPolicy) ValidateUpdateData(ctx context.Context, userCred m
return nil, httperrors.NewNotSupportedError("Not Supported")
}

func (joint *SClouduserPolicy) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SClouduserPolicy) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

// 获取公有云用户权限详情
func (self *SClouduserPolicy) GetExtraDetails(
ctx context.Context,
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/cloudproviderregions.go
Expand Up @@ -94,14 +94,6 @@ func (manager *SCloudproviderregionManager) GetSlaveFieldName() string {
return "cloudregion_id"
}

func (joint *SCloudproviderregion) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SCloudproviderregion) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SCloudproviderregion) GetProvider() *SCloudprovider {
providerObj, err := CloudproviderManager.FetchById(self.CloudproviderId)
if err != nil {
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/dbinstancenetworks.go
Expand Up @@ -65,14 +65,6 @@ func (manager *SDBInstanceNetworkManager) GetSlaveFieldName() string {
return "network_id"
}

func (joint *SDBInstanceNetwork) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SDBInstanceNetwork) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SDBInstanceNetwork) Detach(ctx context.Context, userCred mcclient.TokenCredential) error {
return db.DetachJoint(ctx, userCred, self)
}
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/groupguests.go
Expand Up @@ -62,14 +62,6 @@ func (manager *SGroupguestManager) GetSlaveFieldName() string {
return "guest_id"
}

func (joint *SGroupguest) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SGroupguest) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SGroupguest) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/groupnetworks.go
Expand Up @@ -67,14 +67,6 @@ func (manager *SGroupnetworkManager) GetSlaveFieldName() string {
return "network_id"
}

func (joint *SGroupnetwork) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SGroupnetwork) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SGroupnetwork) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/guestdisks.go
Expand Up @@ -107,14 +107,6 @@ func (self *SGuestdisk) ValidateUpdateData(ctx context.Context, userCred mcclien
return input, nil
}

func (joint *SGuestdisk) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SGuestdisk) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SGuestdisk) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/guestnetworks.go
Expand Up @@ -108,14 +108,6 @@ func (manager *SGuestnetworkManager) GetSlaveFieldName() string {
return "network_id"
}

func (joint *SGuestnetwork) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SGuestnetwork) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SGuestnetwork) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/hostnetworks.go
Expand Up @@ -72,14 +72,6 @@ func (manager *SHostnetworkManager) GetSlaveFieldName() string {
return "network_id"
}

func (bn *SHostnetwork) Master() db.IStandaloneModel {
return db.JointMaster(bn)
}

func (bn *SHostnetwork) Slave() db.IStandaloneModel {
return db.JointSlave(bn)
}

func (bn *SHostnetwork) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
14 changes: 0 additions & 14 deletions pkg/compute/models/hostschedtags.go
Expand Up @@ -61,20 +61,6 @@ func (manager *SHostschedtagManager) GetSlaveFieldName() string {
return "host_id"
}

func (self *SHostschedtag) GetHost() *SHost {
return self.Master().(*SHost)
}

func (self *SHostschedtag) GetHosts() ([]SHost, error) {
hosts := []SHost{}
err := self.GetSchedtag().GetObjects(&hosts)
return hosts, err
}

func (self *SHostschedtag) Master() db.IStandaloneModel {
return self.SSchedtagJointsBase.master(self)
}

func (self *SHostschedtag) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/hoststorages.go
Expand Up @@ -83,14 +83,6 @@ func (manager *SHoststorageManager) GetSlaveFieldName() string {
return "storage_id"
}

func (joint *SHoststorage) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SHoststorage) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SHoststorage) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/hostwires.go
Expand Up @@ -77,14 +77,6 @@ func (manager *SHostwireManager) GetSlaveFieldName() string {
return "wire_id"
}

func (joint *SHostwire) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SHostwire) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (self *SHostwire) GetExtraDetails(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, isList bool) (api.HostwireDetails, error) {
return api.HostwireDetails{}, nil
}
Expand Down
10 changes: 0 additions & 10 deletions pkg/compute/models/loadbalancernetworks.go
Expand Up @@ -203,16 +203,6 @@ func (ln *SLoadbalancerNetwork) Delete(ctx context.Context, userCred mcclient.To
return db.DeleteModel(ctx, userCred, ln)
}

// Master implements db.IJointModel interface
func (ln *SLoadbalancerNetwork) Master() db.IStandaloneModel {
return db.JointMaster(ln)
}

// Slave implements db.IJointModel interface
func (ln *SLoadbalancerNetwork) Slave() db.IStandaloneModel {
return db.JointSlave(ln)
}

// Detach implements db.IJointModel interface
func (ln *SLoadbalancerNetwork) Detach(ctx context.Context, userCred mcclient.TokenCredential) error {
return db.DetachJoint(ctx, userCred, ln)
Expand Down
8 changes: 0 additions & 8 deletions pkg/compute/models/networkinterfacenetwork.go
Expand Up @@ -69,14 +69,6 @@ func (manager *SNetworkinterfacenetworkManager) GetSlaveFieldName() string {
return "network_id"
}

func (joint *SNetworkinterfacenetwork) Master() db.IStandaloneModel {
return db.JointMaster(joint)
}

func (joint *SNetworkinterfacenetwork) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (manager *SNetworkinterfacenetworkManager) AllowListItems(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
return db.IsAdminAllowList(userCred, manager)
}
Expand Down
14 changes: 0 additions & 14 deletions pkg/compute/models/networkschedtags.go
Expand Up @@ -61,20 +61,6 @@ func (manager *SNetworkschedtagManager) GetSlaveFieldName() string {
return "network_id"
}

func (s *SNetworkschedtag) GetNetwork() *SNetwork {
return s.Master().(*SNetwork)
}

func (s *SNetworkschedtag) GetNetworks() ([]SNetwork, error) {
nets := []SNetwork{}
err := s.GetSchedtag().GetObjects(&nets)
return nets, err
}

func (s *SNetworkschedtag) Master() db.IStandaloneModel {
return s.SSchedtagJointsBase.master(s)
}

func (s *SNetworkschedtag) GetExtraDetails(
ctx context.Context,
userCred mcclient.TokenCredential,
Expand Down
9 changes: 0 additions & 9 deletions pkg/compute/models/scalinggroup_guest.go
Expand Up @@ -102,15 +102,6 @@ func (sgg *SScalingGroupGuest) SetGuestStatus(status string) error {
return err
}

func (sgg *SScalingGroupGuest) Master() db.IStandaloneModel {
return sgg.getGuest()
}

func (sgg *SScalingGroupGuest) Slave() db.IStandaloneModel {
sg, _ := ScalingGroupManager.FetchById(sgg.ScalingGroupId)
return sg.(*SScalingGroup)
}

func (sggm *SScalingGroupGuestManager) Query(fields ...string) *sqlchemy.SQuery {
return sggm.SVirtualJointResourceBaseManager.Query(fields...).NotEquals("guest_status",
compute.SG_GUEST_STATUS_PENDING_REMOVE)
Expand Down
12 changes: 0 additions & 12 deletions pkg/compute/models/schedtagjoint.go
Expand Up @@ -142,18 +142,6 @@ func (joint *SSchedtagJointsBase) GetSchedtagId() string {
return joint.SchedtagId
}

func (joint *SSchedtagJointsBase) master(obj db.IJointModel) db.IStandaloneModel {
return db.JointMaster(obj)
}

func (joint *SSchedtagJointsBase) GetSchedtag() *SSchedtag {
return joint.Slave().(*SSchedtag)
}

func (joint *SSchedtagJointsBase) Slave() db.IStandaloneModel {
return db.JointSlave(joint)
}

func (joint *SSchedtagJointsBase) GetExtraDetails(
obj db.IJointModel,
ctx context.Context,
Expand Down

0 comments on commit 9af25a2

Please sign in to comment.