diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index dd972c5..c94987e 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -33,6 +33,7 @@ public function run(): void EventSeeder::class, ImportTemplateSeeder::class, TestUserSeeder::class, + ProductionUserSeeder::class, ]); } } diff --git a/database/seeders/ProductionUserSeeder.php b/database/seeders/ProductionUserSeeder.php new file mode 100644 index 0000000..2f9306c --- /dev/null +++ b/database/seeders/ProductionUserSeeder.php @@ -0,0 +1,57 @@ + 'klara@resovision.com', 'name' => 'Klara Koren', 'password' => 'Klara123*#'], + ['email' => 'beno@resovision.com', 'name' => 'Benjamin Gašparič', 'password' => 'Beno123*#'], + ['email' => 'srecko@resovision.com', 'name' => 'Srečko Lazer', 'password' => 'Srecko123*#'], + ['email' => 'tamara@resovision.com', 'name' => 'Tamara Koren', 'password' => 'Tamara123*#'], + ]; + + foreach ($users as $data) { + $user = User::query()->firstOrCreate( + ['email' => $data['email']], + [ + 'name' => $data['name'], + 'password' => $data['password'], // hashed via cast + ] + ); + + // If user already existed, update name/password if changed + if (! $user->wasRecentlyCreated) { + $needsSave = false; + if ($user->name !== $data['name']) { + $user->name = $data['name']; + $needsSave = true; + } + // Always re-set password to ensure known credential (optional: skip if security requires manual reset) + $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(); + } + } + } + } +}