netgescon-day0/database/seeders/DemoUsersSeeder.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)');
}
}