<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\Notice;
use App\Models\User;

class NoticeSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $users = User::all();
        
        if ($users->isEmpty()) {
            // যদি কোনো ইউজার না থাকে
            $users = User::factory(5)->create();
        }

        // নোটিশ তৈরি করুন
        Notice::factory(50)->create([
            'created_by' => function() use ($users) {
                return $users->random()->id;
            }
        ]);

        // কিছু নোটিশকে নির্দিষ্ট সদস্যের জন্য তৈরি করুন
        Notice::factory(10)->create([
            'target_audience' => 'specific',
            'specific_members' => json_encode($users->take(3)->pluck('id')->toArray()),
            'created_by' => $users->random()->id,
        ]);

        // গুরুত্বপূর্ণ নোটিশ
        Notice::factory(5)->important()->published()->create([
            'created_by' => $users->random()->id,
        ]);

        // মিটিং নোটিশ
        Notice::factory(8)->meeting()->published()->create([
            'created_by' => $users->random()->id,
        ]);

        $this->command->info('50টি নোটিশ সীড করা হয়েছে!');
    }
}