perf: remove owner removed columns from projections for oidc (#6925)

* fix: remove owner removed columns from login names projection

* fix: remove owner removed columns from flow projection

* fix: remove owner removed columns from project, projectgrant and member projections

* fix: correct unit tests for session projection

* fix: correct unit tests for session projection
This commit is contained in:
Stefan Benz
2023-11-20 16:21:08 +01:00
committed by GitHub
parent 3bed5f50a8
commit 0ec7a74877
65 changed files with 358 additions and 654 deletions

View File

@@ -52,14 +52,6 @@ var (
name: projection.InstanceMemberIAMIDCol,
table: instanceMemberTable,
}
InstanceMemberOwnerRemoved = Column{
name: projection.MemberOwnerRemoved,
table: instanceMemberTable,
}
InstanceMemberOwnerRemovedUser = Column{
name: projection.MemberUserOwnerRemoved,
table: instanceMemberTable,
}
)
type IAMMembersQuery struct {
@@ -71,21 +63,12 @@ func (q *IAMMembersQuery) toQuery(query sq.SelectBuilder) sq.SelectBuilder {
toQuery(query)
}
func addIamMemberWithoutOwnerRemoved(eq map[string]interface{}) {
eq[InstanceMemberOwnerRemoved.identifier()] = false
eq[InstanceMemberOwnerRemovedUser.identifier()] = false
}
func (q *Queries) IAMMembers(ctx context.Context, queries *IAMMembersQuery, withOwnerRemoved bool) (members *Members, err error) {
func (q *Queries) IAMMembers(ctx context.Context, queries *IAMMembersQuery) (members *Members, err error) {
ctx, span := tracing.NewSpan(ctx)
defer func() { span.EndWithError(err) }()
query, scan := prepareInstanceMembersQuery(ctx, q.client)
eq := sq.Eq{InstanceMemberInstanceID.identifier(): authz.GetInstance(ctx).InstanceID()}
if !withOwnerRemoved {
addIamMemberWithoutOwnerRemoved(eq)
addLoginNameWithoutOwnerRemoved(eq)
}
stmt, args, err := queries.toQuery(query).Where(eq).ToSql()
if err != nil {
return nil, errors.ThrowInvalidArgument(err, "QUERY-USNwM", "Errors.Query.InvalidRequest")