summaryrefslogtreecommitdiffstats
path: root/models/userlist.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/userlist.go')
-rw-r--r--models/userlist.go65
1 files changed, 4 insertions, 61 deletions
diff --git a/models/userlist.go b/models/userlist.go
index ae39de3da4..102c587dfe 100644
--- a/models/userlist.go
+++ b/models/userlist.go
@@ -8,30 +8,17 @@ import (
"fmt"
"code.gitea.io/gitea/models/db"
- "code.gitea.io/gitea/models/login"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/log"
)
-// UserList is a list of user.
-// This type provide valuable methods to retrieve information for a group of users efficiently.
-type UserList []*user_model.User
-
-func (users UserList) getUserIDs() []int64 {
- userIDs := make([]int64, len(users))
- for _, user := range users {
- userIDs = append(userIDs, user.ID) // Considering that user id are unique in the list
- }
- return userIDs
-}
-
// IsUserOrgOwner returns true if user is in the owner team of given organization.
-func (users UserList) IsUserOrgOwner(orgID int64) map[int64]bool {
+func IsUserOrgOwner(users user_model.UserList, orgID int64) map[int64]bool {
results := make(map[int64]bool, len(users))
for _, user := range users {
results[user.ID] = false // Set default to false
}
- ownerMaps, err := users.loadOrganizationOwners(db.GetEngine(db.DefaultContext), orgID)
+ ownerMaps, err := loadOrganizationOwners(db.GetEngine(db.DefaultContext), users, orgID)
if err == nil {
for _, owner := range ownerMaps {
results[owner.UID] = true
@@ -40,7 +27,7 @@ func (users UserList) IsUserOrgOwner(orgID int64) map[int64]bool {
return results
}
-func (users UserList) loadOrganizationOwners(e db.Engine, orgID int64) (map[int64]*TeamUser, error) {
+func loadOrganizationOwners(e db.Engine, users user_model.UserList, orgID int64) (map[int64]*TeamUser, error) {
if len(users) == 0 {
return nil, nil
}
@@ -53,7 +40,7 @@ func (users UserList) loadOrganizationOwners(e db.Engine, orgID int64) (map[int6
return nil, err
}
- userIDs := users.getUserIDs()
+ userIDs := users.GetUserIDs()
ownerMaps := make(map[int64]*TeamUser)
err = e.In("uid", userIDs).
And("org_id=?", orgID).
@@ -64,47 +51,3 @@ func (users UserList) loadOrganizationOwners(e db.Engine, orgID int64) (map[int6
}
return ownerMaps, nil
}
-
-// GetTwoFaStatus return state of 2FA enrollement
-func (users UserList) GetTwoFaStatus() map[int64]bool {
- results := make(map[int64]bool, len(users))
- for _, user := range users {
- results[user.ID] = false // Set default to false
- }
- tokenMaps, err := users.loadTwoFactorStatus(db.GetEngine(db.DefaultContext))
- if err == nil {
- for _, token := range tokenMaps {
- results[token.UID] = true
- }
- }
-
- return results
-}
-
-func (users UserList) loadTwoFactorStatus(e db.Engine) (map[int64]*login.TwoFactor, error) {
- if len(users) == 0 {
- return nil, nil
- }
-
- userIDs := users.getUserIDs()
- tokenMaps := make(map[int64]*login.TwoFactor, len(userIDs))
- err := e.
- In("uid", userIDs).
- Find(&tokenMaps)
- if err != nil {
- return nil, fmt.Errorf("find two factor: %v", err)
- }
- return tokenMaps, nil
-}
-
-// GetUsersByIDs returns all resolved users from a list of Ids.
-func GetUsersByIDs(ids []int64) (UserList, error) {
- ous := make([]*user_model.User, 0, len(ids))
- if len(ids) == 0 {
- return ous, nil
- }
- err := db.GetEngine(db.DefaultContext).In("id", ids).
- Asc("name").
- Find(&ous)
- return ous, err
-}