-- My Daneshyar baseline seed data
-- Schema source for fresh installs: database/schema/mysql-schema.sql.


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 partner_schools (name, address, is_active, sort_order, created_at, updated_at) VALUES
('دبیرستان شهید مطهری', 'تهران، منطقه ۶', 1, 1, NOW(), NOW()),
('مجتمع آموزشی رازی', 'شیراز، قصرالدشت', 1, 2, NOW(), NOW()),
('آموزشگاه نور', 'مشهد، بلوار سجاد', 1, 3, NOW(), NOW()),
('دبیرستان علامه حلی', 'اصÙهان، چهارباغ بالا', 1, 4, NOW(), NOW()),
('مدرسه Ùاطمیه', 'قم، بلوار امین', 1, 5, NOW(), NOW()),
('آموزشگاه دانش', 'کرج، عظیمیه', 1, 6, NOW(), NOW()),
('دبیرستان شهید باهنر', 'تبریز، ولیعصر', 1, 7, NOW(), NOW()),
('مجتمع امام صادق', 'اهواز، کیانپارس', 1, 8, NOW(), NOW()),
('دبیرستان ایران', 'رشت، گلسار', 1, 9, NOW(), NOW()),
('آموزشگاه پیشرو', 'یزد، صÙائیه', 1, 10, NOW(), NOW()),
('مدرسه نیکان', 'تهران، پاسداران', 1, 11, NOW(), NOW()),
('دبیرستان خرد', 'شیراز، Ùرهنگ‌شهر', 1, 12, NOW(), NOW()),
('مجتمع آموزشی صدرا', 'مشهد، احمدآباد', 1, 13, NOW(), NOW()),
('دبیرستان شریÙ', 'اصÙهان، مرداویج', 1, 14, NOW(), NOW()),
('آموزشگاه البرز', 'کرج، جهانشهر', 1, 15, 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());

INSERT INTO sms_provider_settings
  (provider_key, name_fa, color, enabled, priority, line_number, otp_template_id, otp_param_name, absent_template_id, last_test_status, created_at, updated_at) VALUES
('smsir', 'اس‌ام‌اس دات آی‌آر', 'yellow', 0, 1, NULL, NULL, 'Code', NULL, 'never', NOW(), NOW()),
('farazsms', 'Ùراز اس‌ام‌اس', 'green', 0, 2, NULL, NULL, 'Code', NULL, 'never', NOW(), NOW());

INSERT INTO system_settings (key_name, value, updated_at) VALUES
('sms_price', '1', NOW()),
('sms_price_rial', '1000', NOW()),
('sms_gift_enabled', '1', NOW()),
('sms_gift_per', '100', NOW()),
('sms_pack_counts', '100,500,1000,2000,5000', NOW());

-- ── سرورهای رسانه ────────────────────────────────────────────────────────────
-- سرور اصلی: همان coturn روی سرور وب. secret از TURN_SECRET در .env خوانده
-- می‌شود و اینجا NULL می‌ماند تا رمز داخل seed نیفتد.
-- سرور بعدی را با: python scripts/media_servers.py add ... اضافه کنید.
INSERT INTO media_servers
  (id, name, kind, host, port, scheme, secret, region, capacity, current_load, priority, status, created_at, updated_at)
VALUES
  (1, 'سرور اصلی (coturn)', 'turn', 'mydaneshyar.ir', 3478, 'turn', NULL, 'de-fsn1', 50, 0, 10, 'active', NOW(), NOW());

-- ─────────────────────────────────────────────────────────────────────────────
-- داده نمونه (Demo) — دو مدرسه، ۵ معلم، ۱۸ دانش‌آموز، نمرات، حضورغیاب، تکالیÙ
-- رمز عبور همه کاربران: Demo@1234
-- ─────────────────────────────────────────────────────────────────────────────

-- Schools
INSERT INTO schools (id, name_fa, name_en, school_code, province, city, address, phone, status, school_type, primary_color, created_at, updated_at) VALUES
(1, 'دبیرستان دانشیار', 'Daneshyar Middle School', 'DEMO-001', 'تهران', 'تهران', 'تهران، بلوار ولیعصر، پلاک ۱۲', '02112345678', 'active', 'motevasete_aval', '#0EA678', NOW(), NOW()),
(2, 'دبستان امام رضا', 'Imam Reza Elementary', 'DEMO-002', 'تهران', 'کرج', 'کرج، خیابان آزادی، پلاک ۴۵', '02632112233', 'active', 'ebtedaee', '#7C3AED', NOW(), NOW());

-- Users (password: Demo@1234)
INSERT INTO users (id, school_id, username, password, first_name, last_name, mobile, national_code, role_key, status, must_change_password, must_complete_profile, created_at, updated_at) VALUES
-- SuperAdmin
(1, NULL,  'admin',      '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'مدیر',      'سامانه',  '09120000001', NULL,         'super_admin', 'active', FALSE, FALSE, NOW(), NOW()),
-- School 1 (motevasete_aval — grades 7-9)
(2,  1,    'modir1',     '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'احمد',      'محمدی',   '09121000001', '1234567890', 'owner',       'active', FALSE, FALSE, NOW(), NOW()),
(3,  1,    'naeb1',      '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'رضا',       'کریمی',   '09121000002', '1234567891', 'moaven',      'active', FALSE, FALSE, NOW(), NOW()),
(4,  1,    'teacher1',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'مریم',      'صادقی',   '09121000003', '1234567892', 'teacher',     'active', FALSE, FALSE, NOW(), NOW()),
(5,  1,    'teacher2',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'محمد',      'رضوی',    '09121000004', '1234567893', 'teacher',     'active', FALSE, FALSE, NOW(), NOW()),
(6,  1,    'teacher3',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'زهرا',      'قاسمی',   '09121000005', '1234567894', 'teacher',     'active', FALSE, FALSE, NOW(), NOW()),
-- School 2 (ebtedaee — grades 1-6)
(7,  2,    'modir2',     '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'Ùاطمه',     'حسینی',   '09122000001', '2345678901', 'owner',       'active', FALSE, FALSE, NOW(), NOW()),
(8,  2,    'teacher4',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'حسن',       'موسوی',   '09122000002', '2345678902', 'teacher',     'active', FALSE, FALSE, NOW(), NOW()),
(9,  2,    'teacher5',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'مرضیه',     'احمدی',   '09122000003', '2345678903', 'teacher',     'active', FALSE, FALSE, NOW(), NOW()),
-- School 1 students
(10, 1,    'ali.rezaei', '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'علی',       'رضایی',   '09121010001', '3000000001', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(11, 1,    'm.karimi',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'محمد',      'کریمی',   '09121010002', '3000000002', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(12, 1,    's.ahmadi',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'سارا',      'احمدی',   '09121010003', '3000000003', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(13, 1,    'z.mousavi',  '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'زینب',      'موسوی',   '09121010004', '3000000004', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(14, 1,    'a.najafi',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'امیرحسین', 'نجÙی',    '09121010005', '3000000005', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(15, 1,    'f.hosseini', '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'Ùاطمه',     'حسینی',   '09121010006', '3000000006', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(16, 1,    'h.ghasemi',  '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'حسین',      'قاسمی',   '09121010007', '3000000007', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(17, 1,    'n.rezaei',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'نیلوÙر',   'رضایی',   '09121010008', '3000000008', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(18, 1,    'm.taheri',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'مهدی',      'طاهری',   '09121010009', '3000000009', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(19, 1,    'a.tehrani',  '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'آرین',      'تهرانی',  '09121010010', '3000000010', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
-- School 2 students
(20, 2,    'p.nouri',    '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'پریسا',     'نوری',    '09122010001', '4000000001', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(21, 2,    'k.mousavi',  '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'کیان',      'موسوی',   '09122010002', '4000000002', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(22, 2,    'd.ahmadi',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'دلارام',    'احمدی',   '09122010003', '4000000003', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(23, 2,    'ar.ghasemi', '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'ارسلان',    'قاسمی',   '09122010004', '4000000004', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(24, 2,    'st.rezaei',  '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'ستایش',     'رضایی',   '09122010005', '4000000005', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(25, 2,    'r.karimi',   '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'رایان',     'کریمی',   '09122010006', '4000000006', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(26, 2,    'y.sadeghi',  '$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'یلدا',      'صادقی',   '09122010007', '4000000007', 'student',     'active', FALSE, FALSE, NOW(), NOW()),
(27, 2,    'ar.hosseini','$2y$12$3ZgJqqbbnv1xLGbya5qx5eJv5j55DW0PADVMIPzcfg3WgXRli4QM6', 'ارمیا',     'حسینی',   '09122010008', '4000000008', 'student',     'active', FALSE, FALSE, NOW(), NOW());

-- School settings
INSERT INTO school_settings (school_id, absence_sms_mode, sms_low_balance_threshold, qualitative_thresholds, created_at, updated_at) VALUES
(1, 'approval_required', 20, NULL, NOW(), NOW()),
(2, 'approval_required', 20, '{"خیلی خوب":{"min":17,"max":20},"خوب":{"min":13,"max":16.99},"قابل قبول":{"min":9,"max":12.99},"نیاز به تلاش بیشتر":{"min":0,"max":8.99}}', NOW(), NOW());

-- SMS wallets
INSERT INTO sms_wallets (school_id, balance, reserved_balance, total_charged, total_used, status, created_at, updated_at) VALUES
(1, 500, 0, 500, 0, 'active', NOW(), NOW()),
(2, 0, 0, 0, 0, 'active', NOW(), NOW());

-- All modules enabled for both schools
INSERT INTO school_modules (school_id, module_id, enabled, created_at, updated_at)
SELECT 1, id, TRUE, NOW(), NOW() FROM modules WHERE status = 'active';
INSERT INTO school_modules (school_id, module_id, enabled, created_at, updated_at)
SELECT 2, id, TRUE, NOW(), NOW() FROM modules WHERE status = 'active';

-- Grade access: school 1 gets 7-9, school 2 gets 1-6
INSERT INTO school_grade_levels (school_id, grade_level_id, enabled, created_at, updated_at)
SELECT 1, id, TRUE, NOW(), NOW() FROM grade_levels WHERE number BETWEEN 7 AND 9;
INSERT INTO school_grade_levels (school_id, grade_level_id, enabled, created_at, updated_at)
SELECT 2, id, TRUE, NOW(), NOW() FROM grade_levels WHERE number BETWEEN 1 AND 6;

-- Teachers
INSERT INTO teachers (id, school_id, user_id, teacher_code, first_name, last_name, national_code, mobile, specialty, status, created_at, updated_at) VALUES
(1, 1, 4,  'T1-001', 'مریم',   'صادقی',  '1234567892', '09121000003', 'ریاضیات',      'active', NOW(), NOW()),
(2, 1, 5,  'T1-002', 'محمد',   'رضوی',   '1234567893', '09121000004', 'ادبیات Ùارسی', 'active', NOW(), NOW()),
(3, 1, 6,  'T1-003', 'زهرا',   'قاسمی',  '1234567894', '09121000005', 'علوم تجربی',   'active', NOW(), NOW()),
(4, 2, 8,  'T2-001', 'حسن',    'موسوی',  '2345678902', '09122000002', 'ریاضی',        'active', NOW(), NOW()),
(5, 2, 9,  'T2-002', 'مرضیه',  'احمدی',  '2345678903', '09122000003', 'زبان Ùارسی',   'active', NOW(), NOW());

-- Classrooms
INSERT INTO classrooms (id, school_id, grade_level_id, name, capacity, status, created_at, updated_at) VALUES
(1, 1, 7, 'هÙتم الÙ',  30, 'active', NOW(), NOW()),
(2, 1, 8, 'هشتم الÙ',  30, 'active', NOW(), NOW()),
(3, 2, 2, 'دوم الÙ',   25, 'active', NOW(), NOW()),
(4, 2, 3, 'سوم الÙ',   25, 'active', NOW(), NOW());

-- Subjects
INSERT INTO subjects (id, school_id, grade_level_id, name, code, coefficient, weekly_hours, status, created_at, updated_at) VALUES
(1,  1, 7,  'ریاضی ۷',          'MATH7', 3, 4, 'active', NOW(), NOW()),
(2,  1, 7,  'ادبیات Ùارسی ۷',   'LIT7',  2, 3, 'active', NOW(), NOW()),
(3,  1, 7,  'علوم تجربی ۷',     'SCI7',  2, 3, 'active', NOW(), NOW()),
(4,  1, 8,  'ریاضی ۸',          'MATH8', 3, 4, 'active', NOW(), NOW()),
(5,  1, 8,  'ادبیات Ùارسی ۸',   'LIT8',  2, 3, 'active', NOW(), NOW()),
(6,  2, 2,  'ریاضی',            'MATH2', 2, 4, 'active', NOW(), NOW()),
(7,  2, 2,  'Ùارسی',            'FAR2',  2, 4, 'active', NOW(), NOW()),
(8,  2, 2,  'علوم',             'SCI2',  1, 2, 'active', NOW(), NOW()),
(9,  2, 3,  'ریاضی',            'MATH3', 2, 4, 'active', NOW(), NOW()),
(10, 2, 3,  'Ùارسی',            'FAR3',  2, 4, 'active', NOW(), NOW());

-- Students
INSERT INTO students (id, school_id, user_id, student_code, first_name, last_name, national_code, mobile, father_name, father_mobile, mother_name, birth_date, gender, grade_level_id, status, created_at, updated_at) VALUES
-- School 1, هÙتم الÙ (grade_level_id=7)
(1,  1, 10, 'S1-001', 'علی',       'رضایی',  '3000000001', '09121010001', 'حسین',    '09121020001', 'زهرا',    '2011-03-01', 'male',   7, 'active', NOW(), NOW()),
(2,  1, 11, 'S1-002', 'محمد',      'کریمی',  '3000000002', '09121010002', 'علی',     '09121020002', 'Ùاطمه',   '2011-05-15', 'male',   7, 'active', NOW(), NOW()),
(3,  1, 12, 'S1-003', 'سارا',      'احمدی',  '3000000003', '09121010003', 'محمود',   '09121020003', 'مریم',    '2011-08-22', 'female', 7, 'active', NOW(), NOW()),
(4,  1, 13, 'S1-004', 'زینب',      'موسوی',  '3000000004', '09121010004', 'احمد',    '09121020004', 'نرگس',    '2011-01-10', 'female', 7, 'active', NOW(), NOW()),
(5,  1, 14, 'S1-005', 'امیرحسین', 'نجÙی',   '3000000005', '09121010005', 'کریم',    '09121020005', 'ثریا',    '2011-11-30', 'male',   7, 'active', NOW(), NOW()),
-- School 1, هشتم الÙ (grade_level_id=8)
(6,  1, 15, 'S1-006', 'Ùاطمه',     'حسینی',  '3000000006', '09121010006', 'محمد',    '09121020006', 'الناز',   '2010-04-18', 'female', 8, 'active', NOW(), NOW()),
(7,  1, 16, 'S1-007', 'حسین',      'قاسمی',  '3000000007', '09121010007', 'رضا',     '09121020007', 'شیرین',   '2010-07-25', 'male',   8, 'active', NOW(), NOW()),
(8,  1, 17, 'S1-008', 'نیلوÙر',   'رضایی',  '3000000008', '09121010008', 'جواد',    '09121020008', 'سمیرا',   '2010-02-14', 'female', 8, 'active', NOW(), NOW()),
(9,  1, 18, 'S1-009', 'مهدی',      'طاهری',  '3000000009', '09121010009', 'سعید',    '09121020009', 'لیلا',    '2010-09-03', 'male',   8, 'active', NOW(), NOW()),
(10, 1, 19, 'S1-010', 'آرین',      'تهرانی', '3000000010', '09121010010', 'بهرام',   '09121020010', 'پرستو',   '2010-12-20', 'male',   8, 'active', NOW(), NOW()),
-- School 2, دوم الÙ (grade_level_id=2)
(11, 2, 20, 'S2-001', 'پریسا',     'نوری',   '4000000001', '09122010001', 'امیر',    '09122020001', 'گلناز',   '2016-03-10', 'female', 2, 'active', NOW(), NOW()),
(12, 2, 21, 'S2-002', 'کیان',      'موسوی',  '4000000002', '09122010002', 'وحید',    '09122020002', 'سیما',    '2016-06-22', 'male',   2, 'active', NOW(), NOW()),
(13, 2, 22, 'S2-003', 'دلارام',    'احمدی',  '4000000003', '09122010003', 'Ùرهاد',   '09122020003', 'شادی',    '2016-01-05', 'female', 2, 'active', NOW(), NOW()),
(14, 2, 23, 'S2-004', 'ارسلان',    'قاسمی',  '4000000004', '09122010004', 'داود',    '09122020004', 'رویا',    '2016-09-17', 'male',   2, 'active', NOW(), NOW()),
-- School 2, سوم الÙ (grade_level_id=3)
(15, 2, 24, 'S2-005', 'ستایش',     'رضایی',  '4000000005', '09122010005', 'ناصر',    '09122020005', 'پریناز',  '2015-04-28', 'female', 3, 'active', NOW(), NOW()),
(16, 2, 25, 'S2-006', 'رایان',     'کریمی',  '4000000006', '09122010006', 'مسعود',   '09122020006', 'ملیحه',   '2015-08-11', 'male',   3, 'active', NOW(), NOW()),
(17, 2, 26, 'S2-007', 'یلدا',      'صادقی',  '4000000007', '09122010007', 'حمیدرضا', '09122020007', 'زینب',    '2015-12-03', 'female', 3, 'active', NOW(), NOW()),
(18, 2, 27, 'S2-008', 'ارمیا',     'حسینی',  '4000000008', '09122010008', 'کاوه',    '09122020008', 'آرزو',    '2015-06-16', 'male',   3, 'active', NOW(), NOW());

-- Class-student
INSERT INTO class_students (school_id, classroom_id, student_id, status, created_at, updated_at) VALUES
(1, 1, 1,  'active', NOW(), NOW()), (1, 1, 2,  'active', NOW(), NOW()), (1, 1, 3,  'active', NOW(), NOW()),
(1, 1, 4,  'active', NOW(), NOW()), (1, 1, 5,  'active', NOW(), NOW()),
(1, 2, 6,  'active', NOW(), NOW()), (1, 2, 7,  'active', NOW(), NOW()), (1, 2, 8,  'active', NOW(), NOW()),
(1, 2, 9,  'active', NOW(), NOW()), (1, 2, 10, 'active', NOW(), NOW()),
(2, 3, 11, 'active', NOW(), NOW()), (2, 3, 12, 'active', NOW(), NOW()), (2, 3, 13, 'active', NOW(), NOW()),
(2, 3, 14, 'active', NOW(), NOW()),
(2, 4, 15, 'active', NOW(), NOW()), (2, 4, 16, 'active', NOW(), NOW()), (2, 4, 17, 'active', NOW(), NOW()),
(2, 4, 18, 'active', NOW(), NOW());

-- Class-teacher
INSERT INTO class_teachers (school_id, classroom_id, teacher_id, subject_id, created_at, updated_at) VALUES
(1, 1, 1, 1,  NOW(), NOW()), -- مریم → ریاضی۷ / class 1
(1, 1, 2, 2,  NOW(), NOW()), -- محمد → ادبیات۷
(1, 1, 3, 3,  NOW(), NOW()), -- زهرا → علوم۷
(1, 2, 1, 4,  NOW(), NOW()), -- مریم → ریاضی۸ / class 2
(1, 2, 2, 5,  NOW(), NOW()), -- محمد → ادبیات۸
(2, 3, 4, 6,  NOW(), NOW()), -- حسن → ریاضی(2) / class 3
(2, 3, 5, 7,  NOW(), NOW()), -- مرضیه → Ùارسی(2)
(2, 3, 4, 8,  NOW(), NOW()), -- حسن → علوم(2)
(2, 4, 4, 9,  NOW(), NOW()), -- حسن → ریاضی(3) / class 4
(2, 4, 5, 10, NOW(), NOW()); -- مرضیه → Ùارسی(3)

-- Class-subject
INSERT INTO class_subjects (school_id, classroom_id, subject_id, created_at, updated_at) VALUES
(1, 1, 1, NOW(), NOW()), (1, 1, 2, NOW(), NOW()), (1, 1, 3, NOW(), NOW()),
(1, 2, 4, NOW(), NOW()), (1, 2, 5, NOW(), NOW()),
(2, 3, 6, NOW(), NOW()), (2, 3, 7, NOW(), NOW()), (2, 3, 8, NOW(), NOW()),
(2, 4, 9, NOW(), NOW()), (2, 4, 10, NOW(), NOW());

-- Teacher-subjects
INSERT INTO teacher_subjects (school_id, teacher_id, subject_id, created_at) VALUES
(1, 1, 1, NOW()), (1, 1, 4, NOW()),
(1, 2, 2, NOW()), (1, 2, 5, NOW()),
(1, 3, 3, NOW()),
(2, 4, 6, NOW()), (2, 4, 8, NOW()), (2, 4, 9, NOW()),
(2, 5, 7, NOW()), (2, 5, 10, NOW());

-- Grades — School 1 (numeric, 0–20)
INSERT INTO grades (school_id, student_id, classroom_id, subject_id, teacher_id, score, max_score, status, created_by, created_at, updated_at) VALUES
-- علی رضایی (s1)
(1, 1, 1, 1, 1, 17.5, 20, 'approved', 4,  NOW(), NOW()),
(1, 1, 1, 2, 2, 16.0, 20, 'approved', 5,  NOW(), NOW()),
(1, 1, 1, 3, 3, 18.0, 20, 'submitted', 6, NOW(), NOW()),
-- محمد کریمی (s2)
(1, 2, 1, 1, 1, 14.0, 20, 'approved', 4,  NOW(), NOW()),
(1, 2, 1, 2, 2, 15.5, 20, 'approved', 5,  NOW(), NOW()),
(1, 2, 1, 3, 3, 12.0, 20, 'submitted', 6, NOW(), NOW()),
-- سارا احمدی (s3)
(1, 3, 1, 1, 1, 19.0, 20, 'approved', 4,  NOW(), NOW()),
(1, 3, 1, 2, 2, 18.5, 20, 'approved', 5,  NOW(), NOW()),
(1, 3, 1, 3, 3, 17.0, 20, 'approved', 6,  NOW(), NOW()),
-- زینب موسوی (s4)
(1, 4, 1, 1, 1, 11.0, 20, 'approved', 4,  NOW(), NOW()),
(1, 4, 1, 2, 2, 13.0, 20, 'submitted', 5, NOW(), NOW()),
(1, 4, 1, 3, 3, 15.0, 20, 'submitted', 6, NOW(), NOW()),
-- امیرحسین نجÙی (s5)
(1, 5, 1, 1, 1, 8.5,  20, 'approved', 4,  NOW(), NOW()),
(1, 5, 1, 2, 2, 12.0, 20, 'approved', 5,  NOW(), NOW()),
(1, 5, 1, 3, 3, 10.0, 20, 'submitted', 6, NOW(), NOW()),
-- Ùاطمه حسینی (s6)
(1, 6, 2, 4, 1, 18.0, 20, 'approved', 4,  NOW(), NOW()),
(1, 6, 2, 5, 2, 17.5, 20, 'approved', 5,  NOW(), NOW()),
-- حسین قاسمی (s7)
(1, 7, 2, 4, 1, 15.0, 20, 'approved', 4,  NOW(), NOW()),
(1, 7, 2, 5, 2, 14.0, 20, 'submitted', 5, NOW(), NOW()),
-- نیلوÙر رضایی (s8)
(1, 8, 2, 4, 1, 9.0,  20, 'submitted', 4, NOW(), NOW()),
(1, 8, 2, 5, 2, 11.5, 20, 'submitted', 5, NOW(), NOW()),
-- مهدی طاهری (s9)
(1, 9, 2, 4, 1, 16.5, 20, 'approved', 4,  NOW(), NOW()),
(1, 9, 2, 5, 2, 15.0, 20, 'approved', 5,  NOW(), NOW()),
-- آرین تهرانی (s10)
(1, 10, 2, 4, 1, 13.0, 20, 'approved', 4,  NOW(), NOW()),
(1, 10, 2, 5, 2, 12.5, 20, 'submitted', 5, NOW(), NOW());

-- Grades — School 2 (qualitative, ebtedaee)
INSERT INTO grades (school_id, student_id, classroom_id, subject_id, teacher_id, score, max_score, qualitative_label, status, created_by, created_at, updated_at) VALUES
-- پریسا نوری (s11)
(2, 11, 3, 6,  4, 19.0, 20, 'خیلی خوب',           'approved',  8, NOW(), NOW()),
(2, 11, 3, 7,  5, 18.0, 20, 'خیلی خوب',           'approved',  9, NOW(), NOW()),
(2, 11, 3, 8,  4, 17.5, 20, 'خیلی خوب',           'submitted', 8, NOW(), NOW()),
-- کیان موسوی (s12)
(2, 12, 3, 6,  4, 15.0, 20, 'خوب',                'approved',  8, NOW(), NOW()),
(2, 12, 3, 7,  5, 11.0, 20, 'قابل قبول',          'approved',  9, NOW(), NOW()),
(2, 12, 3, 8,  4, 13.5, 20, 'خوب',                'submitted', 8, NOW(), NOW()),
-- دلارام احمدی (s13)
(2, 13, 3, 6,  4, 20.0, 20, 'خیلی خوب',           'approved',  8, NOW(), NOW()),
(2, 13, 3, 7,  5, 14.0, 20, 'خوب',                'approved',  9, NOW(), NOW()),
(2, 13, 3, 8,  4, 19.0, 20, 'خیلی خوب',           'submitted', 8, NOW(), NOW()),
-- ارسلان قاسمی (s14)
(2, 14, 3, 6,  4, 7.0,  20, 'نیاز به تلاش بیشتر', 'approved',  8, NOW(), NOW()),
(2, 14, 3, 7,  5, 10.0, 20, 'قابل قبول',          'approved',  9, NOW(), NOW()),
(2, 14, 3, 8,  4, 8.5,  20, 'نیاز به تلاش بیشتر', 'submitted', 8, NOW(), NOW()),
-- ستایش رضایی (s15)
(2, 15, 4, 9,  4, 18.5, 20, 'خیلی خوب',           'approved',  8, NOW(), NOW()),
(2, 15, 4, 10, 5, 17.0, 20, 'خیلی خوب',           'approved',  9, NOW(), NOW()),
-- رایان کریمی (s16)
(2, 16, 4, 9,  4, 12.0, 20, 'قابل قبول',          'approved',  8, NOW(), NOW()),
(2, 16, 4, 10, 5, 16.0, 20, 'خوب',                'submitted', 9, NOW(), NOW()),
-- یلدا صادقی (s17)
(2, 17, 4, 9,  4, 16.5, 20, 'خوب',                'approved',  8, NOW(), NOW()),
(2, 17, 4, 10, 5, 18.0, 20, 'خیلی خوب',           'submitted', 9, NOW(), NOW()),
-- ارمیا حسینی (s18)
(2, 18, 4, 9,  4, 9.5,  20, 'قابل قبول',          'submitted', 8, NOW(), NOW()),
(2, 18, 4, 10, 5, 8.0,  20, 'نیاز به تلاش بیشتر', 'submitted', 9, NOW(), NOW());

-- Attendance sessions
INSERT INTO attendance_sessions (school_id, classroom_id, subject_id, teacher_id, type, date, date_jalali, starts_at, ends_at, status, submitted_by, submitted_at, created_at, updated_at) VALUES
(1, 1, 1, 1, 'in_person', DATE_SUB(CURDATE(), INTERVAL 7 DAY), '۱۴۰۳/۰۴/۱۵', '08:00:00', '09:30:00', 'approved',  4, NOW(), NOW(), NOW()),
(1, 1, 2, 2, 'in_person', DATE_SUB(CURDATE(), INTERVAL 5 DAY), '۱۴۰۳/۰۴/۱۷', '09:30:00', '11:00:00', 'submitted', 5, NOW(), NOW(), NOW()),
(2, 3, 6, 4, 'in_person', DATE_SUB(CURDATE(), INTERVAL 3 DAY), '۱۴۰۳/۰۴/۱۹', '08:00:00', '09:00:00', 'submitted', 8, NOW(), NOW(), NOW());

-- Attendance records
INSERT INTO attendance_records (school_id, attendance_session_id, student_id, status, created_by, created_at, updated_at) VALUES
(1, 1, 1, 'present', 4, NOW(), NOW()), (1, 1, 2, 'present', 4, NOW(), NOW()),
(1, 1, 3, 'present', 4, NOW(), NOW()), (1, 1, 4, 'absent',  4, NOW(), NOW()),
(1, 1, 5, 'present', 4, NOW(), NOW()),
(1, 2, 1, 'present', 5, NOW(), NOW()), (1, 2, 2, 'absent',  5, NOW(), NOW()),
(1, 2, 3, 'present', 5, NOW(), NOW()), (1, 2, 4, 'present', 5, NOW(), NOW()),
(1, 2, 5, 'present', 5, NOW(), NOW()),
(2, 3, 11, 'present', 8, NOW(), NOW()), (2, 3, 12, 'present', 8, NOW(), NOW()),
(2, 3, 13, 'absent',  8, NOW(), NOW()), (2, 3, 14, 'present', 8, NOW(), NOW());

-- Homework
INSERT INTO homeworks (school_id, classroom_id, subject_id, teacher_id, title, description, due_at, allow_file_upload, status, created_at, updated_at) VALUES
(1, 1, 1, 1, 'تمرین Ùصل اول ریاضی',   'مسائل ۱ تا ۲۰ صÙحه ۳۵ کتاب را حل کنید.',                   DATE_ADD(NOW(), INTERVAL 3 DAY), FALSE, 'published', NOW(), NOW()),
(1, 1, 2, 2, 'انشاء — زیبایی‌های ایران', 'انشاء حداقل ۲۰۰ کلمه درباره زیبایی‌های طبیعت ایران بنویسید.', DATE_ADD(NOW(), INTERVAL 5 DAY), FALSE, 'published', NOW(), NOW()),
(2, 3, 6, 4, 'تمرین جمع و تÙریق',      'تمارین صÙحه ۲۲ کتاب ریاضی را حل کنید.',                      DATE_ADD(NOW(), INTERVAL 2 DAY), FALSE, 'published', NOW(), NOW());

-- Announcements
INSERT INTO announcements (school_id, title, body, audience, is_important, published_at, created_by, created_at, updated_at) VALUES
(1, 'آغاز ترم جدید',          'دانش‌آموزان عزیز، ترم جدید از شنبه هÙته آینده آغاز می‌شود.', 'all', TRUE,  NOW(), 2, NOW(), NOW()),
(1, 'برنامه امتحانات میان‌ترم', 'برنامه امتحانات میان‌ترم در تابلوی اعلانات مدرسه موجود است.', 'all', FALSE, NOW(), 2, NOW(), NOW()),
(2, 'جشن پایان سال',           'جشن پایان سال روز پنجشنبه با حضور اولیا برگزار می‌شود.',    'all', TRUE,  NOW(), 7, NOW(), NOW());

-- Temp credentials (plain text for display in admin panel)
INSERT INTO temp_credentials (school_id, user_id, person_type, plain_password, created_at) VALUES
(1, 4,  'teacher', 'Demo@1234', NOW()), (1, 5,  'teacher', 'Demo@1234', NOW()),
(1, 6,  'teacher', 'Demo@1234', NOW()), (2, 8,  'teacher', 'Demo@1234', NOW()),
(2, 9,  'teacher', 'Demo@1234', NOW()),
(1, 10, 'student', 'Demo@1234', NOW()), (1, 11, 'student', 'Demo@1234', NOW()),
(1, 12, 'student', 'Demo@1234', NOW()), (1, 13, 'student', 'Demo@1234', NOW()),
(1, 14, 'student', 'Demo@1234', NOW()), (1, 15, 'student', 'Demo@1234', NOW()),
(1, 16, 'student', 'Demo@1234', NOW()), (1, 17, 'student', 'Demo@1234', NOW()),
(1, 18, 'student', 'Demo@1234', NOW()), (1, 19, 'student', 'Demo@1234', NOW()),
(2, 20, 'student', 'Demo@1234', NOW()), (2, 21, 'student', 'Demo@1234', NOW()),
(2, 22, 'student', 'Demo@1234', NOW()), (2, 23, 'student', 'Demo@1234', NOW()),
(2, 24, 'student', 'Demo@1234', NOW()), (2, 25, 'student', 'Demo@1234', NOW()),
(2, 26, 'student', 'Demo@1234', NOW()), (2, 27, 'student', 'Demo@1234', NOW());

