diff --git a/app/Console/Commands/SeedDevUsers.php b/app/Console/Commands/SeedDevUsers.php new file mode 100644 index 000000000..23f29bf5b --- /dev/null +++ b/app/Console/Commands/SeedDevUsers.php @@ -0,0 +1,72 @@ + 'Admin User', + 'username' => 'admin', + 'email' => 'admin@example.com', + 'is_admin' => true, + ], + [ + 'name' => 'Test User', + 'username' => 'user', + 'email' => 'user@example.com', + 'is_admin' => false, + ], + ]; + + foreach ($users as $data) { + if (User::whereUsername($data['username'])->exists()) { + $this->warn("User '{$data['username']}' already exists, skipping."); + + continue; + } + + $password = Str::random(16); + + $user = User::factory()->create([ + 'name' => $data['name'], + 'username' => $data['username'], + 'email' => $data['email'], + 'password' => bcrypt($password), + 'is_admin' => $data['is_admin'], + 'email_verified_at' => now(), + ]); + + $role = $data['is_admin'] ? 'admin' : 'user'; + $this->info("Created {$role}: {$data['username']} / {$data['email']} — password: {$password}"); + } + + $this->newLine(); + $this->info('Done! Save these passwords — they are generated randomly each run.'); + } +}