mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 20:47:32 +00:00
fix(query): realtime data on defined requests (#3726)
* feat: directly specify factors on addCustomLoginPolicy and return on LoginPolicy responses * fix proto * update login policy * feat: directly specify idp on addCustomLoginPolicy and return on LoginPolicy responses * fix: tests * fix(projection): trigger bulk * refactor: clean projection pkg * instance should bulk * fix(query): should trigger bulk on id calls * tests * build prerelease * fix: add shouldTriggerBulk * fix: test Co-authored-by: Livio Amstutz <livio.a@gmail.com> Co-authored-by: Max Peintner <max@caos.ch>
This commit is contained in:
@@ -3,17 +3,14 @@ package query
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
errs "errors"
|
||||
"time"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/api/authz"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/query/projection"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/query/projection"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -84,23 +81,6 @@ type UserAuthMethodSearchQueries struct {
|
||||
Queries []SearchQuery
|
||||
}
|
||||
|
||||
func (q *Queries) UserAuthMethodByIDs(ctx context.Context, userID, tokenID, resourceOwner string, methodType domain.UserAuthMethodType) (*AuthMethod, error) {
|
||||
stmt, scan := prepareUserAuthMethodQuery()
|
||||
query, args, err := stmt.Where(sq.Eq{
|
||||
UserAuthMethodColumnUserID.identifier(): userID,
|
||||
UserAuthMethodColumnTokenID.identifier(): tokenID,
|
||||
UserAuthMethodColumnResourceOwner.identifier(): resourceOwner,
|
||||
UserAuthMethodColumnMethodType.identifier(): methodType,
|
||||
UserAuthMethodColumnInstanceID.identifier(): authz.GetInstance(ctx).InstanceID(),
|
||||
}).ToSql()
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "QUERY-2m00Q", "Errors.Query.SQLStatment")
|
||||
}
|
||||
|
||||
row := q.client.QueryRowContext(ctx, query, args...)
|
||||
return scan(row)
|
||||
}
|
||||
|
||||
func (q *Queries) SearchUserAuthMethods(ctx context.Context, queries *UserAuthMethodSearchQueries) (userAuthMethods *AuthMethods, err error) {
|
||||
query, scan := prepareUserAuthMethodsQuery()
|
||||
stmt, args, err := queries.toQuery(query).
|
||||
@@ -213,41 +193,6 @@ func (q *UserAuthMethodSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectB
|
||||
return query
|
||||
}
|
||||
|
||||
func prepareUserAuthMethodQuery() (sq.SelectBuilder, func(*sql.Row) (*AuthMethod, error)) {
|
||||
return sq.Select(
|
||||
UserAuthMethodColumnTokenID.identifier(),
|
||||
UserAuthMethodColumnCreationDate.identifier(),
|
||||
UserAuthMethodColumnChangeDate.identifier(),
|
||||
UserAuthMethodColumnResourceOwner.identifier(),
|
||||
UserAuthMethodColumnUserID.identifier(),
|
||||
UserAuthMethodColumnSequence.identifier(),
|
||||
UserAuthMethodColumnName.identifier(),
|
||||
UserAuthMethodColumnState.identifier(),
|
||||
UserAuthMethodColumnMethodType.identifier()).
|
||||
From(userAuthMethodTable.identifier()).PlaceholderFormat(sq.Dollar),
|
||||
func(row *sql.Row) (*AuthMethod, error) {
|
||||
authMethod := new(AuthMethod)
|
||||
err := row.Scan(
|
||||
&authMethod.TokenID,
|
||||
&authMethod.CreationDate,
|
||||
&authMethod.ChangeDate,
|
||||
&authMethod.ResourceOwner,
|
||||
&authMethod.UserID,
|
||||
&authMethod.Sequence,
|
||||
&authMethod.Name,
|
||||
&authMethod.State,
|
||||
&authMethod.Type,
|
||||
)
|
||||
if err != nil {
|
||||
if errs.Is(err, sql.ErrNoRows) {
|
||||
return nil, errors.ThrowNotFound(err, "QUERY-dniiF", "Errors.AuthMethod.NotFound")
|
||||
}
|
||||
return nil, errors.ThrowInternal(err, "QUERY-3n9Fs", "Errors.Internal")
|
||||
}
|
||||
return authMethod, nil
|
||||
}
|
||||
}
|
||||
|
||||
func prepareUserAuthMethodsQuery() (sq.SelectBuilder, func(*sql.Rows) (*AuthMethods, error)) {
|
||||
return sq.Select(
|
||||
UserAuthMethodColumnTokenID.identifier(),
|
||||
|
Reference in New Issue
Block a user