diff --git a/src/internal/controller/project_controller.go b/src/internal/controller/project_controller.go index c450ee7..807a479 100644 --- a/src/internal/controller/project_controller.go +++ b/src/internal/controller/project_controller.go @@ -207,14 +207,17 @@ func (wr *wrappedProjectReconciler) reconcileRoles(ctx context.Context, ztdClien } } - for _, dRole := range deleteRoles { - if _, err = ztdClient.RemoveProjectRole(middleware.SetOrgID(ctx, org.Status.OrgId), &pb.RemoveProjectRoleRequest{ - ProjectId: wr.project.Status.ProjectId, - RoleKey: dRole.Key, - }); err != nil { - return fmt.Errorf("Error removing project role: %v", err) + if deleteRoles != nil { + for _, dRole := range deleteRoles { + if _, err = ztdClient.RemoveProjectRole(middleware.SetOrgID(ctx, org.Status.OrgId), &pb.RemoveProjectRoleRequest{ + ProjectId: wr.project.Status.ProjectId, + RoleKey: dRole.Key, + }); err != nil { + return fmt.Errorf("Error removing project role: %v", err) + } } } + if len(roles) > 0 { _, err = ztdClient.BulkAddProjectRoles(middleware.SetOrgID(ctx, org.Status.OrgId), &pb.BulkAddProjectRolesRequest{ ProjectId: wr.project.Status.ProjectId,