diff --git a/pkg/compute/models/cloudproviderregions.go b/pkg/compute/models/cloudproviderregions.go index 451a7c84f4..e56440fbc5 100644 --- a/pkg/compute/models/cloudproviderregions.go +++ b/pkg/compute/models/cloudproviderregions.go @@ -209,7 +209,7 @@ func (manager *SCloudproviderregionManager) QueryRelatedRegionIds(cloudAccounts if len(cloudAccounts) > 0 { cpq := CloudaccountManager.Query().SubQuery() subcpq := cpq.Query(cpq.Field("id")).Filter(sqlchemy.OR( - sqlchemy.In(cpq.Field("id"), cloudAccounts), + sqlchemy.In(cpq.Field("id"), stringutils2.RemoveUtf8Strings(cloudAccounts)), sqlchemy.In(cpq.Field("name"), cloudAccounts), )).SubQuery() providers := CloudproviderManager.Query().SubQuery() diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index f6a82d284f..ab77320916 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -1144,7 +1144,7 @@ func (manager *SCloudproviderManager) ListItemFilter( if len(accountArr) > 0 { cpq := CloudaccountManager.Query().SubQuery() subcpq := cpq.Query(cpq.Field("id")).Filter(sqlchemy.OR( - sqlchemy.In(cpq.Field("id"), accountArr), + sqlchemy.In(cpq.Field("id"), stringutils2.RemoveUtf8Strings(accountArr)), sqlchemy.In(cpq.Field("name"), accountArr), )).SubQuery() q = q.In("cloudaccount_id", subcpq) diff --git a/pkg/compute/models/wires.go b/pkg/compute/models/wires.go index 4b42ae6d00..5a2be9c3c2 100644 --- a/pkg/compute/models/wires.go +++ b/pkg/compute/models/wires.go @@ -1122,7 +1122,7 @@ func (sm *SWireManager) FetchByIdsOrNames(idOrNames []string) ([]SWire, error) { if len(idOrNames) == 1 { q.Filter(sqlchemy.OR(sqlchemy.Equals(q.Field("id"), idOrNames[0]), sqlchemy.Equals(q.Field("name"), idOrNames[0]))) } else { - q.Filter(sqlchemy.OR(sqlchemy.In(q.Field("id"), idOrNames), sqlchemy.In(q.Field("name"), idOrNames))) + q.Filter(sqlchemy.OR(sqlchemy.In(q.Field("id"), stringutils2.RemoveUtf8Strings(idOrNames)), sqlchemy.In(q.Field("name"), idOrNames))) } ret := make([]SWire, 0, len(idOrNames)) err := db.FetchModelObjects(sm, q, &ret) diff --git a/pkg/keystone/models/assignments.go b/pkg/keystone/models/assignments.go index d2b4cd2486..3c0cc8f09a 100644 --- a/pkg/keystone/models/assignments.go +++ b/pkg/keystone/models/assignments.go @@ -527,7 +527,7 @@ func (manager *SAssignmentManager) queryAll( if len(users) > 0 { subq := UserManager.Query("id") subq = subq.Filter(sqlchemy.OR( - sqlchemy.In(subq.Field("id"), users), + sqlchemy.In(subq.Field("id"), stringutils2.RemoveUtf8Strings(users)), sqlchemy.ContainsAny(subq.Field("name"), users), )) q = q.In("type", []string{api.AssignmentUserProject, api.AssignmentUserDomain}).In("user_id", subq.SubQuery()) @@ -538,7 +538,7 @@ func (manager *SAssignmentManager) queryAll( if len(groups) > 0 { subq := GroupManager.Query("id") subq = subq.Filter(sqlchemy.OR( - sqlchemy.In(subq.Field("id"), groups), + sqlchemy.In(subq.Field("id"), stringutils2.RemoveUtf8Strings(groups)), sqlchemy.ContainsAny(subq.Field("name"), groups), )) q = q.In("type", []string{api.AssignmentGroupProject, api.AssignmentGroupDomain}).In("group_id", subq.SubQuery()) @@ -549,7 +549,7 @@ func (manager *SAssignmentManager) queryAll( if len(roles) > 0 { subq := RoleManager.Query("id") subq = subq.Filter(sqlchemy.OR( - sqlchemy.In(subq.Field("id"), roles), + sqlchemy.In(subq.Field("id"), stringutils2.RemoveUtf8Strings(roles)), sqlchemy.ContainsAny(subq.Field("name"), roles), )) q = q.In("role_id", subq.SubQuery()) @@ -560,7 +560,7 @@ func (manager *SAssignmentManager) queryAll( if len(projects) > 0 { subq := ProjectManager.Query("id") subq = subq.Filter(sqlchemy.OR( - sqlchemy.In(subq.Field("id"), projects), + sqlchemy.In(subq.Field("id"), stringutils2.RemoveUtf8Strings(projects)), sqlchemy.ContainsAny(subq.Field("name"), projects), )) q = q.In("project_id", subq.SubQuery()).In("type", []string{api.AssignmentUserProject, api.AssignmentGroupProject}) @@ -574,7 +574,7 @@ func (manager *SAssignmentManager) queryAll( domainQ := DomainManager.Query("id", "name").SubQuery() subq = subq.Join(domainQ, sqlchemy.Equals(subq.Field("domain_id"), domainQ.Field("id"))) subq = subq.Filter(sqlchemy.OR( - sqlchemy.In(domainQ.Field("id"), projectDomains), + sqlchemy.In(domainQ.Field("id"), stringutils2.RemoveUtf8Strings(projectDomains)), sqlchemy.ContainsAny(domainQ.Field("name"), projectDomains), )) q = q.In("project_id", subq.SubQuery()).In("type", []string{api.AssignmentUserProject, api.AssignmentGroupProject}) @@ -586,7 +586,7 @@ func (manager *SAssignmentManager) queryAll( if len(domains) > 0 { subq := DomainManager.Query("id") subq = subq.Filter(sqlchemy.OR( - sqlchemy.In(subq.Field("id"), domains), + sqlchemy.In(subq.Field("id"), stringutils2.RemoveUtf8Strings(domains)), sqlchemy.ContainsAny(subq.Field("name"), domains), )) q = q.In("domain_id", subq.SubQuery()).In("type", []string{api.AssignmentUserDomain, api.AssignmentGroupDomain}) @@ -670,7 +670,7 @@ func (manager *SAssignmentManager) FetchAll( if len(userStrs) > 0 { subq := UserManager.Query("id") subq = subq.Filter(sqlchemy.OR( - sqlchemy.In(subq.Field("id"), userStrs), + sqlchemy.In(subq.Field("id"), stringutils2.RemoveUtf8Strings(userStrs)), sqlchemy.ContainsAny(subq.Field("name"), userStrs), )) q2 = q2.Filter(sqlchemy.In(memberships.Field("user_id"), subq.SubQuery()))