diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index d01a0ef..de3d9d3 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -2,22 +2,54 @@ namespace Database\Seeders; -use App\Models\User; -// use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; +use App\Models\User; +use App\Models\Wallet; +use App\Models\Game; +use App\Models\PromoCode; +use Spatie\Permission\Models\Role; class DatabaseSeeder extends Seeder { - /** - * Seed the application's database. - */ public function run(): void { - // User::factory(10)->create(); + // Roles (Spatie) + Role::create(['name' => 'admin']); + Role::create(['name' => 'player']); + Role::create(['name' => 'vip']); - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', + // Test User (Player) + $player = User::factory()->create([ + 'name' => 'Test Player', + 'email' => 'player@example.com', + 'password' => bcrypt('password'), + 'is_kyc_verified' => true, + 'vip_level' => 1, ]); + $player->assignRole('player', 'vip'); + + // Test Admin + $admin = User::factory()->create([ + 'name' => 'Test Admin', + 'email' => 'admin@example.com', + 'password' => bcrypt('password'), + 'is_kyc_verified' => true, + 'vip_level' => 0, + ]); + $admin->assignRole('admin'); + + // Wallets + Wallet::create(['user_id' => $player->id, 'balance' => 1000.00]); + Wallet::create(['user_id' => $admin->id, 'balance' => 0.00]); + + // Games + Game::create(['name' => 'Plinko', 'slug' => 'plinko', 'thumbnail_url' => 'https://placehold.co/300x200', 'category' => 'plinko']); + Game::create(['name' => 'Slots', 'slug' => 'slots', 'thumbnail_url' => 'https://placehold.co/300x200', 'category' => 'slots']); + + // Promo Codes + PromoCode::create(['code' => 'WELCOME100', 'value' => 100.00, 'uses_remaining' => -1, 'is_active' => true]); + + // Player Stats (initial) + \App\Models\PlayerStats::create(['user_id' => $player->id, 'total_winnings' => 0.00, 'total_bets' => 0.00, 'play_count' => 0]); } -} +} \ No newline at end of file diff --git a/database/seeders/PlayerStatsSeeder.php b/database/seeders/PlayerStatsSeeder.php new file mode 100644 index 0000000..60853f8 --- /dev/null +++ b/database/seeders/PlayerStatsSeeder.php @@ -0,0 +1,17 @@ +