<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class MeetingSeeder extends Seeder
{
    public function run(): void
    {
        $projects = DB::table('projects')->pluck('id');
        $users = DB::table('users')->pluck('id', 'email');
        $now = now();

        DB::table('meetings')->insert([
            [
                'project_id' => $projects[0],
                'title' => 'جلسه برنامه‌ریزی اسپرینت ۲',
                'meeting_type' => 'جلسه برنامه‌ریزی',
                'date' => '2026-02-10',
                'start_time' => '09:00:00',
                'end_time' => '11:00:00',
                'location' => 'اتاق جلسات طبقه سوم',
                'agenda' => 'بررسی تسک‌های اسپرینت قبل، تعیین تسک‌های اسپرینت جدید و اولویت‌بندی',
                'notes' => 'لطفاً تسک‌های خود را قبل از جلسه به‌روزرسانی کنید',
                'created_by' => $users['manager@pm.com'],
                'created_at' => $now,
                'updated_at' => $now,
            ],
            [
                'project_id' => $projects[0],
                'title' => 'جلسه بررسی ماژول حقوق و دستمزد',
                'meeting_type' => 'جلسه بررسی',
                'date' => '2026-03-20',
                'start_time' => '14:00:00',
                'end_time' => '15:30:00',
                'location' => 'اتاق کنفرانس آنلاین',
                'agenda' => 'بررسی پیشرفت کار، چالش‌ها و نیازمندی‌های قانونی ماژول حقوق',
                'notes' => 'حضور کارشناس حقوقی الزامی است',
                'created_by' => $users['manager@pm.com'],
                'created_at' => $now,
                'updated_at' => $now,
            ],
            [
                'project_id' => $projects[1],
                'title' => 'جلسه هماهنگی با تیم فینتک',
                'meeting_type' => 'جلسه عمومی',
                'date' => '2026-04-05',
                'start_time' => '10:00:00',
                'end_time' => '12:00:00',
                'meeting_link' => 'https://meet.google.com/abc-defg-hij',
                'agenda' => 'هماهنگی برای یکپارچه‌سازی درگاه پرداخت و رفع موانع فنی',
                'notes' => 'مستندات API درگاه پرداخت به‌روزرسانی شد',
                'created_by' => $users['manager@pm.com'],
                'created_at' => $now,
                'updated_at' => $now,
            ],
        ]);

        $meetings = DB::table('meetings')->pluck('id');

        $participants = [
            ['meeting_id' => $meetings[0], 'user_id' => $users['manager@pm.com']],
            ['meeting_id' => $meetings[0], 'user_id' => $users['member@pm.com']],
            ['meeting_id' => $meetings[0], 'user_id' => $users['observer@pm.com']],
            ['meeting_id' => $meetings[1], 'user_id' => $users['manager@pm.com']],
            ['meeting_id' => $meetings[1], 'user_id' => $users['member@pm.com']],
            ['meeting_id' => $meetings[1], 'user_id' => $users['observer@pm.com']],
            ['meeting_id' => $meetings[1], 'user_id' => $users['admin@pm.com']],
            ['meeting_id' => $meetings[2], 'user_id' => $users['manager@pm.com']],
            ['meeting_id' => $meetings[2], 'user_id' => $users['member@pm.com']],
        ];

        foreach ($participants as $participant) {
            $participant['created_at'] = $now;
            $participant['updated_at'] = $now;
            DB::table('meeting_user')->insert($participant);
        }

        DB::table('meeting_action_items')->insert([
            [
                'meeting_id' => $meetings[0],
                'title' => 'آماده‌سازی لیست تسک‌های تکمیل شده توسط رضا',
                'assigned_to' => $users['member@pm.com'],
                'due_date' => '2026-02-09',
                'is_completed' => true,
                'created_at' => $now,
                'updated_at' => $now,
            ],
            [
                'meeting_id' => $meetings[0],
                'title' => 'به‌روزرسانی تخمین زمانی تسک‌های باقیمانده توسط مدیر پروژه',
                'assigned_to' => $users['manager@pm.com'],
                'due_date' => '2026-02-10',
                'is_completed' => true,
                'created_at' => $now,
                'updated_at' => $now,
            ],
            [
                'meeting_id' => $meetings[1],
                'title' => 'بررسی قوانین جدید کار و ارائه گزارش به تیم',
                'assigned_to' => $users['observer@pm.com'],
                'due_date' => '2026-03-18',
                'is_completed' => false,
                'created_at' => $now,
                'updated_at' => $now,
            ],
            [
                'meeting_id' => $meetings[1],
                'title' => 'تهیه مستند فنی محاسبات حقوق',
                'assigned_to' => $users['member@pm.com'],
                'due_date' => '2026-03-25',
                'is_completed' => false,
                'created_at' => $now,
                'updated_at' => $now,
            ],
            [
                'meeting_id' => $meetings[2],
                'title' => 'دریافت مستندات API از تیم فینتک',
                'assigned_to' => $users['manager@pm.com'],
                'due_date' => '2026-04-07',
                'is_completed' => false,
                'created_at' => $now,
                'updated_at' => $now,
            ],
        ]);
    }
}
