diff --git a/object/permission.go b/object/permission.go index 483e5c8c..4532fdc0 100644 --- a/object/permission.go +++ b/object/permission.go @@ -15,6 +15,7 @@ package object import ( + "fmt" "strings" "github.com/casdoor/casdoor/conf" @@ -217,16 +218,15 @@ func AddPermissionsInBatch(permissions []*Permission) bool { } affected := false - for i := 0; i < (len(permissions)-1)/batchSize+1; i++ { - start := i * batchSize - end := (i + 1) * batchSize + for i := 0; i < len(permissions); i += batchSize { + start := i + end := i + batchSize if end > len(permissions) { end = len(permissions) } tmp := permissions[start:end] - // TODO: save to log instead of standard output - // fmt.Printf("Add Permissions: [%d - %d].\n", start, end) + fmt.Printf("The syncer adds permissions: [%d - %d]\n", start, end) if AddPermissions(tmp) { affected = true } diff --git a/object/permission_upload.go b/object/permission_upload.go index f085c956..4e2d833d 100644 --- a/object/permission_upload.go +++ b/object/permission_upload.go @@ -82,5 +82,6 @@ func UploadPermissions(owner string, path string) (bool, error) { if len(newPermissions) == 0 { return false, nil } + return AddPermissionsInBatch(newPermissions), nil } diff --git a/object/role.go b/object/role.go index 77e2a528..4db4a7fd 100644 --- a/object/role.go +++ b/object/role.go @@ -208,16 +208,15 @@ func AddRolesInBatch(roles []*Role) bool { } affected := false - for i := 0; i < (len(roles)-1)/batchSize+1; i++ { - start := i * batchSize - end := (i + 1) * batchSize + for i := 0; i < len(roles); i += batchSize { + start := i + end := i + batchSize if end > len(roles) { end = len(roles) } tmp := roles[start:end] - // TODO: save to log instead of standard output - // fmt.Printf("Add users: [%d - %d].\n", start, end) + fmt.Printf("The syncer adds roles: [%d - %d]\n", start, end) if AddRoles(tmp) { affected = true } diff --git a/object/role_upload.go b/object/role_upload.go index e7691c06..cc20e44e 100644 --- a/object/role_upload.go +++ b/object/role_upload.go @@ -68,5 +68,6 @@ func UploadRoles(owner string, path string) (bool, error) { if len(newRoles) == 0 { return false, nil } + return AddRolesInBatch(newRoles), nil } diff --git a/object/syncer_sync.go b/object/syncer_sync.go index eafb0362..1761a380 100644 --- a/object/syncer_sync.go +++ b/object/syncer_sync.go @@ -122,6 +122,7 @@ func (syncer *Syncer) syncUsers() error { } } } + _, err = AddUsersInBatch(newUsers) if err != nil { return err diff --git a/object/syncer_user.go b/object/syncer_user.go index acb9740b..213ac630 100644 --- a/object/syncer_user.go +++ b/object/syncer_user.go @@ -196,7 +196,10 @@ func RunSyncUsersJob() { } for _, syncer := range syncers { - addSyncerJob(syncer) + err = addSyncerJob(syncer) + if err != nil { + panic(err) + } } time.Sleep(time.Duration(1<<63 - 1)) diff --git a/object/user.go b/object/user.go index 572d2a88..d46df91b 100644 --- a/object/user.go +++ b/object/user.go @@ -717,16 +717,15 @@ func AddUsersInBatch(users []*User) (bool, error) { } affected := false - for i := 0; i < (len(users)-1)/batchSize+1; i++ { - start := i * batchSize - end := (i + 1) * batchSize + for i := 0; i < len(users); i += batchSize { + start := i + end := i + batchSize if end > len(users) { end = len(users) } tmp := users[start:end] - // TODO: save to log instead of standard output - // fmt.Printf("Add users: [%d - %d].\n", start, end) + fmt.Printf("The syncer adds users: [%d - %d]\n", start, end) if ok, err := AddUsers(tmp); err != nil { return false, err } else if ok { diff --git a/object/user_upload.go b/object/user_upload.go index b0e6ebf7..5573d72f 100644 --- a/object/user_upload.go +++ b/object/user_upload.go @@ -144,5 +144,6 @@ func UploadUsers(owner string, path string) (bool, error) { if len(newUsers) == 0 { return false, nil } + return AddUsersInBatch(newUsers) }