22
33namespace ProcessMaker \ImportExport \Exporters ;
44
5- use ProcessMaker \ ImportExport \ DependentType ;
5+ use Illuminate \ Support \ Facades \ Log ;
66use ProcessMaker \Models \Permission ;
77
88class GroupExporter extends ExporterBase
@@ -15,20 +15,21 @@ class GroupExporter extends ExporterBase
1515
1616 public function export () : void
1717 {
18- foreach ( $ this -> model -> users as $ dependentModel ) {
19- $ this -> addDependent (DependentType:: USERS , $ dependentModel , UserExporter::class);
20- }
21-
18+ // Skipping user expansion to avoid exporting entire group membership (can be tens of thousands).
19+ Log:: info ( ' [GroupExporter] Skipping user expansion ' , [
20+ ' group_id ' => $ this -> model -> id ,
21+ ]);
2222 $ this ->addReference ('permissions ' , $ this ->model ->permissions ()->pluck ('name ' )->toArray ());
2323 }
2424
2525 public function import () : bool
2626 {
2727 $ group = $ this ->model ;
2828
29- foreach ($ this ->getDependents ('users ' ) as $ dependent ) {
30- $ dependent ->model ->groups ()->syncWithoutDetaching ($ group ->id );
31- }
29+ // Skipping user import for group membership. Can be tens of thousands of users.
30+ Log::info ('[GroupExporter] Skipping user import for group ' , [
31+ 'group_id ' => $ group ->id ,
32+ ]);
3233
3334 $ permissions = $ this ->getReference ('permissions ' ) ?? [];
3435 $ permissionIds = Permission::whereIn ('name ' , $ permissions )->pluck ('id ' )->toArray ();
0 commit comments