-- My Daneshyar baseline seed data
-- Safe to edit during early development with database/schema.sql.

SET NAMES utf8mb4;

INSERT INTO grade_levels (number, name_fa, status, created_at, updated_at) VALUES
(1, 'پایه اول', 'active', NOW(), NOW()),
(2, 'پایه دوم', 'active', NOW(), NOW()),
(3, 'پایه سوم', 'active', NOW(), NOW()),
(4, 'پایه چهارم', 'active', NOW(), NOW()),
(5, 'پایه پنجم', 'active', NOW(), NOW()),
(6, 'پایه ششم', 'active', NOW(), NOW()),
(7, 'پایه هفتم', 'active', NOW(), NOW()),
(8, 'پایه هشتم', 'active', NOW(), NOW()),
(9, 'پایه نهم', 'active', NOW(), NOW()),
(10, 'پایه دهم', 'active', NOW(), NOW()),
(11, 'پایه یازدهم', 'active', NOW(), NOW()),
(12, 'پایه دوازدهم', 'active', NOW(), NOW());

INSERT INTO modules (key_name, name_fa, name_en, description, is_core, is_sellable, status, created_at, updated_at) VALUES
('core', 'هسته مدرسه', 'Core School System', 'ماژول پایه و اجباری سیستم', TRUE, FALSE, 'active', NOW(), NOW()),
('users', 'مدیریت کاربران', 'User Management', 'مدیریت کاربران و نقش‌ها', TRUE, FALSE, 'active', NOW(), NOW()),
('students', 'مدیریت دانش‌آموزان', 'Student Management', 'پرونده و لیست دانش‌آموزان', TRUE, TRUE, 'active', NOW(), NOW()),
('teachers', 'مدیریت معلمان', 'Teacher Management', 'پرونده و لیست معلمان', TRUE, TRUE, 'active', NOW(), NOW()),
('classes', 'مدیریت کلاس‌ها', 'Class Management', 'کلاس، پایه و اختصاص دانش‌آموز', TRUE, TRUE, 'active', NOW(), NOW()),
('subjects', 'مدیریت درس‌ها', 'Subject Management', 'درس‌ها و ضرایب', TRUE, TRUE, 'active', NOW(), NOW()),
('schedule', 'برنامه هفتگی', 'Weekly Schedule', 'برنامه هفتگی کلاس و معلم', FALSE, TRUE, 'active', NOW(), NOW()),
('attendance', 'حضور و غیاب', 'Attendance', 'حضور و غیاب جلسه‌ای و روزانه', FALSE, TRUE, 'active', NOW(), NOW()),
('homework', 'تکلیف', 'Homework', 'تکلیف و ارسال فایل', FALSE, TRUE, 'active', NOW(), NOW()),
('exams', 'امتحانات آنلاین', 'Online Exams', 'امتحانات تستی و تشریحی', FALSE, TRUE, 'active', NOW(), NOW()),
('grades', 'نمره‌دهی', 'Grades', 'ثبت و تایید نمرات', FALSE, TRUE, 'active', NOW(), NOW()),
('reports', 'گزارش‌ها و خروجی', 'Reports and Export', 'گزارش‌ها، CSV، Excel و PDF', FALSE, TRUE, 'active', NOW(), NOW()),
('messages', 'پیام‌رسانی', 'Messages', 'پیام داخلی و اطلاعیه‌ها', FALSE, TRUE, 'active', NOW(), NOW()),
('sms', 'سامانه پیامک', 'SMS System', 'کیف پول و ارسال پیامک', FALSE, TRUE, 'active', NOW(), NOW()),
('voting', 'رأی‌گیری', 'Voting', 'شورای دانش‌آموزی و رأی‌گیری', FALSE, TRUE, 'active', NOW(), NOW()),
('online_class', 'کلاس آنلاین', 'Online Class', 'لینک و حضور کلاس آنلاین', FALSE, TRUE, 'active', NOW(), NOW());

INSERT INTO permissions (key_name, name_fa, description, is_sellable, created_at, updated_at) VALUES
('students.view', 'مشاهده دانش‌آموزان', 'مشاهده لیست و پرونده دانش‌آموز', TRUE, NOW(), NOW()),
('students.create', 'افزودن دانش‌آموز', 'ساخت دانش‌آموز', TRUE, NOW(), NOW()),
('students.import', 'Import دانش‌آموزان', 'ورود دانش‌آموزان با CSV', TRUE, NOW(), NOW()),
('classes.manage', 'مدیریت کلاس‌ها', 'ساخت و ویرایش کلاس', TRUE, NOW(), NOW()),
('attendance.create', 'ثبت حضور و غیاب', 'ثبت برگه حضور و غیاب', TRUE, NOW(), NOW()),
('attendance.approve_absence_sms', 'تایید SMS غیبت', 'تایید ارسال SMS برای غایبین', TRUE, NOW(), NOW()),
('homework.create', 'ساخت تکلیف', 'ساخت تکلیف برای کلاس', TRUE, NOW(), NOW()),
('exams.online.create', 'ساخت امتحان آنلاین', 'ساخت امتحان آنلاین', TRUE, NOW(), NOW()),
('grades.create', 'ثبت نمره', 'ثبت نمره دانش‌آموز', TRUE, NOW(), NOW()),
('grades.approve', 'تایید نمره', 'تایید نمرات ثبت‌شده', TRUE, NOW(), NOW()),
('sms.view_wallet', 'مشاهده کیف پول SMS', 'مشاهده موجودی و مصرف پیامک', TRUE, NOW(), NOW()),
('sms.charge_wallet', 'شارژ کیف پول SMS', 'شارژ موجودی پیامک مدرسه', TRUE, NOW(), NOW()),
('sms.send_to_absents', 'SMS به غایبین', 'ارسال پیامک به غایبین', TRUE, NOW(), NOW()),
('sms.send_bulk', 'SMS انبوه', 'ارسال پیامک گروهی', TRUE, NOW(), NOW()),
('voting.create', 'ساخت رأی‌گیری', 'ساخت رأی‌گیری مدرسه', TRUE, NOW(), NOW()),
('voting.publish', 'انتشار رأی‌گیری', 'فعال‌سازی رأی‌گیری برای دانش‌آموزان', TRUE, NOW(), NOW()),
('voting.view_results', 'مشاهده نتایج رأی‌گیری', 'مشاهده نتایج', TRUE, NOW(), NOW()),
('voting.export_results', 'خروجی نتایج رأی‌گیری', 'Export نتایج رأی‌گیری', TRUE, NOW(), NOW()),
('reports.export', 'خروجی گزارش‌ها', 'CSV/Excel/PDF/ZIP', TRUE, NOW(), NOW());

INSERT INTO sms_templates (school_id, key_name, title, body, status, created_at, updated_at) VALUES
(NULL, 'absence_notification', 'اطلاع‌رسانی غیبت', 'ولی محترم، دانش‌آموز {student_name} در تاریخ {date} در کلاس {class_name} / درس {subject_name} غایب ثبت شده است. مدرسه {school_name}', 'active', NOW(), NOW()),
(NULL, 'online_class_absence', 'غیبت کلاس آنلاین', 'ولی محترم، دانش‌آموز {student_name} در کلاس آنلاین {subject_name} حاضر نشده است. مدرسه {school_name}', 'active', NOW(), NOW()),
(NULL, 'license_expiry', 'اتمام مجوز مدرسه', 'مدیر محترم، مجوز مدرسه {school_name} در تاریخ {date} به پایان می‌رسد. جهت تمدید با پشتیبانی دانشیار من تماس بگیرید.', 'active', NOW(), NOW()),
(NULL, 'exam_reminder', 'یادآوری امتحان', 'دانش‌آموز عزیز، امتحان درس {subject_name} در تاریخ {date} ساعت {time} برگزار می‌شود. مدرسه {school_name}', 'active', NOW(), NOW());

INSERT INTO sms_packages (title, sms_count, price, status, created_at, updated_at) VALUES
('بسته پایه ۱۰۰ پیامک', 100, 50000, 'active', NOW(), NOW()),
('بسته نقره‌ای ۵۰۰ پیامک', 500, 220000, 'active', NOW(), NOW()),
('بسته طلایی ۱۰۰۰ پیامک', 1000, 400000, 'active', NOW(), NOW()),
('بسته سازمانی ۵۰۰۰ پیامک', 5000, 1800000, 'active', NOW(), NOW());

INSERT INTO permission_packages (key_name, name_fa, description, price, status, created_at, updated_at) VALUES
('starter', 'بسته شروع', 'دانش‌آموز، معلم، کلاس و برنامه پایه', 0, 'active', NOW(), NOW()),
('education', 'بسته آموزشی', 'تکلیف، امتحان، نمره، کارنامه و حضور و غیاب', 0, 'active', NOW(), NOW()),
('communication', 'بسته ارتباطی', 'پیام‌رسانی و اطلاعیه', 0, 'active', NOW(), NOW()),
('sms_pack', 'بسته پیامک', 'کیف پول و ارسال SMS', 0, 'active', NOW(), NOW()),
('voting_pack', 'بسته رأی‌گیری', 'رأی‌گیری و شورای دانش‌آموزی', 0, 'active', NOW(), NOW()),
('full_pack', 'بسته کامل', 'تمام امکانات سیستم', 0, 'active', NOW(), NOW());
