Teren-app/database/seeders/AdditionalProductionUsersSeeder.php
Simon Pocrnjič 53917f2ca0 Change
2025-09-30 17:20:37 +02:00

61 lines
1.9 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
class AdditionalProductionUsersSeeder extends Seeder
{
/**
* Seed additional fixed production users (idempotent / safe to re-run).
*/
public function run(): void
{
$users = [
['email' => 'vanja@resovision.com', 'name' => 'Vanja', 'password' => 'Vanja123*#'],
['email' => 'tadeja@resovision.com', 'name' => 'Tadeja', 'password' => 'Tadeja123*#'],
['email' => 'sandi@resovision.com', 'name' => 'Sandi Kralj', 'password' => 'Sandi123*#'],
];
foreach ($users as $data) {
$user = User::query()->firstOrCreate(
['email' => $data['email']],
[
'name' => $data['name'],
// Passwords will be hashed via the User model's casts.
'password' => $data['password'],
]
);
// If user already existed, update fields if needed
if (! $user->wasRecentlyCreated) {
$needsSave = false;
if ($user->name !== $data['name']) {
$user->name = $data['name'];
$needsSave = true;
}
// Keep credentials in sync with expected defaults
$user->password = $data['password'];
$needsSave = true;
if ($user->email_verified_at === null) {
$user->email_verified_at = now();
$needsSave = true;
}
if ($needsSave) {
$user->save();
}
} else {
if ($user->email_verified_at === null) {
$user->email_verified_at = now();
$user->save();
}
}
}
}
}