pluck('id', 'email'); $now = now(); $notifications = [ [ 'user_id' => $users['member@pm.com'], 'type' => 'task_assigned', 'title' => 'وظیفه جدید به شما تخصیص یافت', 'body' => 'وظیفه "طراحی و پیاده‌سازی ماژول حقوق و دستمزد" به شما تخصیص یافت', 'data' => json_encode(['task_id' => 2, 'project_id' => 1]), 'is_read' => false, 'created_at' => $now->copy()->subHours(24), 'updated_at' => $now->copy()->subHours(24), ], [ 'user_id' => $users['observer@pm.com'], 'type' => 'task_assigned', 'title' => 'وظیفه جدید به شما تخصیص یافت', 'body' => 'وظیفه "طراحی پنل مدیریت فروشگاه" به شما تخصیص یافت', 'data' => json_encode(['task_id' => 13, 'project_id' => 2]), 'is_read' => false, 'created_at' => $now->copy()->subHours(48), 'updated_at' => $now->copy()->subHours(48), ], [ 'user_id' => $users['member@pm.com'], 'type' => 'task_overdue', 'title' => 'مهلت وظیفه به پایان رسیده است', 'body' => 'مهلت انجام وظیفه "یکپارچه‌سازی با درگاه‌های پرداخت" ۵ روز پیش به پایان رسیده است', 'data' => json_encode(['task_id' => 14, 'project_id' => 2]), 'is_read' => true, 'read_at' => $now->copy()->subHours(2), 'created_at' => $now->copy()->subHours(120), 'updated_at' => $now->copy()->subHours(2), ], [ 'user_id' => $users['manager@pm.com'], 'type' => 'task_overdue', 'title' => 'تسک دارای تأخیر', 'body' => 'وظیفه "یکپارچه‌سازی با درگاه‌های پرداخت" توسط رضا کریمی دارای تأخیر است', 'data' => json_encode(['task_id' => 14, 'project_id' => 2]), 'is_read' => false, 'created_at' => $now->copy()->subHours(120), 'updated_at' => $now->copy()->subHours(120), ], [ 'user_id' => $users['member@pm.com'], 'type' => 'meeting_created', 'title' => 'جلسه جدید برنامه‌ریزی شد', 'body' => 'جلسه "برنامه‌ریزی اسپرینت ۲" در تاریخ ۲۰ بهمن برگزار می‌شود', 'data' => json_encode(['meeting_id' => 1, 'project_id' => 1]), 'is_read' => false, 'created_at' => $now->copy()->subHours(72), 'updated_at' => $now->copy()->subHours(72), ], [ 'user_id' => $users['observer@pm.com'], 'type' => 'meeting_created', 'title' => 'جلسه جدید برنامه‌ریزی شد', 'body' => 'جلسه "بررسی ماژول حقوق و دستمزد" در تاریخ ۳۰ اسفند برگزار می‌شود', 'data' => json_encode(['meeting_id' => 2, 'project_id' => 1]), 'is_read' => true, 'read_at' => $now->copy()->subHours(48), 'created_at' => $now->copy()->subHours(96), 'updated_at' => $now->copy()->subHours(48), ], [ 'user_id' => $users['member@pm.com'], 'type' => 'mention', 'title' => 'شما در یک نظر منشن شدید', 'body' => 'سارا احمدی در نظری شما را منشن کرده است: "رضا جان لطفاً مستندات API رو هم به این تسک اضافه کنید"', 'data' => json_encode(['task_id' => 1, 'comment_id' => 1]), 'is_read' => true, 'read_at' => $now->copy()->subHours(180), 'created_at' => $now->copy()->subHours(200), 'updated_at' => $now->copy()->subHours(180), ], [ 'user_id' => $users['manager@pm.com'], 'type' => 'mention', 'title' => 'شما در یک نظر منشن شدید', 'body' => 'دکتر امیر رضایی در بک‌لاگ اشاره کرده است: "نیاز به داشبورد اختصاصی برای مدیران داریم"', 'data' => json_encode(['backlog_id' => 3]), 'is_read' => false, 'created_at' => $now->copy()->subHours(24), 'updated_at' => $now->copy()->subHours(24), ], ]; foreach ($notifications as $notification) { DB::table('notifications')->insert($notification); } } }