62 lines
2.0 KiB
PHP
62 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Amministratore;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Spatie\Permission\PermissionRegistrar;
|
|
|
|
class DemoUsersSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
app(PermissionRegistrar::class)->forgetCachedPermissions();
|
|
|
|
// Ensure base roles/permissions exist
|
|
$this->call(RoleSeeder::class);
|
|
|
|
$superAdmin = User::firstOrCreate(
|
|
['email' => 'superadmin@demo.netgescon.local'],
|
|
[
|
|
'name' => 'Demo Super Admin',
|
|
'password' => Hash::make('demo12345'),
|
|
'email_verified_at' => now(),
|
|
]
|
|
);
|
|
$superAdmin->assignRole('super-admin');
|
|
|
|
$adminUser = User::firstOrCreate(
|
|
['email' => 'amministratore@demo.netgescon.local'],
|
|
[
|
|
'name' => 'Demo Amministratore',
|
|
'password' => Hash::make('demo12345'),
|
|
'email_verified_at' => now(),
|
|
]
|
|
);
|
|
$adminUser->assignRole('amministratore');
|
|
|
|
Amministratore::firstOrCreate(
|
|
['user_id' => $adminUser->id],
|
|
[
|
|
'nome' => 'Demo',
|
|
'cognome' => 'Amministratore',
|
|
'denominazione_studio' => 'Studio Demo NetGescon',
|
|
'partita_iva' => '00000000000',
|
|
'codice_fiscale_studio' => 'DEMDMO80A01H501X',
|
|
'indirizzo_studio' => 'Via Demo 1',
|
|
'cap_studio' => '00100',
|
|
'citta_studio' => 'Roma',
|
|
'provincia_studio' => 'RM',
|
|
'telefono_studio' => '0000000000',
|
|
'email_studio' => 'demo@netgescon.local',
|
|
'pec_studio' => 'demo@pec.netgescon.local',
|
|
'attivo' => true,
|
|
]
|
|
);
|
|
|
|
$this->command?->info('Demo users created: superadmin@demo.netgescon.local / amministratore@demo.netgescon.local (password: demo12345)');
|
|
}
|
|
}
|