mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 10:46:58 +08:00
fix: FindAnonymousStructPoint needs input as a pointer to struct
This commit is contained in:
@@ -81,8 +81,10 @@ func (manager *SCloudregionResourceBaseManager) FetchCustomizeColumns(
|
||||
regionIds := make([]string, len(objs))
|
||||
for i := range objs {
|
||||
var base *SCloudregionResourceBase
|
||||
reflectutils.FindAnonymouStructPointer(objs[i], &base)
|
||||
if base != nil && len(base.CloudregionId) > 0 {
|
||||
err := reflectutils.FindAnonymouStructPointer(objs[i], &base)
|
||||
if err != nil {
|
||||
log.Errorf("Cannot find SCloudregionResourceBase in %#v: %s", objs[i], err)
|
||||
} else if base != nil && len(base.CloudregionId) > 0 {
|
||||
regionIds[i] = base.CloudregionId
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ func (manager *SDBInstanceAccountManager) FetchOwnerId(ctx context.Context, data
|
||||
}
|
||||
return instance.(*SDBInstance).GetOwnerId(), nil
|
||||
}
|
||||
return nil, nil
|
||||
return db.FetchProjectInfo(ctx, data)
|
||||
}
|
||||
|
||||
func (manager *SDBInstanceAccountManager) FilterByOwner(q *sqlchemy.SQuery, userCred mcclient.IIdentityProvider, scope rbacutils.TRbacScope) *sqlchemy.SQuery {
|
||||
|
||||
@@ -105,7 +105,7 @@ func (manager *SDBInstanceDatabaseManager) FetchOwnerId(ctx context.Context, dat
|
||||
}
|
||||
return instance.(*SDBInstance).GetOwnerId(), nil
|
||||
}
|
||||
return nil, nil
|
||||
return db.FetchProjectInfo(ctx, data)
|
||||
}
|
||||
|
||||
func (manager *SDBInstanceDatabaseManager) FilterByOwner(q *sqlchemy.SQuery, userCred mcclient.IIdentityProvider, scope rbacutils.TRbacScope) *sqlchemy.SQuery {
|
||||
|
||||
@@ -163,7 +163,7 @@ func elasticcacheSubResourceFetchOwnerId(ctx context.Context, data jsonutils.JSO
|
||||
return ec.(*SElasticcache).GetOwnerId(), nil
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
return db.FetchProjectInfo(ctx, data)
|
||||
}
|
||||
|
||||
// elastic cache 子资源获取owner query
|
||||
|
||||
@@ -164,11 +164,10 @@ func (man *SLoadbalancerBackendGroupManager) QueryDistinctExtraField(q *sqlchemy
|
||||
func (man *SLoadbalancerBackendGroupManager) FetchOwnerId(ctx context.Context, data jsonutils.JSONObject) (mcclient.IIdentityProvider, error) {
|
||||
lbV := validators.NewModelIdOrNameValidator("loadbalancer", "loadbalancer", nil)
|
||||
err := lbV.Validate(data.(*jsonutils.JSONDict))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if err == nil {
|
||||
return lbV.Model.GetOwnerId(), nil
|
||||
}
|
||||
|
||||
return lbV.Model.GetOwnerId(), nil
|
||||
return man.SVirtualResourceBaseManager.FetchOwnerId(ctx, data)
|
||||
}
|
||||
|
||||
func (man *SLoadbalancerBackendGroupManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
|
||||
|
||||
@@ -218,11 +218,10 @@ func (man *SLoadbalancerBackendManager) ValidateBackendVpc(lb *SLoadbalancer, gu
|
||||
|
||||
func (man *SLoadbalancerBackendManager) FetchOwnerId(ctx context.Context, data jsonutils.JSONObject) (mcclient.IIdentityProvider, error) {
|
||||
backendGroupV := validators.NewModelIdOrNameValidator("backend_group", "loadbalancerbackendgroup", nil)
|
||||
if err := backendGroupV.Validate(data.(*jsonutils.JSONDict)); err != nil {
|
||||
return nil, err
|
||||
if err := backendGroupV.Validate(data.(*jsonutils.JSONDict)); err == nil {
|
||||
return backendGroupV.Model.GetOwnerId(), nil
|
||||
}
|
||||
|
||||
return backendGroupV.Model.GetOwnerId(), nil
|
||||
return man.SVirtualResourceBaseManager.FetchOwnerId(ctx, data)
|
||||
}
|
||||
|
||||
func (man *SLoadbalancerBackendManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
|
||||
|
||||
@@ -103,11 +103,11 @@ func (manager *SLoadbalancerClusterResourceBaseManager) FetchCustomizeColumns(
|
||||
rows[i] = api.LoadbalancerClusterResourceInfo{}
|
||||
if cluster, ok := clusters[clusterIds[i]]; ok {
|
||||
rows[i].Cluster = cluster.Name
|
||||
zones[i] = SZoneResourceBase{cluster.ZoneId}
|
||||
wires[i] = SWireResourceBase{cluster.WireId}
|
||||
zones[i] = &SZoneResourceBase{cluster.ZoneId}
|
||||
wires[i] = &SWireResourceBase{cluster.WireId}
|
||||
} else {
|
||||
zones[i] = SZoneResourceBase{}
|
||||
wires[i] = SWireResourceBase{}
|
||||
zones[i] = &SZoneResourceBase{}
|
||||
wires[i] = &SWireResourceBase{}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ func (manager *SLoadbalancerListenerResourceBaseManager) FetchCustomizeColumns(
|
||||
var base *SLoadbalancerListenerResourceBase
|
||||
err := reflectutils.FindAnonymouStructPointer(objs[i], &base)
|
||||
if err != nil {
|
||||
log.Errorf("Cannot find SCloudregionResourceBase in object %s", objs[i])
|
||||
log.Errorf("Cannot find SLoadbalancerListenerResourceBase in object %#v: %s", objs[i], err)
|
||||
continue
|
||||
}
|
||||
listenerIds[i] = base.ListenerId
|
||||
@@ -119,7 +119,7 @@ func (manager *SLoadbalancerListenerResourceBaseManager) FetchCustomizeColumns(
|
||||
rows[i].Listener = listener.Name
|
||||
rows[i].LoadbalancerId = listener.LoadbalancerId
|
||||
}
|
||||
lbs[i] = SLoadbalancerResourceBase{rows[i].LoadbalancerId}
|
||||
lbs[i] = &SLoadbalancerResourceBase{rows[i].LoadbalancerId}
|
||||
}
|
||||
|
||||
lbRows := manager.SLoadbalancerResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, lbs, fields, isList)
|
||||
|
||||
@@ -469,11 +469,10 @@ func (man *SLoadbalancerListenerRuleManager) QueryDistinctExtraField(q *sqlchemy
|
||||
|
||||
func (man *SLoadbalancerListenerRuleManager) FetchOwnerId(ctx context.Context, data jsonutils.JSONObject) (mcclient.IIdentityProvider, error) {
|
||||
listenerV := validators.NewModelIdOrNameValidator("listener", "loadbalancerlistener", nil)
|
||||
if err := listenerV.Validate(data.(*jsonutils.JSONDict)); err != nil {
|
||||
return nil, err
|
||||
if err := listenerV.Validate(data.(*jsonutils.JSONDict)); err == nil {
|
||||
return listenerV.Model.GetOwnerId(), nil
|
||||
}
|
||||
|
||||
return listenerV.Model.GetOwnerId(), nil
|
||||
return man.SVirtualResourceBaseManager.FetchOwnerId(ctx, data)
|
||||
}
|
||||
|
||||
func (man *SLoadbalancerListenerRuleManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
|
||||
|
||||
@@ -298,11 +298,10 @@ func (man *SLoadbalancerListenerManager) QueryDistinctExtraField(q *sqlchemy.SQu
|
||||
|
||||
func (man *SLoadbalancerListenerManager) FetchOwnerId(ctx context.Context, data jsonutils.JSONObject) (mcclient.IIdentityProvider, error) {
|
||||
lbV := validators.NewModelIdOrNameValidator("loadbalancer", "loadbalancer", nil)
|
||||
if err := lbV.Validate(data.(*jsonutils.JSONDict)); err != nil {
|
||||
return nil, err
|
||||
if err := lbV.Validate(data.(*jsonutils.JSONDict)); err == nil {
|
||||
return lbV.Model.GetOwnerId(), nil
|
||||
}
|
||||
|
||||
return lbV.Model.GetOwnerId(), nil
|
||||
return man.SVirtualResourceBaseManager.FetchOwnerId(ctx, data)
|
||||
}
|
||||
|
||||
func (man *SLoadbalancerListenerManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
|
||||
|
||||
@@ -146,7 +146,7 @@ func (manager *SLoadbalancerResourceBaseManager) FetchCustomizeColumns(
|
||||
var base *SLoadbalancerResourceBase
|
||||
err := reflectutils.FindAnonymouStructPointer(objs[i], &base)
|
||||
if err != nil {
|
||||
log.Errorf("Cannot find SCloudregionResourceBase in object %s", objs[i])
|
||||
log.Errorf("Cannot find SLoadbalancerResourceBase in object %#v: %s", objs[i], err)
|
||||
continue
|
||||
}
|
||||
lbIds[i] = base.LoadbalancerId
|
||||
|
||||
@@ -118,7 +118,7 @@ func (manager *SSecurityGroupRuleManager) FetchOwnerId(ctx context.Context, data
|
||||
}
|
||||
return secgroup.(*SSecurityGroup).GetOwnerId(), nil
|
||||
}
|
||||
return nil, nil
|
||||
return db.FetchProjectInfo(ctx, data)
|
||||
}
|
||||
|
||||
func (manager *SSecurityGroupRuleManager) FilterByOwner(q *sqlchemy.SQuery, userCred mcclient.IIdentityProvider, scope rbacutils.TRbacScope) *sqlchemy.SQuery {
|
||||
|
||||
@@ -106,7 +106,7 @@ func (manager *SWireResourceBaseManager) FetchCustomizeColumns(
|
||||
var base *SWireResourceBase
|
||||
err := reflectutils.FindAnonymouStructPointer(objs[i], &base)
|
||||
if err != nil {
|
||||
log.Errorf("Cannot find SCloudregionResourceBase in object %s", objs[i])
|
||||
log.Errorf("Cannot find SWireResourceBase in object %#v: %s", objs[i], err)
|
||||
continue
|
||||
}
|
||||
wireIds[i] = base.WireId
|
||||
|
||||
@@ -74,7 +74,7 @@ func (manager *SZoneResourceBaseManager) FetchCustomizeColumns(
|
||||
var base *SZoneResourceBase
|
||||
err := reflectutils.FindAnonymouStructPointer(objs[i], &base)
|
||||
if err != nil {
|
||||
log.Errorf("Cannot find SCloudregionResourceBase in object %s", objs[i])
|
||||
log.Errorf("Cannot find SZoneResourceBase in object %#v: %s", objs[i], err)
|
||||
continue
|
||||
}
|
||||
zoneIds[i] = base.ZoneId
|
||||
|
||||
Reference in New Issue
Block a user