mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-08 00:50:28 +08:00
fix: skip the duplicated users when sync users (#928)
Signed-off-by: Yixiang Zhao <seriouszyx@foxmail.com>
This commit is contained in:
@ -22,7 +22,7 @@ import (
|
|||||||
func (syncer *Syncer) syncUsers() {
|
func (syncer *Syncer) syncUsers() {
|
||||||
fmt.Printf("Running syncUsers()..\n")
|
fmt.Printf("Running syncUsers()..\n")
|
||||||
|
|
||||||
users, userMap := syncer.getUserMap()
|
users, userMap, userNameMap := syncer.getUserMap()
|
||||||
oUsers, oUserMap, err := syncer.getOriginalUserMap()
|
oUsers, oUserMap, err := syncer.getOriginalUserMap()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf(err.Error())
|
fmt.Printf(err.Error())
|
||||||
@ -44,9 +44,11 @@ func (syncer *Syncer) syncUsers() {
|
|||||||
for _, oUser := range oUsers {
|
for _, oUser := range oUsers {
|
||||||
id := oUser.Id
|
id := oUser.Id
|
||||||
if _, ok := userMap[id]; !ok {
|
if _, ok := userMap[id]; !ok {
|
||||||
newUser := syncer.createUserFromOriginalUser(oUser, affiliationMap)
|
if _, ok := userNameMap[oUser.Name]; !ok {
|
||||||
fmt.Printf("New user: %v\n", newUser)
|
newUser := syncer.createUserFromOriginalUser(oUser, affiliationMap)
|
||||||
newUsers = append(newUsers, newUser)
|
fmt.Printf("New user: %v\n", newUser)
|
||||||
|
newUsers = append(newUsers, newUser)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
user := userMap[id]
|
user := userMap[id]
|
||||||
oHash := syncer.calculateHash(oUser)
|
oHash := syncer.calculateHash(oUser)
|
||||||
|
@ -19,12 +19,15 @@ func (syncer *Syncer) getUsers() []*User {
|
|||||||
return users
|
return users
|
||||||
}
|
}
|
||||||
|
|
||||||
func (syncer *Syncer) getUserMap() ([]*User, map[string]*User) {
|
func (syncer *Syncer) getUserMap() ([]*User, map[string]*User, map[string]*User) {
|
||||||
users := syncer.getUsers()
|
users := syncer.getUsers()
|
||||||
|
|
||||||
m := map[string]*User{}
|
m1 := map[string]*User{}
|
||||||
|
m2 := map[string]*User{}
|
||||||
for _, user := range users {
|
for _, user := range users {
|
||||||
m[user.Id] = user
|
m1[user.Id] = user
|
||||||
|
m2[user.Name] = user
|
||||||
}
|
}
|
||||||
return users, m
|
|
||||||
|
return users, m1, m2
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user