diff --git a/object/syncer_sync.go b/object/syncer_sync.go index 1761a380..39f17cc8 100644 --- a/object/syncer_sync.go +++ b/object/syncer_sync.go @@ -16,7 +16,8 @@ package object import ( "fmt" - "time" + + "github.com/casdoor/casdoor/util" ) func (syncer *Syncer) syncUsers() error { @@ -26,17 +27,26 @@ func (syncer *Syncer) syncUsers() error { fmt.Printf("Running syncUsers()..\n") - users, _, _ := syncer.getUserMap() - oUsers, _, err := syncer.getOriginalUserMap() + users, err := GetUsers(syncer.Organization) if err != nil { - fmt.Printf(err.Error()) - - timestamp := time.Now().Format("2006-01-02 15:04:05") - line := fmt.Sprintf("[%s] %s\n", timestamp, err.Error()) - _, err = updateSyncerErrorText(syncer, line) - if err != nil { - return err + line := fmt.Sprintf("[%s] %s\n", util.GetCurrentTime(), err.Error()) + _, err2 := updateSyncerErrorText(syncer, line) + if err2 != nil { + panic(err2) } + + return err + } + + oUsers, err := syncer.getOriginalUsers() + if err != nil { + line := fmt.Sprintf("[%s] %s\n", util.GetCurrentTime(), err.Error()) + _, err2 := updateSyncerErrorText(syncer, line) + if err2 != nil { + panic(err2) + } + + return err } fmt.Printf("Users: %d, oUsers: %d\n", len(users), len(oUsers)) @@ -76,7 +86,7 @@ func (syncer *Syncer) syncUsers() error { updatedUser.PreHash = oHash fmt.Printf("Update from oUser to user: %v\n", updatedUser) - _, err = syncer.updateUserForOriginalByFields(updatedUser, key) + _, err = syncer.updateUserForOriginalFields(updatedUser, key) if err != nil { return err } @@ -113,7 +123,7 @@ func (syncer *Syncer) syncUsers() error { updatedUser.PreHash = oHash fmt.Printf("Update from oUser to user (2nd condition): %v\n", updatedUser) - _, err = syncer.updateUserForOriginalByFields(updatedUser, key) + _, err = syncer.updateUserForOriginalFields(updatedUser, key) if err != nil { return err } diff --git a/object/syncer_user.go b/object/syncer_user.go index 213ac630..9bef8d91 100644 --- a/object/syncer_user.go +++ b/object/syncer_user.go @@ -21,7 +21,6 @@ import ( "time" "github.com/casdoor/casdoor/util" - "github.com/xorm-io/core" ) type OriginalUser = User @@ -50,19 +49,6 @@ func (syncer *Syncer) getOriginalUsers() ([]*OriginalUser, error) { return users, nil } -func (syncer *Syncer) getOriginalUserMap() ([]*OriginalUser, map[string]*OriginalUser, error) { - users, err := syncer.getOriginalUsers() - if err != nil { - return users, nil, err - } - - m := map[string]*OriginalUser{} - for _, user := range users { - m[user.Id] = user - } - return users, m, nil -} - func (syncer *Syncer) addUser(user *OriginalUser) (bool, error) { m := syncer.getMapFromOriginalUser(user) affected, err := syncer.Ormer.Engine.Table(syncer.getTable()).Insert(m) @@ -96,31 +82,7 @@ func (syncer *Syncer) updateUser(user *OriginalUser) (bool, error) { return affected != 0, nil } -func (syncer *Syncer) updateUserForOriginalFields(user *User) (bool, error) { - var err error - owner, name := util.GetOwnerAndNameFromId(user.GetId()) - oldUser, err := getUserById(owner, name) - if oldUser == nil || err != nil { - return false, err - } - - if user.Avatar != oldUser.Avatar && user.Avatar != "" { - user.PermanentAvatar, err = getPermanentAvatarUrl(user.Owner, user.Name, user.Avatar, true) - if err != nil { - return false, err - } - } - - columns := syncer.getCasdoorColumns() - columns = append(columns, "affiliation", "hash", "pre_hash") - affected, err := ormer.Engine.ID(core.PK{oldUser.Owner, oldUser.Name}).Cols(columns...).Update(user) - if err != nil { - return false, err - } - return affected != 0, nil -} - -func (syncer *Syncer) updateUserForOriginalByFields(user *User, key string) (bool, error) { +func (syncer *Syncer) updateUserForOriginalFields(user *User, key string) (bool, error) { var err error oldUser := User{} diff --git a/object/syner_db_user.go b/object/syner_db_user.go deleted file mode 100644 index debbe3ef..00000000 --- a/object/syner_db_user.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2021 The Casdoor Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package object - -func (syncer *Syncer) getUsers() []*User { - users, err := GetUsers(syncer.Organization) - if err != nil { - panic(err) - } - - return users -} - -func (syncer *Syncer) getUserMap() ([]*User, map[string]*User, map[string]*User) { - users := syncer.getUsers() - - m1 := map[string]*User{} - m2 := map[string]*User{} - for _, user := range users { - m1[user.Id] = user - m2[user.Name] = user - } - - return users, m1, m2 -}