mirror of https://github.com/go-gitea/gitea
Some small refactors (#33144)
parent
e5f3c16587
commit
d3083d2198
@ -0,0 +1,47 @@ |
||||
// Copyright 2025 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package user |
||||
|
||||
import ( |
||||
"context" |
||||
|
||||
"code.gitea.io/gitea/models/db" |
||||
) |
||||
|
||||
func GetUsersMapByIDs(ctx context.Context, userIDs []int64) (map[int64]*User, error) { |
||||
userMaps := make(map[int64]*User, len(userIDs)) |
||||
left := len(userIDs) |
||||
for left > 0 { |
||||
limit := db.DefaultMaxInSize |
||||
if left < limit { |
||||
limit = left |
||||
} |
||||
err := db.GetEngine(ctx). |
||||
In("id", userIDs[:limit]). |
||||
Find(&userMaps) |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
left -= limit |
||||
userIDs = userIDs[limit:] |
||||
} |
||||
return userMaps, nil |
||||
} |
||||
|
||||
func GetPossibleUserFromMap(userID int64, usererMaps map[int64]*User) *User { |
||||
switch userID { |
||||
case GhostUserID: |
||||
return NewGhostUser() |
||||
case ActionsUserID: |
||||
return NewActionsUser() |
||||
case 0: |
||||
return nil |
||||
default: |
||||
user, ok := usererMaps[userID] |
||||
if !ok { |
||||
return NewGhostUser() |
||||
} |
||||
return user |
||||
} |
||||
} |
Loading…
Reference in new issue