'cabm' ], [ 'name' => 'CABM', 'is_active' => true, ]); // 2. Définir le contexte global pour les seeders suivants config(['tenant.structure_id' => $cabm->id]); app()[\Spatie\Permission\PermissionRegistrar::class]->setPermissionsTeamId($cabm->id); // 3. Appeler les seeders de base (ils utiliseront le contexte CABM) $this->call([ ServiceSeeder::class, RolesAndPermissionsSeeder::class, IntegrationTemplateSeeder::class, ]); // 4. Créer le compte Admin lié à cette structure $admin = User::withoutGlobalScope('structure')->updateOrCreate( ['email' => 'admin@admin.com'], [ 'name' => 'Admin User', 'password' => bcrypt('password'), 'structure_id' => $cabm->id, ] ); // 5. Lui assigner le rôle Admin (dans le contexte de CABM) if (!$admin->hasRole('Admin')) { $admin->assignRole('Admin'); } // 6. Créer le rôle SuperAdmin lié à CABM pour le seeder $superAdminRole = \App\Models\Role::updateOrCreate( ['name' => 'SuperAdmin'], ['guard_name' => 'web', 'structure_id' => $cabm->id] ); // L'admin de base sera aussi SuperAdmin if (!$admin->hasRole('SuperAdmin')) { $admin->assignRole('SuperAdmin'); } } }