mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 00:17:32 +00:00
perf: user grant owner removed (#6962)
* fix: change logic for usergrants projection with no selects * fix: change logic for usergrants projection with one select * fix: move resource owner select to single function * fix: move resource owner select to single function * fix: changes after merge * fix: changes after merge --------- Co-authored-by: Tim Möhlmann <tim+github@zitadel.com>
This commit is contained in:
@@ -209,32 +209,9 @@ var (
|
||||
name: projection.UserGrantState,
|
||||
table: userGrantTable,
|
||||
}
|
||||
UserGrantOwnerRemoved = Column{
|
||||
name: projection.UserGrantOwnerRemoved,
|
||||
table: userGrantTable,
|
||||
}
|
||||
UserGrantUserOwnerRemoved = Column{
|
||||
name: projection.UserGrantUserOwnerRemoved,
|
||||
table: userGrantTable,
|
||||
}
|
||||
UserGrantProjectOwnerRemoved = Column{
|
||||
name: projection.UserGrantProjectOwnerRemoved,
|
||||
table: userGrantTable,
|
||||
}
|
||||
UserGrantGrantGrantedOrgRemoved = Column{
|
||||
name: projection.UserGrantGrantedOrgRemoved,
|
||||
table: userGrantTable,
|
||||
}
|
||||
)
|
||||
|
||||
func addUserGrantWithoutOwnerRemoved(eq map[string]interface{}) {
|
||||
eq[UserGrantOwnerRemoved.identifier()] = false
|
||||
eq[UserGrantUserOwnerRemoved.identifier()] = false
|
||||
eq[UserGrantProjectOwnerRemoved.identifier()] = false
|
||||
eq[UserGrantGrantGrantedOrgRemoved.identifier()] = false
|
||||
}
|
||||
|
||||
func (q *Queries) UserGrant(ctx context.Context, shouldTriggerBulk bool, withOwnerRemoved bool, queries ...SearchQuery) (grant *UserGrant, err error) {
|
||||
func (q *Queries) UserGrant(ctx context.Context, shouldTriggerBulk bool, queries ...SearchQuery) (grant *UserGrant, err error) {
|
||||
ctx, span := tracing.NewSpan(ctx)
|
||||
defer func() { span.EndWithError(err) }()
|
||||
|
||||
@@ -250,9 +227,6 @@ func (q *Queries) UserGrant(ctx context.Context, shouldTriggerBulk bool, withOwn
|
||||
query = q.toQuery(query)
|
||||
}
|
||||
eq := sq.Eq{UserGrantInstanceID.identifier(): authz.GetInstance(ctx).InstanceID()}
|
||||
if !withOwnerRemoved {
|
||||
addUserGrantWithoutOwnerRemoved(eq)
|
||||
}
|
||||
stmt, args, err := query.Where(eq).ToSql()
|
||||
if err != nil {
|
||||
return nil, zerrors.ThrowInternal(err, "QUERY-Fa1KW", "Errors.Query.SQLStatement")
|
||||
@@ -265,7 +239,7 @@ func (q *Queries) UserGrant(ctx context.Context, shouldTriggerBulk bool, withOwn
|
||||
return grant, err
|
||||
}
|
||||
|
||||
func (q *Queries) UserGrants(ctx context.Context, queries *UserGrantsQueries, shouldTriggerBulk, withOwnerRemoved bool) (grants *UserGrants, err error) {
|
||||
func (q *Queries) UserGrants(ctx context.Context, queries *UserGrantsQueries, shouldTriggerBulk bool) (grants *UserGrants, err error) {
|
||||
ctx, span := tracing.NewSpan(ctx)
|
||||
defer func() { span.EndWithError(err) }()
|
||||
|
||||
@@ -278,9 +252,6 @@ func (q *Queries) UserGrants(ctx context.Context, queries *UserGrantsQueries, sh
|
||||
|
||||
query, scan := prepareUserGrantsQuery(ctx, q.client)
|
||||
eq := sq.Eq{UserGrantInstanceID.identifier(): authz.GetInstance(ctx).InstanceID()}
|
||||
if !withOwnerRemoved {
|
||||
addUserGrantWithoutOwnerRemoved(eq)
|
||||
}
|
||||
stmt, args, err := queries.toQuery(query).Where(eq).ToSql()
|
||||
if err != nil {
|
||||
return nil, zerrors.ThrowInternal(err, "QUERY-wXnQR", "Errors.Query.SQLStatement")
|
||||
|
Reference in New Issue
Block a user