Identity: Add endpoint to get display info for an identifier (#91828)
This commit is contained in:
@@ -23,7 +23,6 @@ type store interface {
|
||||
GetByUID(ctx context.Context, orgId int64, uid string) (*user.User, error)
|
||||
GetByLogin(context.Context, *user.GetUserByLoginQuery) (*user.User, error)
|
||||
GetByEmail(context.Context, *user.GetUserByEmailQuery) (*user.User, error)
|
||||
List(context.Context, *user.ListUsersCommand) (*user.ListUserResult, error)
|
||||
Delete(context.Context, int64) error
|
||||
LoginConflict(ctx context.Context, login, email string) error
|
||||
Update(context.Context, *user.UpdateUserCommand) error
|
||||
@@ -579,40 +578,6 @@ func (ss *sqlStore) Search(ctx context.Context, query *user.SearchUsersQuery) (*
|
||||
return &result, err
|
||||
}
|
||||
|
||||
func (ss *sqlStore) List(ctx context.Context, query *user.ListUsersCommand) (*user.ListUserResult, error) {
|
||||
limit := int(query.Limit)
|
||||
if limit <= 0 {
|
||||
limit = 25
|
||||
}
|
||||
result := &user.ListUserResult{
|
||||
Users: make([]*user.User, 0),
|
||||
}
|
||||
max := ""
|
||||
err := ss.db.WithDbSession(ctx, func(dbSess *db.Session) error {
|
||||
sess := dbSess.Table("user")
|
||||
sess.Where("id >= ? AND is_service_account = ?", query.ContinueID, query.IsServiceAccount)
|
||||
err := sess.OrderBy("id asc").Limit(limit + 1).Find(&result.Users)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Set the revision version
|
||||
_, err = dbSess.Table("user").Select("MAX(updated)").Get(&max)
|
||||
return err
|
||||
})
|
||||
if max != "" {
|
||||
t, err := time.Parse(time.DateTime, max)
|
||||
if err == nil {
|
||||
result.RV = t.UnixMilli()
|
||||
}
|
||||
}
|
||||
if len(result.Users) > limit {
|
||||
result.ContinueID = result.Users[limit].ID
|
||||
result.Users = result.Users[:limit]
|
||||
}
|
||||
return result, err
|
||||
}
|
||||
|
||||
func setOptional[T any](v *T, add func(v T)) {
|
||||
if v != nil {
|
||||
add(*v)
|
||||
|
||||
Reference in New Issue
Block a user