diff --git a/database/migrations/2025_09_13_045752_create_outlets_table.php b/database/migrations/2025_09_13_045752_create_outlets_table.php index f6ceb0a..3d100fd 100644 --- a/database/migrations/2025_09_13_045752_create_outlets_table.php +++ b/database/migrations/2025_09_13_045752_create_outlets_table.php @@ -18,7 +18,7 @@ public function up(): void $table->string('slug', 120); $table->string('phone_number', 20); $table->text('address'); - $table->string('landmark', 30); + $table->string('landmark', 30)->nullable(); $table->text('maps_url')->nullable(); $table->enum('status', [OutletStatus::values()])->default(OutletStatus::OPERATIONAL)->comment(OutletStatus::comment()); $table->date('opened_date'); diff --git a/database/seeders/OutletSeeder.php b/database/seeders/OutletSeeder.php index 310060a..287185a 100644 --- a/database/seeders/OutletSeeder.php +++ b/database/seeders/OutletSeeder.php @@ -12,42 +12,54 @@ class OutletSeeder extends Seeder { public function run(): void { - $outlet1 = Outlet::create([ - 'name' => 'Outlet 1', - 'slug' => 'outlet-1', - 'phone_number' => '0821 2149 5806', - 'address' => 'Jl. Taman Pahlawan No.41, Nagri Kaler, Kec. Purwakarta, Kabupaten Purwakarta, Jawa Barat 41119', - 'landmark' => 'Samping Gacoan', - 'status' => OutletStatus::OPERATIONAL, - 'opened_date' => now()->toDateString(), - ]); + $outlets = [ + [ + 'name' => 'Toko 1', + 'slug' => 'toko-1', + 'phone_number' => '085135557595', + 'address' => 'Jl. Taman Pahlawan No.41, Nagri Kaler, Kec. Purwakarta, Kabupaten Purwakarta, Jawa Barat 41119', + 'landmark' => 'Samping Gacoan', + ], + [ + 'name' => 'Outlet 2', + 'slug' => 'outlet-2', + 'phone_number' => '085135557595', + 'address' => 'Jl. Ipik Gandamanah, Kabupaten Purwakarta, Jawa Barat 41117', + 'landmark' => 'Samping Global Bakery', + ], + [ + 'name' => 'Outlet 3', + 'slug' => 'outlet-3', + 'phone_number' => '085135557595', + 'address' => 'Pabuaran, Subang Regency, West Java', + 'landmark' => null, + ], + [ + 'name' => 'Outlet 4', + 'slug' => 'outlet-4', + 'phone_number' => '085135557595', + 'address' => 'Jl. Raya Citeko, Pamoyanan, Kec. Plered, Kabupaten Purwakarta, Jawa Barat', + 'landmark' => null, + ], + ]; - foreach (Day::cases() as $day) { - OpeningHour::insert([ - 'outlet_id' => $outlet1->id, + foreach ($outlets as $data) { + $outlet = Outlet::create([ + ...$data, + 'status' => OutletStatus::OPERATIONAL, + 'opened_date' => now()->toDateString(), + ]); + + $hours = collect(Day::cases())->map(fn($day) => [ + 'outlet_id' => $outlet->id, 'day' => $day->value, 'open_time' => '09:00:00', 'close_time' => '21:00:00', - ]); - } + ])->toArray(); - $outlet2 = Outlet::create([ - 'name' => 'Outlet 2', - 'slug' => 'outlet-2', - 'phone_number' => '0821 2149 5806', - 'address' => 'Toko Yadi Parfum, Jl. Ipik Gandamanah, Kabupaten Purwakarta, Jawa Barat 41117', - 'landmark' => 'Samping Global Bakeri', - 'status' => OutletStatus::OPERATIONAL, - 'opened_date' => now()->toDateString(), - ]); + $outlet->facilities()->create(['name' => 'Parkir']); - foreach (Day::cases() as $day) { - OpeningHour::insert([ - 'outlet_id' => $outlet2->id, - 'day' => $day->value, - 'open_time' => '09:00:00', - 'close_time' => '21:00:00', - ]); + OpeningHour::insert($hours); } } } diff --git a/database/seeders/VoucherSeeder.php b/database/seeders/VoucherSeeder.php index 0d5b9a9..d1557a2 100644 --- a/database/seeders/VoucherSeeder.php +++ b/database/seeders/VoucherSeeder.php @@ -24,7 +24,6 @@ public function run(): void 'limit_per_user' => 2, 'start_date' => now()->subDays(5), 'end_date' => now()->addMonth(), - 'is_active' => IsActive::ACTIVE, ], [ 'name' => 'Diskon 20%', @@ -37,7 +36,6 @@ public function run(): void 'limit_per_user' => 1, 'start_date' => now(), 'end_date' => now()->addDays(30), - 'is_active' => IsActive::ACTIVE, ], [ 'name' => 'Potongan Rp25K', @@ -50,7 +48,6 @@ public function run(): void 'limit_per_user' => 3, 'start_date' => now(), 'end_date' => now()->addDays(15), - 'is_active' => IsActive::ACTIVE, ], [ 'name' => 'Potongan Rp50K', @@ -63,7 +60,6 @@ public function run(): void 'limit_per_user' => 1, 'start_date' => now()->addDays(3), 'end_date' => now()->addDays(60), - 'is_active' => IsActive::ACTIVE, ], [ 'name' => 'Gratis Ongkir', @@ -76,7 +72,6 @@ public function run(): void 'limit_per_user' => 5, 'start_date' => now(), 'end_date' => now()->addDays(90), - 'is_active' => IsActive::ACTIVE, ], [ 'name' => 'Flash Sale 30%', @@ -89,7 +84,6 @@ public function run(): void 'limit_per_user' => 1, 'start_date' => now()->subDay(), 'end_date' => now()->addDay(), - 'is_active' => IsActive::ACTIVE, ], [ 'name' => 'Spesial Member', @@ -102,7 +96,6 @@ public function run(): void 'limit_per_user' => null, 'start_date' => now(), 'end_date' => null, - 'is_active' => IsActive::ACTIVE, ], ];