PM_Console/backend/database/seeders/NotificationSeeder.php

106 خطوط
5.2 KiB
PHP
خام پیوند همیشگی سرزنش تاریخچه

مخزن ambiguous runes header

راهنمای مخزن ambiguous runes توضیحات

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class NotificationSeeder extends Seeder
{
public function run(): void
{
$users = DB::table('users')->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);
}
}
}