-- https://www.phpmyadmin.net/
--
-- Hôte : kuofkculearn.mysql.db
-- Généré le : dim. 11 jan. 2026 à 15:04
-- Version du serveur : 8.0.43-34
-- Version de PHP : 8.1.33

START TRANSACTION;



--
-- Base de données : `kuofkculearn`
--

-- --------------------------------------------------------

--
-- Structure de la table `v2_announcements`
--

CREATE TABLE `v2_announcements` (
  `id` varchar(36) NOT NULL,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Déchargement des données de la table `v2_announcements`
--

INSERT INTO `v2_announcements` (`id`, `title`, `content`, `is_active`, `created_at`, `updated_at`) VALUES
('ann_003', 'صيانة المنصة القادمة', 'ستكون المنصة تحت الصيانة يوم السبت القادم من الساعة 2 صباحاً إلى 6 صباحاً بتوقيت مكة المكرمة. نعتذر عن أي إزعاج.', 1, '2025-12-18 16:56:54', '2025-12-21 12:08:53'),
('ann_004', 'عرض رمضان المبارك', 'بمناسبة شهر رمضان الكريم، احصل على خصم 30% على جميع الدورات. العرض ساري حتى نهاية الشهر.', 1, '2025-12-12 16:56:54', '2025-12-19 16:56:54'),
('ann_005', 'مسابقة حفظ القرآن الكريم', 'يسرنا الإعلان عن مسابقة حفظ القرآن الكريم السنوية. جوائز قيمة للفائزين. سجل الآن!', 0, '2025-12-19 16:56:54', '2025-12-21 12:08:44');

-- --------------------------------------------------------

--
-- Structure de la table `v2_assessment_config`
--

CREATE TABLE `v2_assessment_config` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `formation_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'NULL = configuration globale',
  `assessment_type` enum('seance_quiz','phase_test','level_test','final_exam') COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_count` int DEFAULT '10' COMMENT 'Nombre de questions',
  `time_minutes` int DEFAULT '15' COMMENT 'Durée en minutes',
  `passing_score` int DEFAULT '60' COMMENT 'Score de passage (%)',
  `randomize_questions` tinyint(1) DEFAULT '1',
  `randomize_options` tinyint(1) DEFAULT '1',
  `show_correct_after` tinyint(1) DEFAULT '1' COMMENT 'Afficher réponses correctes après',
  `allow_retry` tinyint(1) DEFAULT '0',
  `max_attempts` int DEFAULT '1',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_assessment_config`
--

INSERT INTO `v2_assessment_config` (`id`, `formation_id`, `assessment_type`, `question_count`, `time_minutes`, `passing_score`, `randomize_questions`, `randomize_options`, `show_correct_after`, `allow_retry`, `max_attempts`, `is_active`, `created_at`, `updated_at`) VALUES
('config_final_default', NULL, 'final_exam', 50, 60, 75, 1, 1, 1, 0, 1, 1, '2025-12-31 10:39:57', '2025-12-31 10:39:57'),
('config_level_default', NULL, 'level_test', 30, 30, 70, 1, 1, 1, 0, 1, 1, '2025-12-31 10:39:57', '2025-12-31 10:39:57'),
('config_phase_default', NULL, 'phase_test', 20, 20, 70, 1, 1, 1, 0, 1, 1, '2025-12-31 10:39:57', '2025-12-31 10:39:57'),
('config_seance_default', NULL, 'seance_quiz', 10, 10, 60, 1, 1, 1, 1, 3, 1, '2025-12-31 10:39:57', '2025-12-31 10:39:57');

-- --------------------------------------------------------

--
-- Structure de la table `v2_book_questions`
--

CREATE TABLE `v2_book_questions` (
  `id` varchar(36) NOT NULL,
  `file_id` int NOT NULL,
  `page_number` int NOT NULL,
  `question_type` enum('multiple_choice','true_false') DEFAULT 'multiple_choice',
  `question_text` text NOT NULL,
  `option_a` varchar(500) NOT NULL,
  `option_b` varchar(500) NOT NULL,
  `option_c` varchar(500) DEFAULT NULL,
  `option_d` varchar(500) DEFAULT NULL,
  `correct_answer` enum('a','b','c','d') NOT NULL DEFAULT 'a',
  `explanation` text,
  `difficulty` enum('easy','medium','hard') DEFAULT 'medium',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `v2_book_questions`
--

INSERT INTO `v2_book_questions` (`id`, `file_id`, `page_number`, `question_type`, `question_text`, `option_a`, `option_b`, `option_c`, `option_d`, `correct_answer`, `explanation`, `difficulty`, `is_active`, `created_at`) VALUES
('bq_694c273817bf0', 22, 5, 'multiple_choice', 'ما هو حكم النون الساكنة؟', 'الإظهار', 'الإخفاء', 'الإدغام', 'القلب', 'a', 'لأن حروف الحلق لا تسمح بالإدغام', 'easy', 1, '2025-12-24 17:47:36'),
('bq_694c273818187', 22, 10, 'multiple_choice', 'كم عدد حروف الإظهار الحلقي؟', 'ستة حروف', 'أربعة حروف', 'ثمانية حروف', 'عشرة حروف', 'a', 'همزة هاء عين حاء غين خاء', 'medium', 1, '2025-12-24 17:47:36'),
('bq_694c273818695', 22, 15, 'true_false', 'الإدغام يعني إدخال حرف في حرف آخر', 'صح', 'خطأ', NULL, NULL, 'a', 'هذا هو التعريف الصحيح للإدغام', 'easy', 1, '2025-12-24 17:47:36'),
('bq_694c273818a34', 22, 20, 'true_false', 'حروف الإخفاء الحقيقي خمسة عشر حرفاً', 'صح', 'خطأ', NULL, NULL, 'a', '', 'medium', 1, '2025-12-24 17:47:36'),
('bq_69528cbc0b9dc', 0, 13, 'multiple_choice', 'معيار القرب من مقام النبوة هو:', 'الأخلاق', 'العمل بالعلم', 'اقتفاء الأثر', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0c083', 0, 15, 'multiple_choice', 'مركز عمل القلب وجوهره هو:', 'الإخلاص', 'الخشية', 'العمل', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0c364', 0, 15, 'multiple_choice', 'جملة من أئمة الحديث جعلوا حديث:\"........\" فاتحة لكتبهم.', '\"إنما الأعمال بالنيات...\"', '\"الحلال بيّن والحرام بيّن....\"', '\"حديث جبريل الطويل\"', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0c618', 0, 17, 'true_false', 'حديث \"أول من تسعر بهم النار\"، فيه الحض على العمل بالعلم والتحذير من تركه.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0c89a', 0, 19, 'true_false', 'طلب الشهادة العلمية النظامية محمود مطلقًا، وليس كما يعتقد البعض أنه مناف للإخلاص.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0cb26', 0, 22, 'multiple_choice', 'أشبَه اليهودَ من طلبة العلم من ترك من الآداب:', 'العمل', 'الإخلاص', 'المروءة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0d0c1', 0, 23, 'multiple_choice', 'قال تعالى: \"أتأمرون الناس بالبر وتنسون أنفسكم...\"، والمراد ذمهم على:', 'تركهم العمل بالبر', 'أمرهم بالبر مع تركهم له', 'الغلظ على الناس بالأمر', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0d38a', 0, 24, 'multiple_choice', 'كان من دعاء ............: \"اللهم إني أعوذ بك من علم لا ينفع\".', 'النبي -صلى الله عليه وسلم-', 'أبو بكر الصديق -رضي الله عنه-', 'عبد الله بن عباس -رضي الله عنهما-', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0d639', 0, 24, 'multiple_choice', 'العلم الذي لا ينفع هو :', 'الذي لا يعمل به', 'الذي يتعلق بالدنيا', 'الذي يتعلق بالكفار', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0d9d4', 0, 26, 'multiple_choice', 'ليس من ثمرات العمل بالعلم:', 'صلة الرحم', 'السعادة', 'السلامة من العواقب السيئة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0df03', 0, 29, 'multiple_choice', 'من الإشكالات في باب العمل بالعلم:', 'التوازن بين طلب العلم والعمل', 'الوسوسة', 'الدراسة النظامية', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0e3aa', 0, 30, 'true_false', 'قال بعض السلف: من فسد من علمائنا ففيه شبه من اليهود، ومن فسد من عبادنا ففيه شبه من النصارى.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0e6de', 0, 32, 'true_false', 'كان داود -عليه السلام- يصوم حتى يقال: لا يفطر.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0e981', 0, 34, 'true_false', 'من آثار العبادة في حياة طالب العلم أنها مصدر للقوة البدنية.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0eca8', 0, 37, 'true_false', 'في حديث: \"اجتنبوا السبع الموبقات...\" أمر الرسول -صلى الله عليه وسلم- باجتناب الذنوب، وذلك أبلغ مما لو نهى عن اقترافها.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0ef37', 0, 38, 'multiple_choice', 'شكوت إلى وكيع سوء حفظي *** فأرشدني إلى ترك المعاصي، قائل البيت هو:', 'الشافعي', 'مالك', 'أحمد بن حنبل', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0f1b9', 0, 39, 'multiple_choice', 'ورد في الأثر أن ............ تقول: منعنا القطر بذنوب بني آدم.', 'الدواب والهوام', 'الأشجار والنبات', 'الحجارة والجبال', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0f4c7', 0, 40, 'multiple_choice', 'قال بعض السلف: إني لأعصي الله فأرى ذلك في خُلُق ......... وامرأتي.', 'دابتي', 'أولادي', 'طلبتي', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0f73c', 0, 41, 'true_false', 'ليس من علامات المعاصي سواد الوجه كما يظن بعض الناس.', 'غير صحيح', ' صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0fa09', 0, 42, 'multiple_choice', 'من أنواع المعاصي الظاهرة:', 'القطيعة', 'العجب', 'الكبر', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0fd37', 0, 44, 'multiple_choice', '........... : هي استعمال ما يجمّل العبد ويزيّنه، وترك ما يُدنسّه ويشينه.', 'المروءة', 'العدالة', 'الديانة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc0ffab', 0, 44, 'multiple_choice', 'من الأدلة على المروءة ما جاء في آية:', 'الدَيْن', 'الحجاب', 'الطلاق', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1020c', 0, 47, 'true_false', 'خصال المروءة لا تختلف من زمان ومكان إلى آخر.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc10479', 0, 46, 'multiple_choice', '\"خياركم في الجاهلية خياركم في الإسلام إذا فقهوا\"، والمراد ب (خياركم):', 'أصحاب المروءات', 'أصحاب الأموال', 'أصحاب الشرف', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc106dd', 0, 47, 'true_false', 'المروءة في الحضر غير المروءة في السفر.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc10937', 0, 47, 'true_false', 'من المروءة في السفر: كثرة المزاح في غير مساخط الله.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc10c6f', 0, 51, 'true_false', 'من خوارم المروءة للرجال الاهتمام باللباس وجمال المظهر والحرص عليه.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc10efc', 0, 52, 'true_false', 'كثرة المزاح من خوارم المروءة مطلقًا.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc11176', 0, 54, 'true_false', 'قول القائل: \"أنا عبد من علمني حرفًا\" قول لا يصح، لأن العبودية لا تنبغي إلا لله.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc11400', 0, 55, 'true_false', 'قال تعالى: \"شهد الله أنه لا إله إلا هو والملائكة وأولوا العلم قائمًا بالقسط\"، المقصود بـِ (أولوا العلم) في الآية هم الأنبياء.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc11662', 0, 56, 'true_false', 'من الأدلة على فضل أهل العلم ومنزلة الشيوخ قوله تعالى: \"يا أيها الذين آمنوا أطيعوا الله وأطيعوا الرسول وأولي الأمر منكم\".', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc11902', 0, 56, 'multiple_choice', 'ذكر النبي -صلى الله عليه وسلم- من غير البشر من يصلي على معلم الناس الخير، منهم:', 'النملة', 'النحلة', 'الحية', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc11c69', 0, 59, 'true_false', 'من حقوق الشيخ على الطالب بذل العلم وتذليله له.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc11f17', 0, 60, 'true_false', 'لا يليق بالولد مخاطبة أبيه بقوله: يا والدي فلان.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc121aa', 0, 61, 'true_false', 'من أدب الطالب مع شيخه أن يدعو له في حضوره وغيابه:', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc124e4', 0, 61, 'true_false', 'من أدب الطالب مع شيخه أن ينسب فضل التعلم إليه:', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc12765', 0, 61, 'multiple_choice', '\"ما بت منذ ثلاثين سنة إلا وأنا أدعو للشافعي\"، تنسب العبارة لِـ:', 'الإمام أحمد', 'يحيى القطان', 'الحارث المحاسبي', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc12acb', 0, 65, 'true_false', 'ينبغي على طالب العلم أن يُلح في سؤال معلمه حتى يُحصّل الفائدة.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc12d62', 0, 64, 'multiple_choice', 'قال سليمان بن يسار: حسن السؤال .......... العلم.', 'نصف', 'شطر', 'ثلثي', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc12fe0', 0, 66, 'true_false', 'ومن حسن الأدب معاملة الطالب شيخه بالتقديس والتقدير؛ فإن منزلة العلم عظيمة.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1326f', 0, 74, 'multiple_choice', 'في الحديث: \"إذا تحدث الرجل إلى أخيه بحديث، ثم التفت؛ فهي: .............\".', 'أمانة', 'خيانة', 'رزانة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc134f6', 0, 75, 'multiple_choice', '\"الأرواح جنود مجندة\"، ينسب القول إلى:', 'النبي -صلى الله عليه وسلم-', 'علي -رضي الله عنه-', 'الحسن البصري', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc137b3', 0, 75, 'multiple_choice', 'قيل: \".......... سبب القوة، والقوة سبب .........، و......... حصن منيع وركن شديد\".', 'التآلف ، التقوى ، التقوى', 'التقوى ، التآلف ، التآلف', 'التقوى ، التقوى ، التآلف', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc13b31', 0, 79, 'true_false', 'حديث: \"بلّغوا عني ولو آية\" لم يثبت عن النبي -صلى الله عليه وسلم-، لكنه صحيح من جهة المعنى.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc13e45', 0, 80, 'true_false', '\"وَما أرسلناك إلا رحمة للعالمين\"، الآية عامة في رسالة النبي محمد -صلى الله عليه وسلم- وغيره من الرسل.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc140ff', 0, 80, 'multiple_choice', '\"من لا يرحم الناس، لا يرحمه الله عز وجل\"، هذا القول:', 'حديث عن النبي -صلى الله عليه وسلم-', 'أثر عن بعض السلف', 'قول لبعض الناس', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc14390', 0, 82, 'multiple_choice', 'عن سيّار قال: كنت أمشي مع ثابت البناني، فمر بصبيان فسلم عليهم، وحدّث ثابت أنه كان يمشي مع ......... ففعل مثله، وحدّث ........ أنه كان يمشي مع رسول الله -صلى الله عليه وسلم- ففعل مثله.', 'أنس -رضي الله عنه-', 'ابن عمر -رضي الله عنهما-', 'ابن عباس -رضي الله عنهما-', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc14769', 0, 83, 'multiple_choice', 'هو ضبط النفس والطبع عند هيجان الغضب:', 'الحلم', 'الرفق', 'البر', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc14ad2', 0, 83, 'true_false', 'الرفق: هو لين الجانب والأخذ بالأسهل.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc14db3', 0, 84, 'multiple_choice', 'قال النبي -صلى الله عليه وسلم- لأشج عبد القيس: \"إن فيك خصلتين يحبهما الله ورسوله:', 'الحلم والأناة', 'الرفق والأناة', 'الصبر والأناة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc15074', 0, 84, 'multiple_choice', 'قيل: ما أضيف شيء إلى شيء مثل ......... إلى علم.', 'حلم', 'عمل', 'رِفق', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc15358', 0, 85, 'multiple_choice', 'في الحديث: \"من يُحرم .........، يُحرم الخير كله\".', 'الرفق', 'العلم', 'الحكمة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc15658', 0, 85, 'true_false', 'من ثمرات الرفق: كسب الخصوم.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc15a1f', 0, 89, 'true_false', 'المنهجيات العلمية أمر حادث معاصر، لم يكن موجودًا عند السابقين.', 'غير صحيح', 'ير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc15d17', 0, 91, 'multiple_choice', 'من العلوم الأصلية (علوم الغاية):', 'التفسير', 'مصطلح الحديث', 'اللغة العربية', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc160be', 0, 91, 'true_false', 'يعد علم أصول الفقه من علوم الآلة.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1645f', 0, 91, 'multiple_choice', 'ليس من معالم المنهجية العلمية:', 'اختيار رفيق صالح', 'التريث وعدم العجلة', 'الخطة الزمنية', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc16934', 0, 94, 'true_false', 'لا يشترط للمطالعة في الكتب العلمية تحديد المستوى العلمي وتخير المناسب.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc16c29', 0, 95, 'true_false', 'من الأمور المحدثة عند المتأخرين: إعطاء الحفظ أهمية كبيرة.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc16f1b', 0, 96, 'multiple_choice', 'من أبرز خطوات الحفظ: تقويم ما يراد حفظه، ومقصوده:', 'من حيث النطق والإعراب', 'من حيث السهولة والصعوبة', 'من حيث المستوى', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc171ee', 0, 97, 'multiple_choice', 'أفضل الأوقات للحفظ هو :', 'بعد الفجر', 'أول الليل', 'آخر النهار', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc174be', 0, 98, 'true_false', 'كان السلف يعظمون الحفظ أكثر من الفهم.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1784f', 0, 101, 'true_false', 'وقع خلاف بين الصحابة في مسائل الفقه والعقيدة.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc17b0f', 0, 101, 'multiple_choice', 'اختلف الصحابة في بعض مسائل الاعتقاد منها:', 'ثبوت الميزان في الحساب', 'رؤية النبيِّ -صلى الله عليه وسلم- ربَّه -جل وعلا- في المعراج', 'لا شيء مما ذكر', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1803c', 0, 106, 'multiple_choice', 'اختلف أهل العلم في المراد بالقرء، وهذا الخلاف سببه الاختلاف في:', 'ثبوت النص', 'فهم النص', 'حجية الأدلة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc18350', 0, 107, 'true_false', 'من أسباب الخلاف: الاختلاف في حجية الأدلة، ومنه الاختلاف في حجية قول الصحابي.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc18617', 0, 110, 'true_false', 'قاعدة (لا إنكار في مسائل الاجتهاد)  تكون في المسائل التي فيها مسوغ للاجتهاد', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc189e5', 0, 110, 'true_false', 'لا ينبغي الإنكار على المجتهد وإن خالف في مسائل محكمة.', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc18cd9', 0, 113, 'true_false', 'لا يترتب على الخلاف تبديع ما دام في الأمور الاجتهادية فقط.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc18fce', 0, 113, 'multiple_choice', 'من أهم الكتب في عذر أهل العلم فيما اختلفوا فيه:', 'رفع الملام', 'منحة العلام', 'بلوغ المرام', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc192a7', 0, 116, 'multiple_choice', 'في حديث بعث معاذ -رضي الله عنه- إلى اليمن معلم من معالم الدعوة إلى الله وهو:', 'التدرج', 'مخاطبة الناس على قدر عقولهم', 'عدم تصدر الفتوى قبل الرسوخ', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc19587', 0, 118, 'true_false', 'لا ينبغي ذكر المتشابه عند عامة الناس.لا ينبغي ذكر المتشابه عند عامة الناس.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc19b22', 0, 125, 'multiple_choice', 'ندم شيخ الإسلام في آخر حياته لأنه لم يجعل جُلَّ أوقاته في:', 'القرآن', 'الفقه', 'الحديث', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc19db0', 0, 126, 'true_false', 'من ثمرات دراسة علم التفسير: فهم الخطاب الشرعي، ومعرفة الأحكام، والحلال والحرام.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1a029', 0, 130, 'multiple_choice', 'العبرة في تحديد المكي والمدني من الآيات هو:', 'الهجرة', 'المكان', 'موضوع الآية', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1a26c', 0, 136, 'multiple_choice', 'آية الرجم من الأمثلة على إحدى صور النسخ، وهي:', 'نسخ التلاوة وبقاء الحكم', 'نسخ الحكم والتلاوة', 'نسخ الحكم وبقاء التلاوة', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1a4d2', 0, 143, 'multiple_choice', 'من ثمرات علم ........... : حفظ الدين الإسلامي من التحريف والتبديل.', 'الحديث', 'التفسير', 'أصول الفقه', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1a7e6', 0, 147, 'multiple_choice', 'الحديث الحسن: هو ما توافرت فيه شروط الصحة عدا:', 'عدالة الرواة', 'ضبط الرواة', 'اتصال السند', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1aa50', 0, 152, 'true_false', 'موضوع علم العقيدة الإسلامية هو أركان الإيمان الستة وما يتعلق بها.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1ad34', 0, 171, 'true_false', 'علم أصول الفقه من العلوم التي تمتاز به هذه الأمة دون غيرها.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1b001', 0, 175, 'multiple_choice', 'من ثمرات دراسة علم ................: الاهتمام بمقاصد الشريعة.', 'العقيدة', 'التفسير', 'أصول الفقه', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1b2c1', 0, 177, 'multiple_choice', 'حمل فرع على أصل في حكم معيّن لعلةٍ جامعةٍ بينهما:', 'الاجتهاد', 'التقليد', 'القياس', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1b58c', 0, 20, 'true_false', 'من أسباب التوفيق لطالب العلم نية رفع الجهل عن نفسه وعن المسلمين :', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1b8b8', 0, 36, 'multiple_choice', 'إذا تعارض طلب العلم مع العبادة فإنه يقدم :', 'طلب العلم', 'العبادة', 'يجمع بينهما', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1bb58', 0, 36, 'multiple_choice', 'أعظم زاد في طريق طلب العلم :', 'العبادة', 'المناظرة', 'بث العلم', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1bf29', 0, 40, 'true_false', 'من أعظم آثار المعاصي على طالب العلم حرمانه العلم والتوفيق :', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1c1ea', 0, 77, 'true_false', 'إيثار الزملاء والتغافل عن أخطائهم وخدمتهم من أبرز معالم الإحسان إليهم :', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1c4a6', 0, 108, 'true_false', 'من أبرز أسباب الخلاف الاختلاف في ثبوت النص ودلالته وحجية الأدلة:', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1c7d4', 0, 108, 'true_false', 'قال الشافعي رحمه الله : ألا يستقيم أن نكون إخوانا وإن لم نتفق في مسألة .', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1ca6e', 0, 117, 'multiple_choice', 'قال عبدالله بن مسعود رحمه رضي الله عنه: ما أنت بمحدث الناس حديثا لا تبلغه عقولهم إلا كان لبعضهم فتنة . فيه', 'مخاطبة الناس على قدر عقولهم', 'التدرج في العلم', 'التصدر للفتوى', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1cdaa', 0, 126, 'multiple_choice', 'تفسير القرآن الكريم عن طريق : القرآن والسنة وأقوال الصحابة والتابعين يسمى التفسير', 'بالمأثور', 'بالرأي', 'بالفهم', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1d06c', 0, 128, 'multiple_choice', 'تفسير القرآن عن طريق الاجتهاد يسمى التفسير', 'بالرأي', 'بالمأثور', 'بالفهم', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1d314', 0, 132, 'multiple_choice', 'ما ورد من اسرائليات لم توافق شرعنا ولم تخالفه فهو :', 'مسكوت عنه', 'مقبول', 'مردود', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1d6be', 0, 139, 'true_false', 'نسخ القرآن بالسنة من النسخ المتفق عليه عند العلماء', 'غير صحيح', 'صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1d98d', 0, 179, 'multiple_choice', 'اتباع قول الغير ممن يعتقد فيه العلم والصلاح من غير معرفة  الدليل يسمى', 'التقليد', 'الاجتهاد', 'القياس', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1dce0', 0, 178, 'multiple_choice', 'أركان القياس أربعة ك اصل وفرع وعلة و ....', 'حكم الأصل', 'اجتهاد', 'قياس', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1e00e', 0, 183, 'multiple_choice', 'تضبط للمتفقه أصول المذهب ، من ثمرات :', 'القواعد الفقهية', 'أصول الفقه', 'الفقه', NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1e262', 0, 36, 'true_false', 'الأنبياء عليهم السلام هم المثل الأعلى في العبادة:', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1e69a', 0, 53, 'true_false', 'نظافة البدن وطيب الرائحة من صفات المروءة', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1e939', 0, 22, 'true_false', 'ثمرة العلم تحويله إلى سلوك واقعي:', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1ebeb', 0, 26, 'true_false', 'من ثمرات العمل بالعلم الإعانة على حفظ العلم وضبطه :', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1ee9a', 0, 53, 'true_false', 'الفرق بين العقل والمروءة: أن العقل يأمرك بالأنفع والمروءة تأمرك بالأجمل', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20'),
('bq_69528cbc1f189', 0, 60, 'true_false', 'إحسان الظن بالشيخ وتأويل أفعاله وأقواله التي يظن أن الصواب خلافها من حقوق الشيخ على تلميذه.', 'صحيح', 'غير صحيح', NULL, NULL, 'a', NULL, 'medium', 1, '2025-12-29 14:14:20');

-- --------------------------------------------------------

--
-- Structure de la table `v2_calendar_default_settings`
--

CREATE TABLE `v2_calendar_default_settings` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم الإعداد',
  `description` text COLLATE utf8mb4_unicode_ci,
  `setting_type` enum('batch','session','individual') COLLATE utf8mb4_unicode_ci DEFAULT 'batch',
  `default_working_days` json NOT NULL,
  `default_days_before_phase_test` int DEFAULT '2',
  `default_phase_test_duration` int DEFAULT '3',
  `default_days_after_phase_test` int DEFAULT '1',
  `default_keep_phase_test_open` tinyint(1) DEFAULT '0',
  `default_days_before_level_test` int DEFAULT '2',
  `default_level_test_duration` int DEFAULT '3',
  `default_days_after_level_test` int DEFAULT '1',
  `default_keep_level_test_open` tinyint(1) DEFAULT '0',
  `default_days_before_final_exam` int DEFAULT '7',
  `default_final_exam_duration` int DEFAULT '5',
  `default_keep_final_exam_open` tinyint(1) DEFAULT '0',
  `is_active` tinyint(1) DEFAULT '1',
  `is_system_default` tinyint(1) DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_calendar_default_settings`
--

INSERT INTO `v2_calendar_default_settings` (`id`, `name`, `description`, `setting_type`, `default_working_days`, `default_days_before_phase_test`, `default_phase_test_duration`, `default_days_after_phase_test`, `default_keep_phase_test_open`, `default_days_before_level_test`, `default_level_test_duration`, `default_days_after_level_test`, `default_keep_level_test_open`, `default_days_before_final_exam`, `default_final_exam_duration`, `default_keep_final_exam_open`, `is_active`, `is_system_default`, `created_at`, `updated_at`) VALUES
('default_batch', 'الإعدادات الافتراضية للدفعات', 'الإعدادات الافتراضية لإنشاء تقويم الدفعات', 'batch', '[\"Saturday\", \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\"]', 2, 3, 1, 0, 2, 3, 1, 0, 7, 5, 0, 1, 1, '2025-12-21 18:06:45', '2025-12-21 18:06:45'),
('default_individual', 'الإعدادات الافتراضية للفردي', 'الإعدادات الافتراضية للتعليم الفردي', 'individual', '[\"Saturday\", \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\"]', 2, 3, 1, 0, 2, 3, 1, 0, 7, 5, 0, 1, 0, '2025-12-21 18:06:45', '2025-12-21 18:06:45'),
('default_session', 'الإعدادات الافتراضية للجلسات', 'الإعدادات الافتراضية لإنشاء تقويم الجلسات', 'session', '[\"Saturday\", \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\"]', 2, 3, 1, 0, 2, 3, 1, 0, 7, 5, 0, 1, 0, '2025-12-21 18:06:45', '2025-12-21 18:06:45');

-- --------------------------------------------------------

--
-- Structure de la table `v2_calendar_settings`
--

CREATE TABLE `v2_calendar_settings` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `formation_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `setting_type` enum('batch','session','individual') COLLATE utf8mb4_unicode_ci DEFAULT 'batch',
  `working_days` json NOT NULL,
  `days_before_phase_test` int DEFAULT '2' COMMENT 'أيام المراجعة قبل اختبار المرحلة',
  `phase_test_duration` int DEFAULT '3' COMMENT 'مدة اختبار المرحلة بالأيام',
  `days_after_phase_test` int DEFAULT '1' COMMENT 'يوم راحة بعد اختبار المرحلة',
  `keep_phase_test_open` tinyint(1) DEFAULT '0',
  `days_before_level_test` int DEFAULT '2' COMMENT 'أيام المراجعة قبل اختبار المستوى',
  `level_test_duration` int DEFAULT '3' COMMENT 'مدة اختبار المستوى بالأيام',
  `days_after_level_test` int DEFAULT '1' COMMENT 'يوم راحة بعد اختبار المستوى',
  `keep_level_test_open` tinyint(1) DEFAULT '0',
  `days_before_final_exam` int DEFAULT '7' COMMENT 'أيام المراجعة قبل الامتحان النهائي',
  `final_exam_duration` int DEFAULT '5' COMMENT 'مدة الامتحان النهائي بالأيام',
  `keep_final_exam_open` tinyint(1) DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_calendar_settings`
--

INSERT INTO `v2_calendar_settings` (`id`, `formation_id`, `setting_type`, `working_days`, `days_before_phase_test`, `phase_test_duration`, `days_after_phase_test`, `keep_phase_test_open`, `days_before_level_test`, `level_test_duration`, `days_after_level_test`, `keep_level_test_open`, `days_before_final_exam`, `final_exam_duration`, `keep_final_exam_open`, `created_at`, `updated_at`) VALUES
('set_6952b8442145e', 'formation_6952b7203e634', 'batch', '[\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\"]', 2, 3, 1, 0, 2, 3, 1, 0, 7, 5, 0, '2025-12-29 17:20:04', '2025-12-29 17:20:04'),
('set_6956a7d8b9017', 'formation_6956a4f26c890', 'batch', '[\"Saturday\", \"Monday\", \"Wednesday\"]', 2, 3, 1, 0, 2, 3, 1, 0, 7, 5, 0, '2026-01-01 16:59:04', '2026-01-01 16:59:04');

-- --------------------------------------------------------

--
-- Structure de la table `v2_certificates`
--

CREATE TABLE `v2_certificates` (
  `id` varchar(36) NOT NULL,
  `student_id` varchar(36) NOT NULL,
  `formation_id` varchar(36) NOT NULL,
  `certificate_number` varchar(50) NOT NULL,
  `pdf_url` varchar(500) DEFAULT NULL,
  `issued_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Structure de la table `v2_countries`
--

CREATE TABLE `v2_countries` (
  `id` int NOT NULL,
  `name_ar` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم البلد بالعربية',
  `name_en` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Country name in English',
  `code` varchar(5) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Country calling code (+216, +33, etc.)',
  `iso_code` varchar(3) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'ISO country code (TUN, FRA, etc.)',
  `flag_emoji` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Flag emoji',
  `is_active` tinyint(1) DEFAULT '1',
  `sort_order` int DEFAULT '999'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_countries`
--

INSERT INTO `v2_countries` (`id`, `name_ar`, `name_en`, `code`, `iso_code`, `flag_emoji`, `is_active`, `sort_order`) VALUES
(1, 'تونس', 'Tunisia', '+216', 'TUN', '🇹🇳', 1, 1),
(2, 'الجزائر', 'Algeria', '+213', 'DZA', '🇩🇿', 1, 2),
(3, 'المغرب', 'Morocco', '+212', 'MAR', '🇲🇦', 1, 3),
(4, 'ليبيا', 'Libya', '+218', 'LBY', '🇱🇾', 1, 4),
(5, 'مصر', 'Egypt', '+20', 'EGY', '🇪🇬', 1, 5),
(6, 'السعودية', 'Saudi Arabia', '+966', 'SAU', '🇸🇦', 1, 6),
(7, 'الإمارات', 'UAE', '+971', 'ARE', '🇦🇪', 1, 7),
(8, 'قطر', 'Qatar', '+974', 'QAT', '🇶🇦', 1, 8),
(9, 'الكويت', 'Kuwait', '+965', 'KWT', '🇰🇼', 1, 9),
(10, 'البحرين', 'Bahrain', '+973', 'BHR', '🇧🇭', 1, 10),
(11, 'عمان', 'Oman', '+968', 'OMN', '🇴🇲', 1, 11),
(12, 'الأردن', 'Jordan', '+962', 'JOR', '🇯🇴', 1, 12),
(13, 'لبنان', 'Lebanon', '+961', 'LBN', '🇱🇧', 1, 13),
(14, 'سوريا', 'Syria', '+963', 'SYR', '🇸🇾', 1, 14),
(15, 'العراق', 'Iraq', '+964', 'IRQ', '🇮🇶', 1, 15),
(16, 'فلسطين', 'Palestine', '+970', 'PSE', '🇵🇸', 1, 16),
(17, 'السودان', 'Sudan', '+249', 'SDN', '🇸🇩', 1, 17),
(18, 'اليمن', 'Yemen', '+967', 'YEM', '🇾🇪', 1, 18),
(19, 'موريتانيا', 'Mauritania', '+222', 'MRT', '🇲🇷', 1, 19),
(20, 'الصومال', 'Somalia', '+252', 'SOM', '🇸🇴', 1, 20),
(21, 'جيبوتي', 'Djibouti', '+253', 'DJI', '🇩🇯', 1, 21),
(22, 'جزر القمر', 'Comoros', '+269', 'COM', '🇰🇲', 1, 22),
(23, 'فرنسا', 'France', '+33', 'FRA', '🇫🇷', 1, 23),
(24, 'ألمانيا', 'Germany', '+49', 'DEU', '🇩🇪', 1, 24),
(25, 'إيطاليا', 'Italy', '+39', 'ITA', '🇮🇹', 1, 25),
(26, 'إسبانيا', 'Spain', '+34', 'ESP', '🇪🇸', 1, 26),
(27, 'تركيا', 'Turkey', '+90', 'TUR', '🇹🇷', 1, 27),
(28, 'المملكة المتحدة', 'United Kingdom', '+44', 'GBR', '🇬🇧', 1, 28),
(29, 'كندا', 'Canada', '+1', 'CAN', '🇨🇦', 1, 29),
(30, 'الولايات المتحدة', 'United States', '+1', 'USA', '🇺🇸', 0, 30);

-- --------------------------------------------------------

--
-- Structure de la table `v2_enrollments`
--

CREATE TABLE `v2_enrollments` (
  `id` varchar(36) NOT NULL,
  `student_id` varchar(36) NOT NULL,
  `formation_id` varchar(36) NOT NULL,
  `progress` decimal(5,2) DEFAULT '0.00',
  `is_completed` tinyint(1) DEFAULT '0',
  `enrolled_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `completed_at` datetime DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Déchargement des données de la table `v2_enrollments`
--

INSERT INTO `v2_enrollments` (`id`, `student_id`, `formation_id`, `progress`, `is_completed`, `enrolled_at`, `completed_at`, `created_at`, `updated_at`) VALUES
('dfdbd2aa-de82-4ac9-b4c9-1481125e1c73', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'formation_6952b7203e634', 37.50, 0, '2026-01-08 11:41:55', NULL, '2026-01-08 12:41:55', '2026-01-09 19:18:54');

-- --------------------------------------------------------

--
-- Structure de la table `v2_files`
--

CREATE TABLE `v2_files` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم الملف',
  `type` enum('pdf','audio','video') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'نوع الملف',
  `url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'رابط خارجي (YouTube)',
  `local_path` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'مسار محلي (uploads/)',
  `original_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'الاسم الأصلي للملف',
  `file_size` bigint DEFAULT NULL COMMENT 'الحجم بالبايت',
  `duration_seconds` int DEFAULT NULL COMMENT 'المدة (للصوت/الفيديو)',
  `thumbnail` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'صورة مصغرة',
  `folder_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'المجلد',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_files`
--

INSERT INTO `v2_files` (`id`, `name`, `type`, `url`, `local_path`, `original_name`, `file_size`, `duration_seconds`, `thumbnail`, `folder_id`, `is_active`, `created_at`, `updated_at`) VALUES
('file_10', 'سورة الفاتحة', 'video', '', '/uploads/68694662550b1.mp4', NULL, NULL, NULL, NULL, NULL, 0, '2025-07-05 15:36:02', '2025-12-22 13:34:16'),
('file_11', 'test link video', 'video', 'https://www.youtube.com/watch?v=246BbQIV_Pk', NULL, NULL, NULL, NULL, NULL, NULL, 0, '2025-07-06 14:12:01', '2025-12-22 13:34:16'),
('file_12', 'الدعوة إلى الله وأخلاق الدعاة ', 'pdf', '', '/uploads/686c6db33a4c9.pdf', NULL, NULL, NULL, NULL, 'folder_9', 1, '2025-07-08 01:00:35', '2025-12-22 13:34:16'),
('file_13', 'القواعد الحاكمة لفقه المعاملات', 'pdf', '', '/uploads/686c6dc70a788.pdf', NULL, NULL, NULL, NULL, 'folder_9', 1, '2025-07-08 01:00:55', '2025-12-22 13:34:16'),
('file_14', 'رياض الصالحين من حديث سيد المرسلين ت الحلبي', 'pdf', '', '/uploads/686c6dee7b4e5.pdf', NULL, NULL, NULL, NULL, 'folder_9', 1, '2025-07-08 01:01:34', '2025-12-22 13:34:16'),
('file_15', 'مدارج السالكين بين منازل اياك نعبد واياك نستعين', 'pdf', '', '/uploads/686c6e0e04adc.pdf', NULL, NULL, NULL, NULL, 'folder_9', 1, '2025-07-08 01:02:06', '2025-12-22 13:34:16'),
('file_16', 'فقه السنة  العبادات  ', 'pdf', '', '/uploads/686c6e3675f80.pdf', NULL, NULL, NULL, NULL, 'folder_9', 1, '2025-07-08 01:02:46', '2025-12-22 13:34:16'),
('file_17', 'التوحيد', 'pdf', '', '/uploads/686c6e53529cc.pdf', NULL, NULL, NULL, NULL, 'folder_9', 1, '2025-07-08 01:03:15', '2025-12-22 13:34:16'),
('file_18', 'test', 'pdf', '', '/uploads/686c9507cfd42.pdf', NULL, NULL, NULL, NULL, 'folder_10', 0, '2025-07-08 03:48:23', '2025-12-22 13:34:16'),
('file_19', 'test_sami', 'pdf', '', '/uploads/686c95bd6f59b.pdf', NULL, NULL, NULL, NULL, 'folder_11', 1, '2025-07-08 03:51:25', '2025-12-22 13:34:16'),
('file_2', 'pdfpdf', 'pdf', '', '/uploads/6824ce813a90f.pdf', NULL, NULL, NULL, NULL, 'folder_7', 0, '2025-05-14 17:10:25', '2025-12-22 13:34:16'),
('file_20', 'test_sami_mp4', 'video', '', '/uploads/686c95d50f8f4.mp4', NULL, NULL, NULL, NULL, 'folder_11', 1, '2025-07-08 03:51:49', '2025-12-22 13:34:16'),
('file_21', 'test_sami_mp3', 'audio', '', '/uploads/686c95e721ed5.mp3', NULL, NULL, NULL, NULL, 'folder_11', 1, '2025-07-08 03:52:07', '2025-12-22 13:34:16'),
('file_22', 'kteb 1', 'pdf', '', '/uploads/686d6cdb6a708.pdf', NULL, NULL, NULL, NULL, 'folder_14', 1, '2025-07-08 19:09:15', '2025-12-22 13:34:16'),
('file_23', 'اللامية', 'pdf', '', '/uploads/688cf2186b172.pdf', NULL, NULL, NULL, NULL, NULL, 1, '2025-08-01 16:58:00', '2025-12-22 13:34:16'),
('file_24', 'التوحيد', 'pdf', '', '/uploads/68978cc296fbe.pdf', NULL, NULL, NULL, NULL, NULL, 1, '2025-08-09 18:00:34', '2025-12-22 13:34:16'),
('file_25', 'مدخل إلى علوم الشريعة', 'pdf', '', '/uploads/68bc669389e3f.pdf', NULL, NULL, NULL, NULL, 'folder_16', 1, '2025-09-06 16:51:31', '2025-12-22 13:34:16'),
('file_26', 'مدخل إلى علوم الشريعة 1', 'audio', '', '/uploads/68ca2d8833a6a.mp3', NULL, NULL, NULL, NULL, 'folder_16', 1, '2025-09-17 03:39:52', '2025-12-22 13:34:16'),
('file_27', 'مدخل إلى علوم الشريعة - مقرر 2', 'pdf', '', '/uploads/68cd868f72eec.pdf', NULL, NULL, NULL, NULL, 'folder_16', 1, '2025-09-19 16:36:31', '2025-12-22 13:34:16'),
('file_3', 'azzef zf ezf zefze', 'video', 'https://www.youtube.com/watch?v=ys_fN3uy7bQ', NULL, NULL, NULL, NULL, NULL, 'folder_7', 0, '2025-05-14 17:11:46', '2025-12-22 13:34:16'),
('file_4', 'kjhjkrfhkejf', 'pdf', 'https://www.youtube.com/watch?v=ys_fN3uy7bQ', NULL, NULL, NULL, NULL, NULL, 'folder_2', 0, '2025-05-15 16:50:02', '2025-12-22 13:34:16'),
('file_5', 'sam', 'pdf', '', '/uploads/6866cd99ef37a.pdf', NULL, NULL, NULL, NULL, 'folder_1', 0, '2025-07-03 18:36:10', '2025-12-22 13:34:16'),
('file_6', 'الملف الملف الملف', 'pdf', '', '/uploads/6868f73f0e853.pdf', NULL, NULL, NULL, NULL, 'folder_3', 0, '2025-07-05 09:58:23', '2025-12-22 13:34:16'),
('file_7', 'سورة الفاتحة', 'video', 'https://www.youtube.com/watch?v=h0pEL8GklCc', NULL, NULL, NULL, NULL, NULL, NULL, 0, '2025-07-05 15:26:17', '2025-12-22 13:34:16'),
('file_8', 'سورة الفاتحة', 'audio', 'https://archive.org/download/Ammar-Almulla/001.mp3', NULL, NULL, NULL, NULL, NULL, 'folder_6', 0, '2025-07-05 15:27:38', '2025-12-22 13:34:16'),
('file_9', 'سورة الفاتحة', 'audio', '', '/uploads/68694560ddd15.mp3', NULL, NULL, NULL, NULL, 'folder_6', 0, '2025-07-05 15:31:44', '2025-12-22 13:34:16');

-- --------------------------------------------------------

--
-- Structure de la table `v2_folders`
--

CREATE TABLE `v2_folders` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم المجلد',
  `parent_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'المجلد الأب',
  `description` text COLLATE utf8mb4_unicode_ci,
  `icon` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT 0xF09F9381,
  `color` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `order_index` int DEFAULT '0',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_folders`
--

INSERT INTO `v2_folders` (`id`, `name`, `parent_id`, `description`, `icon`, `color`, `order_index`, `is_active`, `created_at`, `updated_at`) VALUES
('folder_11', 'test_sami', NULL, NULL, '📁', NULL, 0, 1, '2025-07-08 03:51:03', '2025-12-22 13:34:16'),
('folder_12', 'testtest', 'folder_11', NULL, '📁', NULL, 0, 1, '2025-07-08 03:52:18', '2025-12-22 13:34:16'),
('folder_13', 'sami', NULL, NULL, '📁', NULL, 0, 1, '2025-07-08 19:07:56', '2025-12-22 13:34:16'),
('folder_14', 'mostawa 1', 'folder_13', NULL, '📁', NULL, 0, 1, '2025-07-08 19:08:23', '2025-12-22 13:34:16'),
('folder_15', 'mostawa 2', 'folder_13', NULL, '📁', NULL, 0, 1, '2025-07-08 19:08:37', '2025-12-22 13:34:16'),
('folder_16', 'مدخل', NULL, NULL, '📁', NULL, 0, 1, '2025-09-06 16:50:31', '2025-12-22 13:34:16'),
('folder_9', 'منهجية التميز', NULL, NULL, '📁', NULL, 0, 1, '2025-07-08 00:51:47', '2025-12-22 13:34:16');

-- --------------------------------------------------------

--
-- Structure de la table `v2_formations`
--

CREATE TABLE `v2_formations` (
  `id` varchar(36) NOT NULL,
  `type` enum('batches','sessions','individuals') NOT NULL DEFAULT 'sessions',
  `title` varchar(255) NOT NULL,
  `description` text,
  `thumbnail` varchar(500) DEFAULT NULL,
  `category` varchar(100) DEFAULT NULL,
  `program_id` varchar(36) DEFAULT NULL,
  `program_name` varchar(255) DEFAULT NULL,
  `start_date` date DEFAULT NULL,
  `end_date` date DEFAULT NULL,
  `start_register_date` date DEFAULT NULL,
  `end_register_date` date DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `skip_acceptance` tinyint(1) DEFAULT '0',
  `duration_hours` int DEFAULT '0',
  `price` decimal(10,2) DEFAULT '0.00',
  `rating` decimal(3,2) DEFAULT '0.00',
  `review_count` int DEFAULT '0',
  `student_count` int DEFAULT '0',
  `session_count` int DEFAULT '0',
  `objectives` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `teacher_id` varchar(36) DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

--
-- Déchargement des données de la table `v2_formations`
--

INSERT INTO `v2_formations` (`id`, `type`, `title`, `description`, `thumbnail`, `category`, `program_id`, `program_name`, `start_date`, `end_date`, `start_register_date`, `end_register_date`, `is_active`, `skip_acceptance`, `duration_hours`, `price`, `rating`, `review_count`, `student_count`, `session_count`, `objectives`, `teacher_id`, `created_at`, `updated_at`) VALUES
('formation_695291af61907', 'batches', 'دورة تجريبية', 'دورة تجريبية', 'uploads/formations/formation_695291af60194.png', '', 'prog_694c172a55cb8', NULL, '2025-12-27', '2026-02-28', NULL, NULL, 1, 0, 0, 0.00, 0.00, 0, 0, 0, NULL, 'teacher_005', '2025-12-29 15:35:27', '2026-01-07 17:14:48'),
('formation_69529c663190a', 'sessions', 'دورة جديدة', 'دورة جديدة', 'uploads/formations/formation_69529c6631330.jpg', 'دورة جديدة', 'prog_694e75c193e7f', NULL, '2025-12-29', '2026-03-21', NULL, NULL, 1, 0, 0, 0.00, 0.00, 0, 0, 0, NULL, 'teacher_002', '2025-12-29 16:21:10', '2026-01-07 17:14:48'),
('formation_6952b59935e2d', 'batches', 'مدخل إلى علوم الشريعة', '', 'uploads/formations/formation_69553cdb3b630.jpg', '', 'prog_694e75c193e7f', NULL, '2025-12-29', '2026-01-30', NULL, NULL, 1, 0, 0, 0.00, 0.00, 0, 0, 0, NULL, 'teacher_6952b69b56e7b', '2025-12-29 18:08:41', '2026-01-07 17:14:48'),
('formation_6952b7203e634', 'sessions', 'دورة مدخل إلى علوم الشريعة ', 'دورة علمية لدراسة كتاب \" مدخل إلى علوم الشريعة\"', 'uploads/formations/formation_69553cc3f1ad1.jpg', '', 'prog_694e75c193e7f', NULL, '2026-01-01', '2026-02-07', NULL, NULL, 1, 0, 0, 0.00, 0.00, 0, 1, 0, NULL, 'teacher_6952b69b56e7b', '2025-12-29 18:15:12', '2026-01-08 12:41:55'),
('formation_6956a4f26c890', 'batches', 'دفعة مدخل إلى علوم الشريعة 2', '', 'uploads/formations/formation_6956a4f26c1cb.png', '', 'prog_694e75c193e7f', NULL, '2026-01-01', '2026-01-31', NULL, NULL, 1, 0, 0, 0.00, 0.00, 0, 0, 0, NULL, 'teacher_6952b69b56e7b', '2026-01-01 17:46:42', '2026-01-07 17:14:48');

-- --------------------------------------------------------

--
-- Structure de la table `v2_formation_calendar_events`
--

CREATE TABLE `v2_formation_calendar_events` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `formation_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `date` date NOT NULL,
  `event_type` enum('session','phase_test','level_test','final_exam','holiday','review') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'session',
  `seance_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `phase_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `level_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_formation_calendar_events`
--

INSERT INTO `v2_formation_calendar_events` (`id`, `formation_id`, `date`, `event_type`, `seance_id`, `phase_id`, `level_id`, `title`, `description`, `is_active`, `created_at`) VALUES
('cal_000b8ebf-3de', 'formation_694a462214da6', '2025-01-26', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 08:21:33'),
('cal_001c8e4e-df6', 'formation_694a3ee959ef6', '2026-01-14', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:04:59'),
('cal_00eddb47-750', 'batch_001', '2026-01-19', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:30:05'),
('cal_0219385b-391', 'formation_6952b59935e2d', '2026-02-03', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:09:04'),
('cal_03127a3f-843', 'formation_69529c663190a', '2026-01-03', 'session', 'seance_694e79820773d', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 5 (صفحة 100-120)', 'الدرس 5 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_032679ac-c6f', 'formation_694a75db62fde', '2026-01-20', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 10:59:19'),
('cal_0374c75d-3a7', 'formation_6956a4f26c890', '2026-01-17', 'session', 'seance_694e79b45a085', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة 7 (صفحة 140-160)', 'الحصة 7 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_04d27922-3e3', 'formation_694a3ee959ef6', '2026-01-18', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:04:59'),
('cal_0571d3ad-c30', 'formation_6956a4f26c890', '2026-01-26', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2026-01-03 17:04:13'),
('cal_06dfecc7-6bd', 'formation_694a75db62fde', '2025-12-23', 'session', 'seance_694a75a6680e3', 'phase_694a755d9399a', 'level_694a7537a845a', 'الحصة الأولى (صفحة 1-10)', 'الحصة الأولى - الدرس الأول - المرحلة الأولى - المستوى الأول', 1, '2025-12-23 10:59:19'),
('cal_06e3680d-bbc', 'formation_6956a4f26c890', '2026-01-21', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2026-01-03 17:04:13'),
('cal_07279730-a6d', 'formation_694a75db62fde', '2026-01-19', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 10:59:19'),
('cal_077f94c7-f27', 'formation_694c27d1a9c6e', '2026-01-15', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:51:56'),
('cal_08171a4c-713', 'formation_694a3ee959ef6', '2025-12-30', 'phase_test', NULL, 'phase_69484008ac1f3', NULL, 'اختبار المرحلة (المرحلة الأولة)', 'اختبار المرحلة', 1, '2025-12-23 07:04:59'),
('cal_086e347f-a73', 'formation_6952b7203e634', '2026-01-28', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-29 17:20:40'),
('cal_08b5e251-24c', 'formation_69529c663190a', '2026-01-22', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 15:21:22'),
('cal_093b1af5-928', 'formation_694c1d6983df7', '2026-01-21', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:14:34'),
('cal_09d2357b-258', 'formation_6952b59935e2d', '2026-01-21', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:09:04'),
('cal_0aefe4fb-29e', 'formation_695291af61907', '2026-01-18', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-31 15:27:09'),
('cal_0c368a4b-74e', 'formation_694a3ee959ef6', '2025-12-23', 'session', 'seance_6948460277a82', 'phase_69484008ac1f3', 'level_69483dc6977bb', 'الحصة الأولى (صفحة 1-30)', 'الحصة الأولى - الأحكام - المرحلة الأولة - المستوى الأول', 1, '2025-12-23 07:04:59'),
('cal_0c6b2325-764', 'formation_6952b7203e634', '2026-02-03', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:20:40'),
('cal_0cc6441b-539', 'formation_694a462214da6', '2025-01-14', 'level_test', NULL, NULL, 'level_001', 'اختبار المستوى (المستوى الأول: التأسيس العقدي والعبادي)', 'اختبار المستوى', 1, '2025-12-23 08:21:33'),
('cal_0d78406f-f63', 'formation_694a3ee959ef6', '2025-12-31', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-23 07:04:59'),
('cal_0d794975-aa6', 'formation_6952b59935e2d', '2026-01-22', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:09:04'),
('cal_0e17581e-afd', 'batch_001', '2025-12-23', 'session', 'seance_6948460277a82', 'phase_69484008ac1f3', 'level_69483dc6977bb', 'الحصة الأولى (صفحة 1-30)', 'الحصة الأولى - الأحكام - المرحلة الأولة - المستوى الأول', 1, '2025-12-23 07:30:05'),
('cal_0e96fbeb-e98', 'formation_6952b7203e634', '2026-01-19', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 17:20:40'),
('cal_0f96b14b-f86', 'formation_694c27d1a9c6e', '2026-01-21', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:51:56'),
('cal_0fa2c292-f2c', 'batch_001', '2026-01-17', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:30:05'),
('cal_0fac8478-09b', 'formation_6952b59935e2d', '2026-02-02', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:09:04'),
('cal_0fba6eb1-9db', 'formation_694c1d6983df7', '2026-01-01', 'review', NULL, NULL, 'level_694c173f2c2eb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-24 17:14:34'),
('cal_10dfbae0-004', 'formation_6952b7203e634', '2026-01-15', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 17:20:40'),
('cal_11a8c3e9-4cf', 'formation_694c1d6983df7', '2026-01-19', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:14:34'),
('cal_12d1afe3-927', 'formation_694c1d6983df7', '2026-01-10', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:14:34'),
('cal_14d92b78-663', 'formation_6952b7203e634', '2026-01-06', 'session', 'seance_694e7969548d8', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 4 (صفحة 78-99)', 'الدرس 4 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_14fbb15b-d6e', 'formation_694c1d6983df7', '2026-01-18', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:14:34'),
('cal_15cfffe1-12b', 'batch_001', '2026-01-20', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:30:05'),
('cal_15f14623-28c', 'formation_6952b59935e2d', '2026-01-01', 'session', 'seance_694e7969548d8', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 4 (صفحة 78-99)', 'الدرس 4 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_16379d42-3dc', 'formation_694c1d6983df7', '2026-01-05', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-24 17:14:34'),
('cal_16b200f5-e1c', 'formation_6952b59935e2d', '2026-02-01', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:09:04'),
('cal_1829ed05-67b', 'formation_6952b59935e2d', '2026-01-04', 'session', 'seance_694e799815ad6', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 6 (صفحة 121-139)', 'الدرس 6 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_194d1ead-ed4', 'formation_694a3ee959ef6', '2026-01-07', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-23 07:04:59'),
('cal_196dfde7-f93', 'formation_694a462214da6', '2025-01-13', 'review', NULL, NULL, 'level_001', 'مراجعة اختبار المستوى (المستوى الأول: التأسيس العقدي والعبادي)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 08:21:33'),
('cal_1aa0e5f4-755', 'formation_6952b59935e2d', '2026-01-07', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-29 17:09:04'),
('cal_1d7894c5-8a0', 'formation_6956a4f26c890', '2026-02-02', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2026-01-03 17:04:13'),
('cal_1e1899ea-827', 'formation_695291af61907', '2026-01-22', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-31 15:27:09'),
('cal_1e2e366c-226', 'formation_695291af61907', '2026-01-17', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-31 15:27:09'),
('cal_1f323971-844', 'formation_6952b7203e634', '2026-01-07', 'session', 'seance_694e79820773d', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 5 (صفحة 100-120)', 'الدرس 5 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_1f737064-fb5', 'formation_6956a4f26c890', '2026-02-07', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2026-01-03 17:04:13'),
('cal_2141a06d-9ad', 'formation_695291af61907', '2026-01-07', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-31 15:27:09'),
('cal_2143b284-658', 'formation_69529c663190a', '2026-01-17', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 15:21:22'),
('cal_217f0603-b5c', 'formation_694a462214da6', '2025-01-05', 'review', NULL, 'phase_001', NULL, 'مراجعة اختبار المرحلة (المرحلة 1: العقيدة الصحيحة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 08:21:33'),
('cal_21b9824c-c03', 'batch_001', '2026-01-06', 'level_test', NULL, NULL, 'level_69483dc6977bb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 07:30:05'),
('cal_22b2bdd2-e34', 'batch_001', '2026-01-13', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:30:05'),
('cal_234a5cbd-4df', 'formation_6952b59935e2d', '2025-12-29', 'session', 'seance_694e790424089', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 1 (صفحة 13-36)', 'الدرس 1 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_234fc758-47d', 'formation_6952b59935e2d', '2026-01-17', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 17:09:04'),
('cal_2481ae43-2cf', 'formation_694a3ee959ef6', '2026-01-10', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:04:59'),
('cal_24d4123a-11d', 'formation_695291af61907', '2026-01-06', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-31 15:27:09'),
('cal_26473987-ff9', 'formation_6952b7203e634', '2026-02-09', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:20:40'),
('cal_27192abf-fe2', 'formation_6956a4f26c890', '2026-02-16', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2026-01-03 17:04:13'),
('cal_29a431ea-4e6', 'formation_694a3ee959ef6', '2026-01-19', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:04:59'),
('cal_29ac9ac2-1e8', 'formation_694c1d6983df7', '2026-01-17', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:14:34'),
('cal_29b05850-f30', 'formation_694c27d1a9c6e', '2026-01-20', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:51:56'),
('cal_2a487181-233', 'formation_694c27d1a9c6e', '2026-01-18', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:51:56'),
('cal_2b2cfc4a-39d', 'formation_695291af61907', '2026-01-24', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-31 15:27:09'),
('cal_2bb094f8-d0d', 'formation_69529c663190a', '2026-01-11', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 15:21:22'),
('cal_2c105421-785', 'formation_6956a4f26c890', '2026-02-18', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2026-01-03 17:04:13'),
('cal_2cc9277f-53a', 'formation_694c1d6983df7', '2026-01-20', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:14:34'),
('cal_2d6bb629-dbe', 'formation_694a75db62fde', '2026-01-12', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 10:59:19'),
('cal_2eded2ae-bad', 'formation_6952b59935e2d', '2026-01-26', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:09:04'),
('cal_304d2dfb-8fb', 'formation_694a462214da6', '2025-01-06', 'review', NULL, 'phase_001', NULL, 'مراجعة اختبار المرحلة (المرحلة 1: العقيدة الصحيحة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 08:21:33'),
('cal_3081aaa2-f4b', 'formation_694c1d6983df7', '2025-12-29', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-24 17:14:34'),
('cal_30a2fe8f-a53', 'formation_6956a4f26c890', '2026-03-07', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2026-01-03 17:04:13'),
('cal_30b8a469-c9e', 'formation_694c27d1a9c6e', '2025-12-25', 'session', 'seance_694c1d0d43303', 'phase_694c1771369be', 'level_694c173f2c2eb', 'الحصة الأولى (صفحة 1-10)', 'الحصة الأولى - الدرس الأول - المرحلة الأولى - المستوى الأول', 1, '2025-12-24 17:51:56'),
('cal_3111eebb-02c', 'formation_695291af61907', '2026-01-21', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-31 15:27:09'),
('cal_328ddcfc-c98', 'batch_001', '2026-01-12', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:30:05'),
('cal_32f74dce-d87', 'formation_694c27d1a9c6e', '2026-01-10', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:51:56'),
('cal_334605c1-5e2', 'formation_694a462214da6', '2025-01-16', 'level_test', NULL, NULL, 'level_001', 'اختبار المستوى (المستوى الأول: التأسيس العقدي والعبادي)', 'اختبار المستوى', 1, '2025-12-23 08:21:33'),
('cal_36266ca7-1af', 'formation_6952b7203e634', '2026-01-30', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:20:40'),
('cal_36889517-f4d', 'batch_001', '2025-12-29', 'phase_test', NULL, 'phase_69484008ac1f3', NULL, 'اختبار المرحلة (المرحلة الأولة)', 'اختبار المرحلة', 1, '2025-12-23 07:30:05'),
('cal_36cdaac9-155', 'formation_694a3ee959ef6', '2026-01-05', 'level_test', NULL, NULL, 'level_69483dc6977bb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 07:04:59'),
('cal_37dde6ab-bdb', 'formation_695291af61907', '2026-01-10', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-31 15:27:09'),
('cal_3910472f-d08', 'formation_694a3ee959ef6', '2025-12-24', 'session', 'seance_6948464e5f2ca', 'phase_69484008ac1f3', 'level_69483dc6977bb', 'الحصة الثانية (صفحة 20-30)', 'الحصة الثانية - الأحكام - المرحلة الأولة - المستوى الأول', 1, '2025-12-23 07:04:59'),
('cal_3a7e6e82-16f', 'formation_6956a4f26c890', '2026-02-23', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2026-01-03 17:04:13'),
('cal_3ae79124-280', 'formation_69529c663190a', '2026-01-27', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 15:21:22'),
('cal_3b75b5a7-8b1', 'formation_694a75db62fde', '2025-12-25', 'review', NULL, 'phase_694a755d9399a', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 10:59:19'),
('cal_3c16830d-15c', 'batch_001', '2026-01-11', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:30:05'),
('cal_3c3b5010-388', 'formation_6952b59935e2d', '2025-12-31', 'session', 'seance_694e795034ac3', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 3 (صفحة 54-77)', 'الدرس 3 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_3c78babe-71a', 'batch_001', '2025-12-30', 'phase_test', NULL, 'phase_69484008ac1f3', NULL, 'اختبار المرحلة (المرحلة الأولة)', 'اختبار المرحلة', 1, '2025-12-23 07:30:05'),
('cal_3cd48f0b-153', 'formation_694a462214da6', '2025-01-19', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 08:21:33'),
('cal_3e7a47a2-4da', 'formation_6952b7203e634', '2026-01-09', 'session', 'seance_694e79b45a085', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 7 (صفحة 140-160)', 'الدرس 7 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_3f4ef4f8-aa1', 'formation_69529c663190a', '2026-01-19', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 15:21:22'),
('cal_425ffdf2-bb0', 'batch_001', '2026-01-14', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:30:05'),
('cal_4385ee34-172', 'formation_695291af61907', '2026-01-11', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-31 15:27:09'),
('cal_43d29a31-458', 'formation_694a3ee959ef6', '2026-01-11', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:04:59'),
('cal_43d871a4-ded', 'formation_694a3ee959ef6', '2026-01-06', 'level_test', NULL, NULL, 'level_69483dc6977bb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 07:04:59'),
('cal_43f4d7bb-a81', 'formation_694a462214da6', '2025-01-12', 'review', NULL, NULL, 'level_001', 'مراجعة اختبار المستوى (المستوى الأول: التأسيس العقدي والعبادي)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 08:21:33'),
('cal_4456206d-bae', 'formation_6952b7203e634', '2026-01-16', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 17:20:40'),
('cal_45202898-2dc', 'batch_001', '2026-01-10', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:30:05'),
('cal_454ccfb8-387', 'formation_694c1d6983df7', '2026-01-06', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-24 17:14:34'),
('cal_457321e5-4b8', 'formation_694a75db62fde', '2025-12-24', 'review', NULL, 'phase_694a755d9399a', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 10:59:19'),
('cal_458a3a5f-180', 'formation_69529c663190a', '2026-01-14', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-29 15:21:22'),
('cal_463828ef-a8c', 'formation_6956a4f26c890', '2026-01-07', 'session', 'seance_694e795034ac3', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة 3 (صفحة 54-77)', 'الحصة 3 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_47df6075-fe7', 'formation_694a3ee959ef6', '2026-01-17', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:04:59'),
('cal_47e8320e-824', 'formation_694c27d1a9c6e', '2025-12-28', 'review', NULL, 'phase_694c1771369be', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-24 17:51:56'),
('cal_4917db29-894', 'formation_694a462214da6', '2025-01-27', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 08:21:33'),
('cal_4ad8de24-011', 'formation_695291af61907', '2026-01-19', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-31 15:27:09'),
('cal_4be4ac9a-df0', 'formation_6952b7203e634', '2026-02-13', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:20:40'),
('cal_4c1b7e06-a01', 'formation_6952b59935e2d', '2026-01-15', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-29 17:09:04'),
('cal_4c69780b-269', 'batch_001', '2026-01-18', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:30:05'),
('cal_4cac617e-df3', 'formation_694a75db62fde', '2026-01-07', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 10:59:19'),
('cal_4d0d296d-61b', 'formation_694a75db62fde', '2026-01-03', 'level_test', NULL, NULL, 'level_694a7537a845a', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 10:59:19'),
('cal_4d4fd6d1-007', 'formation_694a3ee959ef6', '2026-01-21', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:04:59'),
('cal_4d770f7d-a1b', 'formation_694a3ee959ef6', '2026-01-13', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:04:59'),
('cal_4f1e441f-0f3', 'formation_694c27d1a9c6e', '2025-12-30', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-24 17:51:56'),
('cal_4fc7738f-fce', 'formation_694c1d6983df7', '2026-01-04', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-24 17:14:34'),
('cal_51be122a-f02', 'formation_6956a4f26c890', '2026-02-14', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2026-01-03 17:04:13'),
('cal_5543622f-135', 'formation_694c1d6983df7', '2025-12-24', 'session', 'seance_694c1d0d43303', 'phase_694c1771369be', 'level_694c173f2c2eb', 'الحصة الأولى (صفحة 1-10)', 'الحصة الأولى - الدرس الأول - المرحلة الأولى - المستوى الأول', 1, '2025-12-24 17:14:34'),
('cal_5556a985-8b1', 'formation_694c27d1a9c6e', '2026-01-13', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:51:56'),
('cal_5558ea04-5ee', 'formation_6956a4f26c890', '2026-03-11', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2026-01-03 17:04:13'),
('cal_56a49a8c-040', 'formation_694a75db62fde', '2025-12-28', 'phase_test', NULL, 'phase_694a755d9399a', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-23 10:59:19'),
('cal_56a535a5-d6b', 'formation_69529c663190a', '2025-12-29', 'session', 'seance_694e790424089', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 1 (صفحة 13-36)', 'الدرس 1 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_56c715cc-a99', 'batch_001', '2026-01-15', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:30:05'),
('cal_59be823b-0e5', 'formation_694a75db62fde', '2025-12-27', 'phase_test', NULL, 'phase_694a755d9399a', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-23 10:59:19'),
('cal_5acd7fca-b27', 'formation_69529c663190a', '2026-01-31', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 15:21:22'),
('cal_5ae1c9b8-f07', 'formation_694c27d1a9c6e', '2026-01-05', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-24 17:51:56'),
('cal_5ccfb96c-0f6', 'formation_694c27d1a9c6e', '2025-12-31', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-24 17:51:56'),
('cal_5d163377-1eb', 'formation_694a3ee959ef6', '2025-12-25', 'review', NULL, 'phase_69484008ac1f3', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 07:04:59'),
('cal_60abf1ca-f75', 'formation_694c27d1a9c6e', '2026-01-07', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-24 17:51:56'),
('cal_61538d4b-869', 'formation_694a3ee959ef6', '2026-01-15', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:04:59'),
('cal_638c9c17-048', 'formation_694a75db62fde', '2026-01-06', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-23 10:59:19'),
('cal_65307914-e81', 'formation_6956a4f26c890', '2026-03-14', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2026-01-03 17:04:13'),
('cal_66a2ff6e-02e', 'formation_6952b7203e634', '2026-02-02', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:20:40'),
('cal_67223189-60d', 'formation_69529c663190a', '2025-12-30', 'session', 'seance_694e79243c9bb', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 2 (صفحة 37-53)', 'الدرس 2 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_67593ec8-93f', 'formation_695291af61907', '2025-12-27', 'session', 'seance_694c1d0d43303', 'phase_694c1771369be', 'level_694c173f2c2eb', 'الحصة الأولى (صفحة 1-10)', 'الحصة الأولى - الدرس الأول - المرحلة الأولى - المستوى الأول', 1, '2025-12-31 15:27:09'),
('cal_679d6241-2ef', 'formation_695291af61907', '2026-01-01', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-31 15:27:09'),
('cal_67e44647-5a4', 'formation_6952b7203e634', '2026-01-20', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-29 17:20:40'),
('cal_68ec4c61-c0f', 'formation_6952b59935e2d', '2026-01-27', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:09:04'),
('cal_6c48bb9c-d1d', 'formation_6956a4f26c890', '2026-01-28', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2026-01-03 17:04:13'),
('cal_6df65242-ef7', 'formation_6956a4f26c890', '2026-03-09', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2026-01-03 17:04:13'),
('cal_6e37ff29-d3d', 'formation_694c27d1a9c6e', '2026-01-11', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:51:56'),
('cal_6f342a10-206', 'formation_694c27d1a9c6e', '2026-01-03', 'review', NULL, NULL, 'level_694c173f2c2eb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-24 17:51:56'),
('cal_7026f27d-0c0', 'batch_001', '2025-12-27', 'review', NULL, 'phase_69484008ac1f3', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 07:30:05'),
('cal_7083ad67-762', 'formation_6952b59935e2d', '2026-01-03', 'session', 'seance_694e79820773d', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 5 (صفحة 100-120)', 'الدرس 5 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_70ae8905-6b3', 'formation_6956a4f26c890', '2026-01-24', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2026-01-03 17:04:13'),
('cal_715b335c-8c8', 'formation_694a462214da6', '2025-01-25', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 08:21:33'),
('cal_738f67bb-494', 'formation_69529c663190a', '2026-01-08', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-29 15:21:22'),
('cal_7501cfb8-b21', 'formation_69529c663190a', '2026-01-26', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 15:21:22'),
('cal_755bdd31-1b9', 'formation_6952b59935e2d', '2026-01-18', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 17:09:04'),
('cal_756e77a1-f1e', 'formation_694c27d1a9c6e', '2026-01-08', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-24 17:51:56'),
('cal_76f3e0ec-1d6', 'formation_6952b59935e2d', '2026-01-08', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-29 17:09:04'),
('cal_78277756-c78', 'formation_6952b59935e2d', '2026-01-24', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:09:04'),
('cal_7a1ee7bb-eba', 'formation_69529c663190a', '2026-02-01', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 15:21:22'),
('cal_7b48828a-032', 'formation_694c27d1a9c6e', '2026-01-06', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-24 17:51:56'),
('cal_7ca82ee8-210', 'formation_69529c663190a', '2026-01-29', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 15:21:22'),
('cal_7d8bd0a8-d5e', 'formation_69529c663190a', '2026-01-01', 'session', 'seance_694e7969548d8', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 4 (صفحة 78-99)', 'الدرس 4 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_7fba973e-3d5', 'formation_6952b59935e2d', '2026-01-25', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:09:04'),
('cal_80a79c79-df1', 'formation_6956a4f26c890', '2026-02-09', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2026-01-03 17:04:13'),
('cal_84e1b06a-6d7', 'formation_69529c663190a', '2026-01-20', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-29 15:21:22'),
('cal_8505b1e4-a45', 'batch_001', '2026-01-01', 'review', NULL, NULL, 'level_69483dc6977bb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 07:30:05'),
('cal_855eeac0-236', 'formation_694c1d6983df7', '2026-01-12', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:14:34'),
('cal_86645bd4-950', 'formation_6952b7203e634', '2026-01-08', 'session', 'seance_694e799815ad6', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 6 (صفحة 121-139)', 'الدرس 6 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_86d3bd14-959', 'formation_6956a4f26c890', '2026-01-14', 'session', 'seance_694e799815ad6', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة 6 (صفحة 121-139)', 'الحصة 6 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_87fdce3f-7f6', 'formation_694c27d1a9c6e', '2026-01-19', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:51:56'),
('cal_89252e2e-bc2', 'formation_69529c663190a', '2026-01-21', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 15:21:22'),
('cal_89eda439-28a', 'batch_001', '2026-01-08', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:30:05'),
('cal_8a573d24-34e', 'formation_695291af61907', '2025-12-31', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-31 15:27:09'),
('cal_8ad33d55-64f', 'formation_694a462214da6', '2025-01-30', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 08:21:33'),
('cal_8bbae87b-5e4', 'formation_695291af61907', '2026-01-12', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-31 15:27:09'),
('cal_8e5c74c3-d77', 'formation_6952b59935e2d', '2026-01-13', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-29 17:09:04'),
('cal_8ea466e3-ee7', 'formation_694a462214da6', '2025-01-11', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-23 08:21:33'),
('cal_8f7df56d-a1c', 'formation_694a75db62fde', '2026-01-05', 'level_test', NULL, NULL, 'level_694a7537a845a', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 10:59:19'),
('cal_90107577-4df', 'batch_001', '2025-12-31', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-23 07:30:05'),
('cal_903ef2ec-d0f', 'formation_6956a4f26c890', '2026-02-21', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2026-01-03 17:04:13'),
('cal_9051a758-b52', 'formation_694a75db62fde', '2026-01-13', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 10:59:19'),
('cal_90599d3a-64b', 'formation_694a3ee959ef6', '2026-01-03', 'review', NULL, NULL, 'level_69483dc6977bb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 07:04:59'),
('cal_91290b8c-db5', 'formation_694a462214da6', '2025-01-29', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 08:21:33'),
('cal_9220d435-5df', 'formation_695291af61907', '2026-01-04', 'review', NULL, NULL, 'level_694c173f2c2eb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-31 15:27:09'),
('cal_92cc0890-d5d', 'formation_694c1d6983df7', '2026-01-03', 'review', NULL, NULL, 'level_694c173f2c2eb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-24 17:14:34'),
('cal_92e16063-de5', 'formation_694c27d1a9c6e', '2026-01-22', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-24 17:51:56'),
('cal_94a03291-09e', 'batch_001', '2026-01-03', 'review', NULL, NULL, 'level_69483dc6977bb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 07:30:05'),
('cal_94b194da-d13', 'formation_6952b7203e634', '2026-01-27', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 17:20:40'),
('cal_9630931d-cb4', 'formation_6956a4f26c890', '2026-03-04', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2026-01-03 17:04:13'),
('cal_963e0478-a4d', 'batch_001', '2025-12-24', 'session', 'seance_6948464e5f2ca', 'phase_69484008ac1f3', 'level_69483dc6977bb', 'الحصة الثانية (صفحة 20-30)', 'الحصة الثانية - الأحكام - المرحلة الأولة - المستوى الأول', 1, '2025-12-23 07:30:05'),
('cal_965ca5ee-d25', 'formation_69529c663190a', '2026-01-07', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-29 15:21:22'),
('cal_9843df4c-4d9', 'formation_695291af61907', '2026-01-14', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-31 15:27:09'),
('cal_9906fc70-21a', 'batch_001', '2025-12-25', 'review', NULL, 'phase_69484008ac1f3', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 07:30:05'),
('cal_99e102e4-5fe', 'formation_694a462214da6', '2025-01-22', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 08:21:33'),
('cal_9c18ba83-31e', 'formation_694a75db62fde', '2026-01-18', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 10:59:19'),
('cal_9c49f322-bd3', 'formation_694a462214da6', '2025-01-18', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-23 08:21:33'),
('cal_9f4039f4-758', 'formation_695291af61907', '2026-01-20', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-31 15:27:09'),
('cal_a1b7238f-42c', 'formation_694a462214da6', '2025-01-04', 'session', 'seance_003', 'phase_001', 'level_001', 'توحيد الأسماء والصفات (صفحة 36-60)', 'توحيد الأسماء والصفات - الدرس 1: كتاب التوحيد - المرحلة 1: العقيدة الصحيحة - المستوى الأول: التأسيس العقدي والعبادي', 1, '2025-12-23 08:21:33'),
('cal_a1fe67a4-e1a', 'formation_69529c663190a', '2026-01-06', 'session', 'seance_694e79cae8801', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 8 (صفحة 161-187)', 'الدرس 8 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_a2e8c226-02c', 'formation_694a3ee959ef6', '2026-01-04', 'level_test', NULL, NULL, 'level_69483dc6977bb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 07:04:59'),
('cal_a46cb5ba-aa3', 'formation_6952b7203e634', '2026-02-10', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:20:40'),
('cal_a5ebc652-b73', 'formation_694a462214da6', '2025-01-08', 'phase_test', NULL, 'phase_001', NULL, 'اختبار المرحلة (المرحلة 1: العقيدة الصحيحة)', 'اختبار المرحلة', 1, '2025-12-23 08:21:33'),
('cal_a6e6c61c-ce1', 'formation_694c27d1a9c6e', '2026-01-01', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-24 17:51:56'),
('cal_a7c795b6-c86', 'formation_6952b7203e634', '2026-01-21', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-29 17:20:40'),
('cal_a8043f8a-8d7', 'formation_694a3ee959ef6', '2025-12-27', 'review', NULL, 'phase_69484008ac1f3', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-23 07:04:59'),
('cal_a99b496c-893', 'formation_694c1d6983df7', '2026-01-13', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:14:34'),
('cal_a9add772-ecf', 'formation_6952b59935e2d', '2026-01-12', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 17:09:04'),
('cal_aa30338e-c65', 'formation_6952b7203e634', '2026-02-12', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:20:40'),
('cal_ad33e40a-bd8', 'formation_694a75db62fde', '2026-01-15', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 10:59:19'),
('cal_aec6d3ad-b6f', 'formation_694c27d1a9c6e', '2026-01-12', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:51:56'),
('cal_afcff0f3-d9e', 'batch_001', '2025-12-28', 'phase_test', NULL, 'phase_69484008ac1f3', NULL, 'اختبار المرحلة (المرحلة الأولة)', 'اختبار المرحلة', 1, '2025-12-23 07:30:05'),
('cal_b0a4960c-fa4', 'formation_6952b7203e634', '2026-02-05', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:20:40'),
('cal_b1f7c2ce-0f7', 'formation_694c1d6983df7', '2025-12-25', 'review', NULL, 'phase_694c1771369be', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-24 17:14:34'),
('cal_b2989103-6e1', 'formation_6952b7203e634', '2026-01-29', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:20:40'),
('cal_b3123aa6-324', 'formation_694a75db62fde', '2026-01-14', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 10:59:19'),
('cal_b55649ca-41a', 'formation_69529c663190a', '2026-01-12', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 15:21:22'),
('cal_b5bd2d16-8d2', 'formation_6952b7203e634', '2026-01-05', 'session', 'seance_694e795034ac3', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 3 (صفحة 54-77)', 'الدرس 3 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_b6a5f31c-356', 'formation_6952b59935e2d', '2026-01-11', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 17:09:04'),
('cal_b90a5940-5c6', 'formation_6956a4f26c890', '2026-01-10', 'session', 'seance_694e7969548d8', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة 4 (صفحة 78-99)', 'الحصة 4 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_bb4f277c-d1f', 'formation_694a462214da6', '2025-01-20', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 08:21:33'),
('cal_bbc79a57-964', 'formation_694c1d6983df7', '2026-01-11', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:14:34'),
('cal_be4e0e8f-64c', 'formation_694c27d1a9c6e', '2025-12-27', 'review', NULL, 'phase_694c1771369be', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-24 17:51:56'),
('cal_bf9ce12d-e8d', 'formation_69529c663190a', '2026-01-13', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-29 15:21:22'),
('cal_c04287cf-f0f', 'formation_694c27d1a9c6e', '2026-01-14', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:51:56'),
('cal_c049139f-3e1', 'formation_694a3ee959ef6', '2026-01-01', 'review', NULL, NULL, 'level_69483dc6977bb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 07:04:59'),
('cal_c13633fe-708', 'formation_694c1d6983df7', '2026-01-15', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:14:34'),
('cal_c23fa43f-597', 'formation_69529c663190a', '2026-01-05', 'session', 'seance_694e79b45a085', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 7 (صفحة 140-160)', 'الدرس 7 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_c2bf4ca8-401', 'formation_694a462214da6', '2025-01-15', 'level_test', NULL, NULL, 'level_001', 'اختبار المستوى (المستوى الأول: التأسيس العقدي والعبادي)', 'اختبار المستوى', 1, '2025-12-23 08:21:33'),
('cal_c4098b0e-628', 'formation_69529c663190a', '2026-01-10', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 15:21:22'),
('cal_c47b5b64-189', 'formation_694a75db62fde', '2025-12-31', 'review', NULL, NULL, 'level_694a7537a845a', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 10:59:19'),
('cal_c5fd209e-c8c', 'formation_694a75db62fde', '2026-01-17', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 10:59:19'),
('cal_c7155ea1-756', 'formation_6956a4f26c890', '2026-01-12', 'session', 'seance_694e79820773d', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة 5 (صفحة 100-120)', 'الحصة 5 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_c7528b6f-26f', 'formation_6952b59935e2d', '2025-12-30', 'session', 'seance_694e79243c9bb', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 2 (صفحة 37-53)', 'الدرس 2 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_c781bbc5-391', 'formation_694a3ee959ef6', '2026-01-20', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:04:59'),
('cal_c871f47d-ac1', 'formation_6956a4f26c890', '2026-03-02', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2026-01-03 17:04:13'),
('cal_c937cd7e-ce5', 'formation_694a462214da6', '2025-01-07', 'phase_test', NULL, 'phase_001', NULL, 'اختبار المرحلة (المرحلة 1: العقيدة الصحيحة)', 'اختبار المرحلة', 1, '2025-12-23 08:21:33'),
('cal_ca26eb62-261', 'formation_69529c663190a', '2026-02-02', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 15:21:22'),
('cal_ca5b807a-7ef', 'formation_6952b7203e634', '2026-01-23', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 17:20:40'),
('cal_cae0945b-41f', 'formation_69529c663190a', '2026-01-18', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 15:21:22'),
('cal_cb3596d6-186', 'formation_694a75db62fde', '2026-01-04', 'level_test', NULL, NULL, 'level_694a7537a845a', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 10:59:19'),
('cal_cbec732d-f5c', 'formation_694a75db62fde', '2025-12-30', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-23 10:59:19'),
('cal_cd25e6e5-ae3', 'formation_69529c663190a', '2026-02-03', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 15:21:22'),
('cal_cd2c293c-da3', 'formation_694c1d6983df7', '2025-12-28', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-24 17:14:34'),
('cal_cd9134b7-a3a', 'formation_695291af61907', '2026-01-05', 'review', NULL, NULL, 'level_694c173f2c2eb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-31 15:27:09'),
('cal_d0a84773-5d5', 'formation_695291af61907', '2025-12-29', 'review', NULL, 'phase_694c1771369be', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-31 15:27:09'),
('cal_d0acd8f3-6a5', 'formation_69529c663190a', '2026-01-25', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 15:21:22'),
('cal_d186c0de-2a8', 'formation_6952b59935e2d', '2026-01-19', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 17:09:04'),
('cal_d1e85385-0ba', 'formation_6956a4f26c890', '2026-01-19', 'session', 'seance_694e79cae8801', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة 8 (صفحة 161-187)', 'الحصة 8 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_d294ed9e-000', 'formation_694a75db62fde', '2026-01-01', 'review', NULL, NULL, 'level_694a7537a845a', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-23 10:59:19'),
('cal_d2d03c11-7fc', 'batch_001', '2026-01-21', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 07:30:05'),
('cal_d2f879c7-2b8', 'formation_695291af61907', '2025-12-28', 'review', NULL, 'phase_694c1771369be', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-31 15:27:09'),
('cal_d4ada84a-7e9', 'formation_6952b7203e634', '2026-01-14', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-29 17:20:40'),
('cal_d4b1184a-b77', 'formation_6952b59935e2d', '2026-01-10', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2025-12-29 17:09:04'),
('cal_d7da3c7f-2e1', 'formation_6956a4f26c890', '2026-02-25', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2026-01-03 17:04:13'),
('cal_d8058f51-81c', 'formation_694a75db62fde', '2026-01-10', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 10:59:19'),
('cal_da1e813c-d3a', 'formation_695291af61907', '2026-01-08', 'level_test', NULL, NULL, 'level_694c173f2c2eb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-31 15:27:09'),
('cal_daf1d8f4-e39', 'formation_694a75db62fde', '2025-12-29', 'phase_test', NULL, 'phase_694a755d9399a', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-23 10:59:19'),
('cal_dca22744-cc0', 'formation_6956a4f26c890', '2026-01-31', 'phase_test', NULL, 'phase_694e75feea13d', NULL, 'اختبار المرحلة (مدخل إلى علوم الشريعة)', 'اختبار المرحلة', 1, '2026-01-03 17:04:13'),
('cal_dcc27d37-d69', 'formation_69529c663190a', '2025-12-31', 'session', 'seance_694e795034ac3', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 3 (صفحة 54-77)', 'الدرس 3 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_ddc83e19-a54', 'formation_694a462214da6', '2025-01-23', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 08:21:33'),
('cal_dddb58d7-8e2', 'batch_001', '2026-01-05', 'level_test', NULL, NULL, 'level_69483dc6977bb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 07:30:05'),
('cal_de915199-d0c', 'formation_694c1d6983df7', '2025-12-30', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-24 17:14:34'),
('cal_df171bda-5e1', 'formation_694a3ee959ef6', '2026-01-12', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:04:59'),
('cal_dfb14669-1cd', 'formation_695291af61907', '2026-01-03', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-31 15:27:09'),
('cal_e1cc5cd5-253', 'formation_6952b59935e2d', '2026-01-20', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-29 17:09:04');
INSERT INTO `v2_formation_calendar_events` (`id`, `formation_id`, `date`, `event_type`, `seance_id`, `phase_id`, `level_id`, `title`, `description`, `is_active`, `created_at`) VALUES
('cal_e1cda7ae-6cd', 'formation_6952b7203e634', '2026-01-01', 'session', 'seance_694e790424089', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 1 (صفحة 13-36)', 'الدرس 1 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_e227cb65-df0', 'formation_694a462214da6', '2025-02-01', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 08:21:33'),
('cal_e394b87e-eda', 'formation_695291af61907', '2025-12-30', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-31 15:27:09'),
('cal_e6fa552e-ece', 'formation_6952b7203e634', '2026-01-13', 'review', NULL, 'phase_694e75feea13d', NULL, 'مراجعة اختبار المرحلة (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-29 17:20:40'),
('cal_e7236fdf-3d0', 'formation_694c1d6983df7', '2026-01-08', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:14:34'),
('cal_e76cd378-dd8', 'formation_694c27d1a9c6e', '2026-01-04', 'review', NULL, NULL, 'level_694c173f2c2eb', 'مراجعة اختبار المستوى (المستوى الأول)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-24 17:51:56'),
('cal_e9f00d89-14d', 'formation_6956a4f26c890', '2026-03-16', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2026-01-03 17:04:13'),
('cal_eb2024c3-e25', 'formation_6956a4f26c890', '2026-02-11', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2026-01-03 17:04:13'),
('cal_eb216e40-b2b', 'formation_694a462214da6', '2025-01-09', 'phase_test', NULL, 'phase_001', NULL, 'اختبار المرحلة (المرحلة 1: العقيدة الصحيحة)', 'اختبار المرحلة', 1, '2025-12-23 08:21:33'),
('cal_ebccd502-92d', 'formation_694a462214da6', '2025-01-28', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-23 08:21:33'),
('cal_ebf89cd5-c00', 'formation_6952b7203e634', '2026-01-12', 'session', 'seance_694e79cae8801', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 8 (صفحة 161-187)', 'الدرس 8 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_ec55ee65-2d3', 'formation_6956a4f26c890', '2026-01-05', 'session', 'seance_694e79243c9bb', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة 2 (صفحة 37-53)', 'الحصة 2 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_ecfb119c-145', 'formation_694c1d6983df7', '2026-01-14', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:14:34'),
('cal_ef553b6d-e73', 'formation_6952b59935e2d', '2026-01-06', 'session', 'seance_694e79cae8801', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 8 (صفحة 161-187)', 'الدرس 8 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_ef5a597a-3c4', 'formation_6952b59935e2d', '2026-01-05', 'session', 'seance_694e79b45a085', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 7 (صفحة 140-160)', 'الدرس 7 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:09:04'),
('cal_ef84a2c1-754', 'formation_6952b7203e634', '2026-02-04', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:20:40'),
('cal_efdc637d-f25', 'formation_694c1d6983df7', '2026-01-07', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-24 17:14:34'),
('cal_f1507e2d-472', 'formation_694a75db62fde', '2026-01-08', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 10:59:19'),
('cal_f1592c02-f7b', 'formation_694a3ee959ef6', '2025-12-28', 'phase_test', NULL, 'phase_69484008ac1f3', NULL, 'اختبار المرحلة (المرحلة الأولة)', 'اختبار المرحلة', 1, '2025-12-23 07:04:59'),
('cal_f1b4da72-c74', 'formation_6956a4f26c890', '2026-01-03', 'session', 'seance_694e790424089', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الحصة  1 (صفحة 13-36)', 'الحصة  1 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2026-01-03 17:04:13'),
('cal_f1c4f0b2-373', 'formation_6952b59935e2d', '2026-01-29', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:09:04'),
('cal_f1de27c8-16e', 'formation_6952b59935e2d', '2026-01-28', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:09:04'),
('cal_f272cb24-7d1', 'formation_6952b7203e634', '2026-02-06', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 17:20:40'),
('cal_f2990f44-1c4', 'formation_695291af61907', '2026-01-15', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-31 15:27:09'),
('cal_f35b3115-fc2', 'batch_001', '2026-01-04', 'level_test', NULL, NULL, 'level_69483dc6977bb', 'اختبار المستوى (المستوى الأول)', 'اختبار المستوى', 1, '2025-12-23 07:30:05'),
('cal_f3902731-e02', 'formation_69529c663190a', '2026-01-15', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-29 15:21:22'),
('cal_f43777b8-6f2', 'formation_694a462214da6', '2025-01-01', 'session', 'seance_001', 'phase_001', 'level_001', 'معنى لا إله إلا الله (صفحة 5-15)', 'معنى لا إله إلا الله - الدرس 1: كتاب التوحيد - المرحلة 1: العقيدة الصحيحة - المستوى الأول: التأسيس العقدي والعبادي', 1, '2025-12-23 08:21:33'),
('cal_f4d2723e-d51', 'formation_69529c663190a', '2026-01-24', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 15:21:22'),
('cal_f66a4b4f-332', 'formation_6952b7203e634', '2026-01-26', 'level_test', NULL, NULL, 'level_694e75e5ee032', 'اختبار المستوى (مدخل إلى علوم الشريعة)', 'اختبار المستوى', 1, '2025-12-29 17:20:40'),
('cal_f6ac3f7f-44d', 'formation_694a462214da6', '2025-01-02', 'session', 'seance_002', 'phase_001', 'level_001', 'أنواع التوحيد والشرك (صفحة 16-35)', 'أنواع التوحيد والشرك - الدرس 1: كتاب التوحيد - المرحلة 1: العقيدة الصحيحة - المستوى الأول: التأسيس العقدي والعبادي', 1, '2025-12-23 08:21:33'),
('cal_f6b377f2-8aa', 'formation_6952b59935e2d', '2026-01-14', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-29 17:09:04'),
('cal_f6fca15a-ab2', 'formation_6952b59935e2d', '2026-01-31', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:09:04'),
('cal_f7aa0892-c0b', 'formation_69529c663190a', '2026-01-04', 'session', 'seance_694e799815ad6', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 6 (صفحة 121-139)', 'الدرس 6 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 15:21:22'),
('cal_f7f2f2f5-54e', 'formation_694c1d6983df7', '2025-12-31', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المرحلة', 'راحة', 1, '2025-12-24 17:14:34'),
('cal_f88a3f51-db6', 'batch_001', '2026-01-07', 'holiday', NULL, NULL, NULL, 'يوم راحة بعد اختبار المستوى', 'راحة', 1, '2025-12-23 07:30:05'),
('cal_f940394e-b94', 'formation_6952b7203e634', '2026-01-22', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2025-12-29 17:20:40'),
('cal_f9d8dd17-d11', 'formation_6956a4f26c890', '2026-02-28', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2026-01-03 17:04:13'),
('cal_fa05d32c-352', 'formation_694a3ee959ef6', '2026-01-08', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 07:04:59'),
('cal_fa34c790-aeb', 'formation_694c27d1a9c6e', '2026-01-17', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-24 17:51:56'),
('cal_fa38709c-479', 'formation_694c1d6983df7', '2025-12-27', 'review', NULL, 'phase_694c1771369be', NULL, 'مراجعة اختبار المرحلة (المرحلة الأولى)', 'يوم مراجعة قبل اختبار المرحلة', 1, '2025-12-24 17:14:34'),
('cal_fac3e4f6-722', 'formation_69529c663190a', '2026-01-28', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-29 15:21:22'),
('cal_fb5f7504-8ec', 'formation_694a3ee959ef6', '2025-12-29', 'phase_test', NULL, 'phase_69484008ac1f3', NULL, 'اختبار المرحلة (المرحلة الأولة)', 'اختبار المرحلة', 1, '2025-12-23 07:04:59'),
('cal_fc39cd84-5c5', 'formation_695291af61907', '2026-01-13', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-31 15:27:09'),
('cal_fd054bc9-0ac', 'formation_6952b7203e634', '2026-01-02', 'session', 'seance_694e79243c9bb', 'phase_694e75feea13d', 'level_694e75e5ee032', 'الدرس 2 (صفحة 37-53)', 'الدرس 2 - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة - مدخل إلى علوم الشريعة', 1, '2025-12-29 17:20:40'),
('cal_fdb34a95-657', 'formation_694a75db62fde', '2026-01-11', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 10:59:19'),
('cal_fe7047da-d35', 'formation_694a462214da6', '2025-01-21', 'review', NULL, NULL, NULL, 'مراجعة الامتحان النهائي', 'يوم مراجعة قبل الامتحان النهائي', 1, '2025-12-23 08:21:33'),
('cal_ff2cf192-3b1', 'formation_694c27d1a9c6e', '2025-12-29', 'phase_test', NULL, 'phase_694c1771369be', NULL, 'اختبار المرحلة (المرحلة الأولى)', 'اختبار المرحلة', 1, '2025-12-24 17:51:56'),
('cal_ffa0b4f2-8fe', 'formation_6952b7203e634', '2026-02-11', 'final_exam', NULL, NULL, NULL, 'الامتحان النهائي', 'الامتحان النهائي للبرنامج', 1, '2025-12-29 17:20:40'),
('cal_fff0f336-eaa', 'formation_6956a4f26c890', '2026-02-04', 'review', NULL, NULL, 'level_694e75e5ee032', 'مراجعة اختبار المستوى (مدخل إلى علوم الشريعة)', 'يوم مراجعة قبل اختبار المستوى', 1, '2026-01-03 17:04:13');

-- --------------------------------------------------------

--
-- Structure de la table `v2_lessons`
--

CREATE TABLE `v2_lessons` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `phase_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم الدرس',
  `name_ar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `pdf_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'PDF الدرس الرئيسي',
  `order_index` int NOT NULL DEFAULT '1',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_lessons`
--

INSERT INTO `v2_lessons` (`id`, `phase_id`, `name`, `name_ar`, `description`, `pdf_url`, `order_index`, `is_active`, `created_at`, `updated_at`) VALUES
('lesson_694c1ad96823d', 'phase_694c1771369be', 'الدرس الأول', 'الدرس الأول', 'وصف الدرس الأول', '/uploads/68978cc296fbe.pdf', 1, 1, '2025-12-24 16:54:49', '2025-12-24 16:54:49'),
('lesson_694c1cc0050f4', 'phase_694c1771369be', 'الدرس الأول', 'الدرس الأول', 'وصف الدرس الأول', 'uploads/materials/file_694c1a9d73ec7.pdf', 1, 1, '2025-12-24 17:02:56', '2025-12-24 17:02:56'),
('lesson_694c29e3812bf', 'phase_694c1771369be', 'test', 'test', '', 'uploads/materials/file_694c1a9d73ec7.pdf', 1, 1, '2025-12-24 17:58:59', '2025-12-24 17:58:59'),
('lesson_694e7697d79d4', 'phase_694e75feea13d', 'مدخل إلى علوم الشريعة', 'مدخل إلى علوم الشريعة', '', 'uploads/materials/file_694e766049eda.pdf', 1, 1, '2025-12-26 11:50:47', '2025-12-26 11:50:47'),
('lesson_6957d2a1a42d9', 'phase_6957d24531052', 'الدرس 1', 'الدرس 1', 'الدرس 1', 'uploads/materials/file_6957d27ab43ff.pdf', 1, 1, '2026-01-02 14:13:53', '2026-01-02 14:13:53');

-- --------------------------------------------------------

--
-- Structure de la table `v2_levels`
--

CREATE TABLE `v2_levels` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `program_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم المستوى',
  `name_ar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `order_index` int NOT NULL DEFAULT '1',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_levels`
--

INSERT INTO `v2_levels` (`id`, `program_id`, `name`, `name_ar`, `description`, `order_index`, `is_active`, `created_at`, `updated_at`) VALUES
('level_694c173f2c2eb', 'prog_694c172a55cb8', 'المستوى الأول', 'المستوى الأول', 'وصف المستوى الأول', 1, 1, '2025-12-24 16:39:27', '2025-12-24 16:39:27'),
('level_694c1754568a7', 'prog_694c172a55cb8', 'المستوى الثاني', 'المستوى الثاني', 'وصف المستوى الثاني', 2, 1, '2025-12-24 16:39:48', '2025-12-24 16:39:48'),
('level_694e75e5ee032', 'prog_694e75c193e7f', 'مدخل إلى علوم الشريعة', 'مدخل إلى علوم الشريعة', '', 1, 1, '2025-12-26 11:47:49', '2025-12-26 11:47:49'),
('level_6957d236b1cbd', 'prog_6957d1a776670', 'المستوى 1', 'المستوى 1', 'المستوى 1', 1, 1, '2026-01-02 14:12:06', '2026-01-02 14:12:06');

-- --------------------------------------------------------

--
-- Structure de la table `v2_materials`
--

CREATE TABLE `v2_materials` (
  `id` varchar(36) NOT NULL,
  `folder_id` varchar(36) DEFAULT NULL,
  `title` varchar(255) NOT NULL,
  `type` enum('pdf','audio','video') NOT NULL,
  `url` varchar(500) NOT NULL,
  `original_filename` varchar(255) DEFAULT NULL,
  `file_size` int DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `v2_materials`
--

INSERT INTO `v2_materials` (`id`, `folder_id`, `title`, `type`, `url`, `original_filename`, `file_size`, `is_active`, `created_at`) VALUES
('mat_694a6d387a782', 'folder_694a52ef81c8c', 'وليد الحلو', 'video', 'https://www.youtube.com/watch?v=tPNbTHzyryE', '', 0, 1, '2025-12-23 10:21:44'),
('mat_694a8cfbeea15', 'folder_694a52ef81c8c', 'salem test', 'pdf', 'uploads/materials/file_694a8cfbee2ad.pdf', '136.pdf', 166668, 1, '2025-12-23 12:37:15'),
('mat_694a8feb6a670', NULL, 'ok ok ', 'audio', 'uploads/materials/file_694a8feb6a4b6.mp3', 'ok.mp3', 0, 1, '2025-12-23 12:49:47'),
('mat_694c2762c5d8a', 'folder_694c1a41ecc13', 'test', 'pdf', 'uploads/materials/file_694c2762c574f.pdf', '210.pdf', 166946, 1, '2025-12-24 17:48:18'),
('mat_694e76604cac8', 'folder_694c1a41ecc13', 'مدخل إلى علوم الشريعة', 'pdf', 'uploads/materials/file_694e766049eda.pdf', 'مدخل إلى علوم الشريعة (1).pdf', 5095911, 1, '2025-12-26 11:49:52'),
('mat_6957d27ab667d', 'folder_6957d26d74a85', 'Malcolm-Gladwell-Outliers', 'pdf', 'uploads/materials/file_6957d27ab43ff.pdf', 'Malcolm-Gladwell-Outliers.pdf', 3943668, 1, '2026-01-02 14:13:14'),
('mat_6958b4081944b', 'folder_6958b3ea677c8', '13-36', 'pdf', 'uploads/materials/file_6958b4081872f.pdf', 'file_694e766049eda-13-36.pdf', 1079500, 1, '2026-01-03 06:15:36'),
('mat_6958b41d20eaf', 'folder_6958b3ea677c8', '37-53', 'pdf', 'uploads/materials/file_6958b41d20273.pdf', 'file_694e766049eda-37-53.pdf', 1086482, 1, '2026-01-03 06:15:57'),
('mat_6958b42b5c3bc', 'folder_6958b3ea677c8', '54-77', 'pdf', 'uploads/materials/file_6958b42b5b815.pdf', 'file_694e766049eda-54-77.pdf', 1089600, 1, '2026-01-03 06:16:11'),
('mat_6958b43b7dc01', 'folder_6958b3ea677c8', '78-99', 'pdf', 'uploads/materials/file_6958b43b7d206.pdf', 'file_694e766049eda-78-99.pdf', 835120, 1, '2026-01-03 06:16:27'),
('mat_6958b44a76fed', 'folder_6958b3ea677c8', '100-120', 'pdf', 'uploads/materials/file_6958b44a76675.pdf', 'file_694e766049eda-100-120.pdf', 763734, 1, '2026-01-03 06:16:42'),
('mat_6958b45bafa67', 'folder_6958b3ea677c8', '121-139', 'pdf', 'uploads/materials/file_6958b45baef53.pdf', 'file_694e766049eda-121-139.pdf', 1010191, 1, '2026-01-03 06:16:59'),
('mat_6958b469ae8d7', 'folder_6958b3ea677c8', '140-160', 'pdf', 'uploads/materials/file_6958b469adf8a.pdf', 'file_694e766049eda-140-160.pdf', 834940, 1, '2026-01-03 06:17:13'),
('mat_6958b476604fa', 'folder_6958b3ea677c8', '161-187', 'pdf', 'uploads/materials/file_6958b4765f9eb.pdf', 'file_694e766049eda-161-187.pdf', 826683, 1, '2026-01-03 06:17:26'),
('mat_695901bc2ed6b', 'folder_694c1a41ecc13', 'صوت1', 'audio', 'uploads/materials/file_695901bc2bf02.wav', 'تنزيل (6).wav', 6142650, 1, '2026-01-03 11:47:08'),
('mat_695901ec6b673', 'folder_694c1a41ecc13', 'صوت2', 'audio', 'uploads/materials/file_695901ec6af46.mp3', '3.mp3', 233221, 1, '2026-01-03 11:47:56'),
('mat_69595eb18bdd8', 'folder_694c1a41ecc13', 'مدخل إلى علوم الشريعة', 'video', 'https://www.youtube.com/watch?v=c-obmLebTt4', '', 0, 1, '2026-01-03 18:23:45');

-- --------------------------------------------------------

--
-- Structure de la table `v2_material_folders`
--

CREATE TABLE `v2_material_folders` (
  `id` varchar(36) NOT NULL,
  `name` varchar(255) NOT NULL,
  `parent_id` varchar(36) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `v2_material_folders`
--

INSERT INTO `v2_material_folders` (`id`, `name`, `parent_id`, `created_at`) VALUES
('folder_694a52dc3915c', 'java', NULL, '2025-12-23 08:29:16'),
('folder_694a52e3ab249', 'autres', NULL, '2025-12-23 08:29:23'),
('folder_694a52ef81c8c', 'springboot', 'folder_694a52dc3915c', '2025-12-23 08:29:35'),
('folder_694c19ca26cd8', 'برنامج التجويد ', NULL, '2025-12-24 16:50:18'),
('folder_694c1a41ecc13', 'مدخل إلى علوم الشريعة', NULL, '2025-12-24 16:52:17'),
('folder_6957d26d74a85', 'Malcolm-Gladwell-Outliers', NULL, '2026-01-02 14:13:01'),
('folder_6958b3ea677c8', 'حصص مدخل إلى علوم الشريعة', 'folder_694c1a41ecc13', '2026-01-03 06:15:06');

-- --------------------------------------------------------

--
-- Structure de la table `v2_non_working_periods`
--

CREATE TABLE `v2_non_working_periods` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم العطلة',
  `start_date` date NOT NULL,
  `end_date` date NOT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `v2_notifications`
--

CREATE TABLE `v2_notifications` (
  `id` varchar(36) NOT NULL,
  `student_id` varchar(36) NOT NULL,
  `type` enum('info','success','warning','reminder') DEFAULT 'info',
  `title` varchar(255) NOT NULL,
  `message` text,
  `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `is_read` tinyint(1) DEFAULT '0',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ;

-- --------------------------------------------------------

--
-- Structure de la table `v2_phases`
--

CREATE TABLE `v2_phases` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `level_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم المرحلة',
  `name_ar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `order_index` int NOT NULL DEFAULT '1',
  `has_test` tinyint(1) DEFAULT '1' COMMENT 'اختبار المرحلة',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_phases`
--

INSERT INTO `v2_phases` (`id`, `level_id`, `name`, `name_ar`, `description`, `order_index`, `has_test`, `is_active`, `created_at`, `updated_at`) VALUES
('phase_694c1771369be', 'level_694c173f2c2eb', 'المرحلة الأولى', 'المرحلة الأولى', 'وصف المرحلة الأولى', 1, 1, 1, '2025-12-24 16:40:17', '2025-12-24 16:40:17'),
('phase_694e75feea13d', 'level_694e75e5ee032', 'مدخل إلى علوم الشريعة', 'مدخل إلى علوم الشريعة', '', 1, 0, 1, '2025-12-26 11:48:14', '2025-12-26 11:48:14'),
('phase_6957d24531052', 'level_6957d236b1cbd', 'المرحلة  1', 'المرحلة  1', 'المرحلة 1', 1, 1, 1, '2026-01-02 14:12:21', '2026-01-02 14:12:21');

-- --------------------------------------------------------

--
-- Structure de la table `v2_programs`
--

CREATE TABLE `v2_programs` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم البرنامج',
  `name_ar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'الاسم بالعربية',
  `description` text COLLATE utf8mb4_unicode_ci,
  `thumbnail` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `order_index` int DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_programs`
--

INSERT INTO `v2_programs` (`id`, `name`, `name_ar`, `description`, `thumbnail`, `is_active`, `order_index`, `created_at`, `updated_at`) VALUES
('prog_694c172a55cb8', 'منهجية التميز', 'منهجية التميز', 'وصف منهجية التميز', NULL, 1, 2, '2025-12-24 16:39:06', '2025-12-26 11:47:23'),
('prog_694e75c193e7f', 'مدخل إلى علوم الشريعة', 'مدخل إلى علوم الشريعة', 'برنامج لدراسة كتاب مدخل إلى علوم الشرعية للشيخ د.عبدالرحمن بن عبدالعزيز العقل', NULL, 1, 1, '2025-12-26 11:47:13', '2025-12-26 11:47:13'),
('prog_6957d1a776670', 'test pdfs seances', 'test pdfs seances', 'test pdfs seances', NULL, 1, 3, '2026-01-02 14:09:43', '2026-01-02 14:09:43'),
('prog_695e391ab6e99', 'test semah', 'test semah', '', NULL, 1, 10, '2026-01-07 10:44:42', '2026-01-07 10:44:42');

-- --------------------------------------------------------

--
-- Structure de la table `v2_quiz_questions`
--

CREATE TABLE `v2_quiz_questions` (
  `id` varchar(36) NOT NULL,
  `quiz_id` varchar(36) DEFAULT NULL,
  `training_test_id` varchar(36) DEFAULT NULL,
  `question` text NOT NULL,
  `type` enum('mcq','true_false','short_text') DEFAULT 'mcq',
  `options` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `correct_answer` varchar(500) NOT NULL,
  `order_index` int DEFAULT '0',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

-- --------------------------------------------------------

--
-- Structure de la table `v2_quiz_results`
--

CREATE TABLE `v2_quiz_results` (
  `id` varchar(36) NOT NULL,
  `quiz_id` varchar(36) NOT NULL,
  `student_id` varchar(36) NOT NULL,
  `score` decimal(5,2) NOT NULL,
  `correct_answers` int NOT NULL,
  `total_questions` int NOT NULL,
  `passed` tinyint(1) NOT NULL,
  `time_spent_seconds` int NOT NULL,
  `user_answers` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `completed_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ;

-- --------------------------------------------------------

--
-- Structure de la table `v2_reviews`
--

CREATE TABLE `v2_reviews` (
  `id` varchar(36) NOT NULL,
  `formation_id` varchar(36) NOT NULL,
  `student_id` varchar(36) NOT NULL,
  `rating` decimal(3,2) NOT NULL,
  `comment` text,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Structure de la table `v2_seances`
--

CREATE TABLE `v2_seances` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `lesson_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `pdf_file_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'اسم الحصة',
  `name_ar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `start_page` int DEFAULT NULL COMMENT 'الصفحة الأولى',
  `end_page` int DEFAULT NULL COMMENT 'الصفحة الأخيرة',
  `pdf_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `duration_minutes` int DEFAULT '30',
  `order_index` int NOT NULL DEFAULT '1',
  `has_quiz` tinyint(1) DEFAULT '1',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_seances`
--

INSERT INTO `v2_seances` (`id`, `lesson_id`, `pdf_file_id`, `name`, `name_ar`, `description`, `start_page`, `end_page`, `pdf_url`, `duration_minutes`, `order_index`, `has_quiz`, `is_active`, `created_at`, `updated_at`) VALUES
('seance_694e790424089', 'lesson_694e7697d79d4', 'mat_6958b4081944b', 'الحصة  1', 'الدرس 1', 'الحصة  1', 13, 36, 'uploads/materials/file_6958b4081872f.pdf', 30, 1, 1, 1, '2025-12-26 12:01:08', '2026-01-03 09:58:11'),
('seance_694e79243c9bb', 'lesson_694e7697d79d4', 'mat_6958b41d20eaf', 'الحصة 2', 'الدرس 2', 'الحصة 2', 37, 53, 'uploads/materials/file_6958b41d20273.pdf', 30, 2, 1, 1, '2025-12-26 12:01:40', '2026-01-03 08:40:53'),
('seance_694e795034ac3', 'lesson_694e7697d79d4', 'mat_6958b42b5c3bc', 'الحصة 3', 'الدرس 3', 'الحصة 3', 54, 77, 'uploads/materials/file_6958b42b5b815.pdf', 30, 3, 1, 1, '2025-12-26 12:02:24', '2026-01-03 08:49:36'),
('seance_694e7969548d8', 'lesson_694e7697d79d4', 'mat_6958b43b7dc01', 'الحصة 4', 'الدرس 4', 'الحصة 4', 78, 99, 'uploads/materials/file_6958b43b7d206.pdf', 30, 4, 1, 1, '2025-12-26 12:02:49', '2026-01-03 08:52:12'),
('seance_694e79820773d', 'lesson_694e7697d79d4', 'mat_6958b44a76fed', 'الحصة 5', 'الدرس 5', 'الحصة 5', 100, 120, 'uploads/materials/file_6958b44a76675.pdf', 30, 5, 1, 1, '2025-12-26 12:03:14', '2026-01-03 08:52:43'),
('seance_694e799815ad6', 'lesson_694e7697d79d4', 'mat_6958b45bafa67', 'الحصة 6', 'الدرس 6', 'الحصة 6', 121, 139, 'uploads/materials/file_6958b45baef53.pdf', 30, 6, 1, 1, '2025-12-26 12:03:36', '2026-01-03 08:53:01'),
('seance_694e79b45a085', 'lesson_694e7697d79d4', 'mat_6958b469ae8d7', 'الحصة 7', 'الدرس 7', 'الحصة 7', 140, 160, 'uploads/materials/file_6958b469adf8a.pdf', 30, 7, 1, 1, '2025-12-26 12:04:04', '2026-01-03 08:53:19'),
('seance_694e79cae8801', 'lesson_694e7697d79d4', 'mat_6958b476604fa', 'الحصة 8', 'الدرس 8', 'الحصة 8', 161, 187, 'uploads/materials/file_6958b4765f9eb.pdf', 30, 8, 1, 1, '2025-12-26 12:04:26', '2026-01-03 08:53:36');

-- --------------------------------------------------------

--
-- Structure de la table `v2_seance_materials`
--

CREATE TABLE `v2_seance_materials` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `seance_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `file_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `type` enum('pdf','video','audio') COLLATE utf8mb4_unicode_ci NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `duration_seconds` int DEFAULT NULL COMMENT 'للفيديو والصوت',
  `is_main` tinyint(1) DEFAULT '0' COMMENT 'المحتوى الرئيسي',
  `order_index` int DEFAULT '1',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_seance_materials`
--

INSERT INTO `v2_seance_materials` (`id`, `seance_id`, `file_id`, `type`, `title`, `url`, `duration_seconds`, `is_main`, `order_index`, `is_active`, `created_at`) VALUES
('seance_mat_695902bf813cd', 'seance_694e790424089', 'mat_695901bc2ed6b', 'audio', 'صوت1', 'uploads/materials/file_695901bc2bf02.wav', NULL, 0, 1, 1, '2026-01-03 11:51:27'),
('seance_mat_695902df6798b', 'seance_694e79243c9bb', 'mat_695901ec6b673', 'audio', 'صوت2', 'uploads/materials/file_695901ec6af46.mp3', NULL, 0, 1, 1, '2026-01-03 11:51:59'),
('seance_mat_695902f007836', 'seance_694e795034ac3', 'mat_695901ec6b673', 'audio', 'صوت2', 'uploads/materials/file_695901ec6af46.mp3', NULL, 0, 1, 1, '2026-01-03 11:52:16'),
('seance_mat_695903062e422', 'seance_694e7969548d8', 'mat_6959028a4faa3', 'video', 'فيديو1', 'https://youtu.be/c-obmLebTt4?si=x4ZiBG4DWgl3wGyU', NULL, 0, 1, 1, '2026-01-03 11:52:38'),
('seance_mat_6959031707bb1', 'seance_694e79820773d', 'mat_695901ec6b673', 'audio', 'صوت2', 'uploads/materials/file_695901ec6af46.mp3', NULL, 0, 1, 1, '2026-01-03 11:52:55'),
('seance_mat_6959032626397', 'seance_694e799815ad6', 'mat_6959028a4faa3', 'video', 'فيديو1', 'https://youtu.be/c-obmLebTt4?si=x4ZiBG4DWgl3wGyU', NULL, 0, 1, 1, '2026-01-03 11:53:10'),
('seance_mat_6959033cd619a', 'seance_694e79b45a085', 'mat_695901ec6b673', 'audio', 'صوت2', 'uploads/materials/file_695901ec6af46.mp3', NULL, 0, 1, 1, '2026-01-03 11:53:32'),
('seance_mat_69590352028df', 'seance_694e79cae8801', 'mat_6959028a4faa3', 'video', 'فيديو1', 'https://youtu.be/c-obmLebTt4?si=x4ZiBG4DWgl3wGyU', NULL, 0, 1, 1, '2026-01-03 11:53:54'),
('seance_mat_69595ed9b5848', 'seance_694e790424089', 'mat_69595eb18bdd8', 'video', 'مدخل إلى علوم الشريعة', 'https://www.youtube.com/watch?v=c-obmLebTt4', NULL, 0, 2, 1, '2026-01-03 18:24:25');

-- --------------------------------------------------------

--
-- Structure de la table `v2_seance_material_links`
--

CREATE TABLE `v2_seance_material_links` (
  `id` varchar(36) NOT NULL,
  `seance_id` varchar(36) NOT NULL,
  `material_id` varchar(36) NOT NULL,
  `order_index` int DEFAULT '1',
  `is_main` tinyint(1) DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------

--
-- Structure de la table `v2_seance_quizzes`
--

CREATE TABLE `v2_seance_quizzes` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `seance_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'اختبار الحصة',
  `description` text COLLATE utf8mb4_unicode_ci,
  `time_minutes` int DEFAULT '10',
  `duration_minutes` int DEFAULT '15',
  `question_count` int DEFAULT '10',
  `passing_score` int DEFAULT '70',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_seance_quizzes`
--

INSERT INTO `v2_seance_quizzes` (`id`, `seance_id`, `title`, `description`, `time_minutes`, `duration_minutes`, `question_count`, `passing_score`, `is_active`, `created_at`) VALUES
('quiz_6954b0e911e7d', 'seance_694e790424089', 'اختبار 1', '', 10, 10, 10, 50, 1, '2025-12-31 05:13:13');

-- --------------------------------------------------------

--
-- Structure de la table `v2_seance_quiz_questions`
--

CREATE TABLE `v2_seance_quiz_questions` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `quiz_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_text` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_type` enum('multiple_choice','true_false') COLLATE utf8mb4_unicode_ci DEFAULT 'multiple_choice',
  `correct_answer` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `wrong_answer_1` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `wrong_answer_2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `wrong_answer_3` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `order_index` int DEFAULT '1',
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `v2_student_answers`
--

CREATE TABLE `v2_student_answers` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `assignment_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `selected_answer` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
  `correct_answer` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
  `is_correct` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `v2_student_assessments`
--

CREATE TABLE `v2_student_assessments` (
  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `student_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `assessment_type` enum('seance_quiz','phase_test','level_test','final_exam') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `seance_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `phase_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `level_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `formation_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `questions_json` json NOT NULL,
  `question_count` int NOT NULL,
  `page_range_start` int DEFAULT NULL,
  `page_range_end` int DEFAULT NULL,
  `file_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `score` decimal(5,2) DEFAULT NULL,
  `correct_answers` int DEFAULT NULL,
  `passing_score` int NOT NULL,
  `passed` tinyint(1) DEFAULT NULL,
  `time_limit_minutes` int NOT NULL,
  `time_spent_seconds` int DEFAULT NULL,
  `status` enum('pending','in_progress','completed','expired') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'pending',
  `attempt_number` int DEFAULT '1',
  `started_at` datetime DEFAULT NULL,
  `completed_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_student_assessments`
--

INSERT INTO `v2_student_assessments` (`id`, `student_id`, `assessment_type`, `seance_id`, `phase_id`, `level_id`, `formation_id`, `questions_json`, `question_count`, `page_range_start`, `page_range_end`, `file_id`, `score`, `correct_answers`, `passing_score`, `passed`, `time_limit_minutes`, `time_spent_seconds`, `status`, `attempt_number`, `started_at`, `completed_at`, `created_at`) VALUES
('quiz_6961349d19715', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'seance_quiz', 'seance_694e790424089', NULL, NULL, NULL, '[\"bq_69528cbc0d38a\", \"bq_69528cbc0c083\", \"bq_69528cbc0e6de\", \"bq_69528cbc1e262\", \"bq_69528cbc0d639\", \"bq_694c273818a34\", \"bq_69528cbc0c89a\", \"bq_69528cbc1b58c\", \"bq_69528cbc0e981\", \"bq_69528cbc0e3aa\"]', 10, 13, 36, NULL, 50.00, 5, 60, 0, 0, NULL, 'completed', 1, '2026-01-09 18:02:21', '2026-01-09 19:09:43', '2026-01-09 17:02:21'),
('quiz_696143be78d4d', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'seance_quiz', 'seance_694e79243c9bb', NULL, NULL, NULL, '[\"bq_69528cbc10937\", \"bq_69528cbc0f73c\", \"bq_69528cbc0fd37\", \"bq_69528cbc0f1b9\", \"bq_69528cbc10c6f\", \"bq_69528cbc0ef37\", \"bq_69528cbc0f4c7\", \"bq_69528cbc1ee9a\", \"bq_69528cbc10479\", \"bq_69528cbc1e69a\"]', 10, 37, 53, NULL, 70.00, 7, 60, 1, 0, NULL, 'completed', 1, '2026-01-09 19:06:54', '2026-01-09 19:07:29', '2026-01-09 18:06:54'),
('quiz_6961468dcf045', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'seance_quiz', 'seance_694e795034ac3', NULL, NULL, NULL, '[\"bq_69528cbc11c69\", \"bq_69528cbc121aa\", \"bq_69528cbc12d62\", \"bq_69528cbc11176\", \"bq_69528cbc124e4\", \"bq_69528cbc12765\", \"bq_69528cbc11662\", \"bq_69528cbc12fe0\", \"bq_69528cbc1c1ea\", \"bq_69528cbc134f6\"]', 10, 54, 77, NULL, NULL, NULL, 60, NULL, 0, NULL, 'in_progress', 1, '2026-01-09 19:18:53', NULL, '2026-01-09 18:18:53'),
('quiz_6962750096ce0', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'seance_quiz', 'seance_694e7969548d8', NULL, NULL, NULL, '[\"bq_69528cbc14390\", \"bq_69528cbc15a1f\", \"bq_69528cbc140ff\", \"bq_69528cbc15658\", \"bq_69528cbc171ee\", \"bq_69528cbc14db3\", \"bq_69528cbc15074\", \"bq_69528cbc160be\", \"bq_69528cbc14ad2\", \"bq_69528cbc16934\"]', 10, 78, 99, NULL, NULL, NULL, 60, NULL, 0, NULL, 'in_progress', 1, '2026-01-10 16:49:20', NULL, '2026-01-10 15:49:20');

-- --------------------------------------------------------

--
-- Structure de la table `v2_student_assessment_answers`
--

CREATE TABLE `v2_student_assessment_answers` (
  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `assessment_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_order` int NOT NULL,
  `student_answer` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_correct` tinyint(1) DEFAULT NULL,
  `answered_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_student_assessment_answers`
--

INSERT INTO `v2_student_assessment_answers` (`id`, `assessment_id`, `question_id`, `question_order`, `student_answer`, `is_correct`, `answered_at`, `created_at`) VALUES
('ans_696143e180bfb', 'quiz_696143be78d4d', 'bq_69528cbc0ef37', 1, 'a', 1, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e1816f3', 'quiz_696143be78d4d', 'bq_69528cbc0f1b9', 2, 'a', 1, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e181c25', 'quiz_696143be78d4d', 'bq_69528cbc0f4c7', 3, 'a', 1, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e181fcb', 'quiz_696143be78d4d', 'bq_69528cbc0f73c', 4, 'a', 1, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e182280', 'quiz_696143be78d4d', 'bq_69528cbc0fd37', 5, 'b', 0, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e182569', 'quiz_696143be78d4d', 'bq_69528cbc10479', 6, 'a', 1, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e18281d', 'quiz_696143be78d4d', 'bq_69528cbc10937', 7, 'b', 0, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e182b9a', 'quiz_696143be78d4d', 'bq_69528cbc10c6f', 8, 'a', 1, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e182eba', 'quiz_696143be78d4d', 'bq_69528cbc1e69a', 9, 'a', 1, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_696143e1831ac', 'quiz_696143be78d4d', 'bq_69528cbc1ee9a', 10, 'b', 0, '2026-01-09 19:07:29', '2026-01-09 18:07:29'),
('ans_69614467eea9e', 'quiz_6961349d19715', 'bq_694c273818a34', 1, 'a', 1, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467ef18b', 'quiz_6961349d19715', 'bq_69528cbc0c083', 2, 'a', 1, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467ef73d', 'quiz_6961349d19715', 'bq_69528cbc0c89a', 3, 'b', 0, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467efb55', 'quiz_6961349d19715', 'bq_69528cbc0d38a', 4, 'a', 1, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467effcc', 'quiz_6961349d19715', 'bq_69528cbc0d639', 5, 'b', 0, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467f054b', 'quiz_6961349d19715', 'bq_69528cbc0e3aa', 6, 'b', 0, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467f0a73', 'quiz_6961349d19715', 'bq_69528cbc0e6de', 7, 'b', 0, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467f0f4d', 'quiz_6961349d19715', 'bq_69528cbc0e981', 8, 'a', 1, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467f156f', 'quiz_6961349d19715', 'bq_69528cbc1b58c', 9, 'b', 0, '2026-01-09 19:09:43', '2026-01-09 18:09:43'),
('ans_69614467f19fc', 'quiz_6961349d19715', 'bq_69528cbc1e262', 10, 'a', 1, '2026-01-09 19:09:43', '2026-01-09 18:09:43');

-- --------------------------------------------------------

--
-- Structure de la table `v2_student_quiz_assignments`
--

CREATE TABLE `v2_student_quiz_assignments` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `student_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `source_type` enum('seance','test') COLLATE utf8mb4_unicode_ci NOT NULL,
  `source_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `questions_json` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `total_questions` int NOT NULL,
  `correct_count` int DEFAULT NULL,
  `score_percentage` decimal(5,2) DEFAULT NULL,
  `status` enum('assigned','submitted') COLLATE utf8mb4_unicode_ci DEFAULT 'assigned',
  `assigned_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `submitted_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `v2_student_registrations`
--

CREATE TABLE `v2_student_registrations` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `student_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `formation_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `status` enum('pending','approved','rejected','completed') COLLATE utf8mb4_unicode_ci DEFAULT 'pending',
  `enrolled_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `completed_at` timestamp NULL DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `v2_student_seance_progress`
--

CREATE TABLE `v2_student_seance_progress` (
  `id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `student_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `seance_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `registration_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` enum('not_started','in_progress','completed') COLLATE utf8mb4_unicode_ci DEFAULT 'not_started',
  `progress_percentage` decimal(5,2) DEFAULT '0.00',
  `started_at` timestamp NULL DEFAULT NULL,
  `completed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `v2_student_seance_progress`
--

INSERT INTO `v2_student_seance_progress` (`id`, `student_id`, `seance_id`, `registration_id`, `status`, `progress_percentage`, `started_at`, `completed_at`, `created_at`) VALUES
('b89113c7-4ca3-4ee5-a060-7fcb7509c9ff', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'seance_694e79243c9bb', 'dfdbd2aa-de82-4ac9-b4c9-1481125e1c73', 'completed', 100.00, '2026-01-09 17:08:16', '2026-01-09 17:08:16', '2026-01-09 18:08:16'),
('e04a3b35-42ab-4fa5-b262-f30ef9b15955', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'seance_694e790424089', 'dfdbd2aa-de82-4ac9-b4c9-1481125e1c73', 'completed', 100.00, '2026-01-09 16:21:41', '2026-01-09 16:21:41', '2026-01-09 17:21:41'),
('fd9134c2-b2d2-4746-a3cf-18d6f5ab5394', '1f12ca5a-c55d-4771-8f58-917dac893fc6', 'seance_694e795034ac3', 'dfdbd2aa-de82-4ac9-b4c9-1481125e1c73', 'completed', 100.00, '2026-01-09 17:18:54', '2026-01-09 17:18:54', '2026-01-09 18:18:54');

-- --------------------------------------------------------

--
-- Structure de la table `v2_student_tests`
--

CREATE TABLE `v2_student_tests` (
  `id` int NOT NULL,
  `student_id` varchar(36) NOT NULL,
  `test_id` varchar(36) NOT NULL,
  `status` enum('locked','available','in_progress','passed','failed') DEFAULT 'locked',
  `last_score` decimal(5,2) DEFAULT NULL,
  `attempt_count` int DEFAULT '0',
  `completed_at` datetime DEFAULT NULL,
  `last_attempt_at` datetime DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Structure de la table `v2_support_messages`
--

CREATE TABLE `v2_support_messages` (
  `id` varchar(36) NOT NULL,
  `sender_id` varchar(36) NOT NULL,
  `receiver_id` varchar(36) NOT NULL DEFAULT 'admin',
  `content` text NOT NULL,
  `is_read` tinyint(1) DEFAULT '0',
  `sent_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Structure de la table `v2_teachers`
--

CREATE TABLE `v2_teachers` (
  `id` varchar(36) NOT NULL,
  `name` varchar(255) NOT NULL,
  `avatar` varchar(500) DEFAULT NULL,
  `bio` text,
  `rating` decimal(3,2) DEFAULT '0.00',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Déchargement des données de la table `v2_teachers`
--

INSERT INTO `v2_teachers` (`id`, `name`, `avatar`, `bio`, `rating`, `created_at`, `updated_at`) VALUES
('teacher_001', 'الشيخ محمد الأمين', NULL, 'عالم وداعية إسلامي متخصص في علوم القرآن والتجويد', 4.80, '2025-12-19 16:34:19', '2025-12-19 16:34:19'),
('teacher_002', 'الشيخ عبدالرحمن السديس', 'https://picsum.photos/seed/sheikh1/200/200', 'إمام وخطيب المسجد الحرام، متخصص في التفسير والقرآن الكريم', 4.90, '2025-12-19 16:41:17', '2025-12-19 16:41:17'),
('teacher_003', 'الأستاذة فاطمة الزهراء', 'https://picsum.photos/seed/ustadha1/200/200', 'متخصصة في تعليم القرآن الكريم والتجويد للنساء', 4.80, '2025-12-19 16:41:17', '2025-12-19 16:41:17'),
('teacher_004', 'الشيخ محمد العريفي', 'https://picsum.photos/seed/sheikh2/200/200', 'داعية إسلامي ومحاضر متخصص في العقيدة والسيرة النبوية', 4.70, '2025-12-19 16:41:17', '2025-12-19 16:41:17'),
('teacher_005', 'الدكتور طارق السويدان', 'https://picsum.photos/seed/doctor1/200/200', 'مفكر إسلامي ومتخصص في التنمية الذاتية والقيادة', 4.90, '2025-12-19 16:41:17', '2025-12-19 16:41:17'),
('teacher_6952b69b56e7b', 'الشيخ عبدالرحمن بن عبدالعزيز العقل', '', '', 0.00, '2025-12-29 18:12:59', '2025-12-29 18:12:59');

-- --------------------------------------------------------

--
-- Structure de la table `v2_test_attempts`
--

CREATE TABLE `v2_test_attempts` (
  `id` varchar(36) NOT NULL,
  `test_id` varchar(36) NOT NULL,
  `student_id` varchar(36) NOT NULL,
  `score` decimal(5,2) NOT NULL,
  `correct_answers` int NOT NULL,
  `total_questions` int NOT NULL,
  `passed` tinyint(1) NOT NULL,
  `time_spent_seconds` int NOT NULL,
  `attempted_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Index pour les tables déchargées
--

--
-- Index pour la table `v2_announcements`
--
ALTER TABLE `v2_announcements`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_announcements_active` (`is_active`);

--
-- Index pour la table `v2_assessment_config`
--
ALTER TABLE `v2_assessment_config`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_formation` (`formation_id`),
  ADD KEY `idx_type` (`assessment_type`);

--
-- Index pour la table `v2_book_questions`
--
ALTER TABLE `v2_book_questions`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `v2_calendar_default_settings`
--
ALTER TABLE `v2_calendar_default_settings`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `v2_calendar_settings`
--
ALTER TABLE `v2_calendar_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_formation` (`formation_id`);

--
-- Index pour la table `v2_certificates`
--
ALTER TABLE `v2_certificates`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `certificate_number` (`certificate_number`),
  ADD KEY `formation_id` (`formation_id`),
  ADD KEY `idx_certificates_student` (`student_id`),
  ADD KEY `idx_certificates_number` (`certificate_number`);

--
-- Index pour la table `v2_countries`
--
ALTER TABLE `v2_countries`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_iso` (`iso_code`),
  ADD KEY `idx_code` (`code`),
  ADD KEY `idx_active` (`is_active`),
  ADD KEY `idx_sort_order` (`sort_order`);

--
-- Index pour la table `v2_enrollments`
--
ALTER TABLE `v2_enrollments`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uk_enrollment` (`student_id`,`formation_id`),
  ADD KEY `idx_enrollments_student` (`student_id`),
  ADD KEY `idx_enrollments_formation` (`formation_id`);

--
-- Index pour la table `v2_files`
--
ALTER TABLE `v2_files`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_type` (`type`),
  ADD KEY `idx_folder` (`folder_id`),
  ADD KEY `idx_active` (`is_active`);

--
-- Index pour la table `v2_folders`
--
ALTER TABLE `v2_folders`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_parent` (`parent_id`),
  ADD KEY `idx_active` (`is_active`);

--
-- Index pour la table `v2_formations`
--
ALTER TABLE `v2_formations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `teacher_id` (`teacher_id`),
  ADD KEY `idx_formations_type` (`type`),
  ADD KEY `idx_formations_category` (`category`),
  ADD KEY `idx_formations_active` (`is_active`);

--
-- Index pour la table `v2_formation_calendar_events`
--
ALTER TABLE `v2_formation_calendar_events`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_formation` (`formation_id`),
  ADD KEY `idx_date` (`date`),
  ADD KEY `idx_type` (`event_type`),
  ADD KEY `idx_formation_date` (`formation_id`,`date`);

--
-- Index pour la table `v2_lessons`
--
ALTER TABLE `v2_lessons`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_phase` (`phase_id`),
  ADD KEY `idx_order` (`order_index`);

--
-- Index pour la table `v2_levels`
--
ALTER TABLE `v2_levels`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_program` (`program_id`),
  ADD KEY `idx_order` (`order_index`);

--
-- Index pour la table `v2_materials`
--
ALTER TABLE `v2_materials`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_folder` (`folder_id`);

--
-- Index pour la table `v2_material_folders`
--
ALTER TABLE `v2_material_folders`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_parent` (`parent_id`);

--
-- Index pour la table `v2_non_working_periods`
--
ALTER TABLE `v2_non_working_periods`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_dates` (`start_date`,`end_date`);

--
-- Index pour la table `v2_notifications`
--
ALTER TABLE `v2_notifications`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_notifications_student` (`student_id`),
  ADD KEY `idx_notifications_read` (`is_read`);

--
-- Index pour la table `v2_phases`
--
ALTER TABLE `v2_phases`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_level` (`level_id`),
  ADD KEY `idx_order` (`order_index`);

--
-- Index pour la table `v2_programs`
--
ALTER TABLE `v2_programs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_active` (`is_active`),
  ADD KEY `idx_order` (`order_index`);

--
-- Index pour la table `v2_quiz_questions`
--
ALTER TABLE `v2_quiz_questions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_questions_quiz` (`quiz_id`),
  ADD KEY `idx_questions_test` (`training_test_id`);

--
-- Index pour la table `v2_quiz_results`
--
ALTER TABLE `v2_quiz_results`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uk_student_quiz` (`student_id`,`quiz_id`),
  ADD KEY `idx_quiz_results_student` (`student_id`),
  ADD KEY `idx_quiz_results_quiz` (`quiz_id`);

--
-- Index pour la table `v2_reviews`
--
ALTER TABLE `v2_reviews`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uk_review` (`formation_id`,`student_id`),
  ADD KEY `student_id` (`student_id`),
  ADD KEY `idx_reviews_formation` (`formation_id`);

--
-- Index pour la table `v2_seances`
--
ALTER TABLE `v2_seances`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_lesson` (`lesson_id`),
  ADD KEY `idx_order` (`order_index`);

--
-- Index pour la table `v2_seance_materials`
--
ALTER TABLE `v2_seance_materials`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_seance` (`seance_id`),
  ADD KEY `idx_type` (`type`),
  ADD KEY `idx_file` (`file_id`);

--
-- Index pour la table `v2_seance_material_links`
--
ALTER TABLE `v2_seance_material_links`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_link` (`seance_id`,`material_id`),
  ADD KEY `idx_seance` (`seance_id`),
  ADD KEY `idx_material` (`material_id`);

--
-- Index pour la table `v2_seance_quizzes`
--
ALTER TABLE `v2_seance_quizzes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_seance` (`seance_id`);

--
-- Index pour la table `v2_seance_quiz_questions`
--
ALTER TABLE `v2_seance_quiz_questions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_quiz` (`quiz_id`);

--
-- Index pour la table `v2_student_answers`
--
ALTER TABLE `v2_student_answers`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_assignment` (`assignment_id`),
  ADD KEY `idx_question` (`question_id`);

--
-- Index pour la table `v2_student_assessments`
--
ALTER TABLE `v2_student_assessments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_student` (`student_id`),
  ADD KEY `idx_type` (`assessment_type`),
  ADD KEY `idx_seance` (`seance_id`),
  ADD KEY `idx_phase` (`phase_id`),
  ADD KEY `idx_level` (`level_id`),
  ADD KEY `idx_formation` (`formation_id`),
  ADD KEY `idx_status` (`status`);

--
-- Index pour la table `v2_student_assessment_answers`
--
ALTER TABLE `v2_student_assessment_answers`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_assessment_question` (`assessment_id`,`question_id`),
  ADD KEY `idx_assessment` (`assessment_id`),
  ADD KEY `idx_question` (`question_id`);

--
-- Index pour la table `v2_student_quiz_assignments`
--
ALTER TABLE `v2_student_quiz_assignments`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_assignment` (`student_id`,`source_type`,`source_id`),
  ADD KEY `idx_student` (`student_id`),
  ADD KEY `idx_source` (`source_type`,`source_id`),
  ADD KEY `idx_status` (`status`);

--
-- Index pour la table `v2_student_registrations`
--
ALTER TABLE `v2_student_registrations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_student` (`student_id`),
  ADD KEY `idx_formation` (`formation_id`);

--
-- Index pour la table `v2_student_seance_progress`
--
ALTER TABLE `v2_student_seance_progress`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_student` (`student_id`),
  ADD KEY `idx_seance` (`seance_id`);

--
-- Index pour la table `v2_student_tests`
--
ALTER TABLE `v2_student_tests`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uk_student_test` (`student_id`,`test_id`),
  ADD KEY `test_id` (`test_id`);

--
-- Index pour la table `v2_support_messages`
--
ALTER TABLE `v2_support_messages`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_messages_sender` (`sender_id`),
  ADD KEY `idx_messages_receiver` (`receiver_id`);

--
-- Index pour la table `v2_teachers`
--
ALTER TABLE `v2_teachers`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `v2_test_attempts`
--
ALTER TABLE `v2_test_attempts`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_test_attempts_student` (`student_id`),
  ADD KEY `idx_test_attempts_test` (`test_id`);

--
-- AUTO_INCREMENT pour les tables déchargées
--

--
-- AUTO_INCREMENT pour la table `v2_countries`
--
ALTER TABLE `v2_countries`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31;

--
-- AUTO_INCREMENT pour la table `v2_student_tests`
--
ALTER TABLE `v2_student_tests`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- Contraintes pour les tables déchargées
--

--
-- Contraintes pour la table `v2_certificates`
--
ALTER TABLE `v2_certificates`
  ADD CONSTRAINT `v2_certificates_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `v2_students` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `v2_certificates_ibfk_2` FOREIGN KEY (`formation_id`) REFERENCES `v2_formations` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_enrollments`
--
ALTER TABLE `v2_enrollments`
  ADD CONSTRAINT `v2_enrollments_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `v2_students` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `v2_enrollments_ibfk_2` FOREIGN KEY (`formation_id`) REFERENCES `v2_formations` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_formations`
--
ALTER TABLE `v2_formations`
  ADD CONSTRAINT `v2_formations_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `v2_teachers` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `v2_levels`
--
ALTER TABLE `v2_levels`
  ADD CONSTRAINT `fk_level_program` FOREIGN KEY (`program_id`) REFERENCES `v2_programs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_notifications`
--
ALTER TABLE `v2_notifications`
  ADD CONSTRAINT `v2_notifications_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `v2_students` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_phases`
--
ALTER TABLE `v2_phases`
  ADD CONSTRAINT `fk_phase_level` FOREIGN KEY (`level_id`) REFERENCES `v2_levels` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_quiz_questions`
--
ALTER TABLE `v2_quiz_questions`
  ADD CONSTRAINT `v2_quiz_questions_ibfk_1` FOREIGN KEY (`quiz_id`) REFERENCES `v2_quizzes` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `v2_quiz_questions_ibfk_2` FOREIGN KEY (`training_test_id`) REFERENCES `v2_training_tests` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_quiz_results`
--
ALTER TABLE `v2_quiz_results`
  ADD CONSTRAINT `v2_quiz_results_ibfk_1` FOREIGN KEY (`quiz_id`) REFERENCES `v2_quizzes` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `v2_quiz_results_ibfk_2` FOREIGN KEY (`student_id`) REFERENCES `v2_students` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_reviews`
--
ALTER TABLE `v2_reviews`
  ADD CONSTRAINT `v2_reviews_ibfk_1` FOREIGN KEY (`formation_id`) REFERENCES `v2_formations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `v2_reviews_ibfk_2` FOREIGN KEY (`student_id`) REFERENCES `v2_students` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_seances`
--
ALTER TABLE `v2_seances`
  ADD CONSTRAINT `fk_seance_lesson` FOREIGN KEY (`lesson_id`) REFERENCES `v2_lessons` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_seance_materials`
--
ALTER TABLE `v2_seance_materials`
  ADD CONSTRAINT `fk_material_seance` FOREIGN KEY (`seance_id`) REFERENCES `v2_seances` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_seance_quizzes`
--
ALTER TABLE `v2_seance_quizzes`
  ADD CONSTRAINT `fk_quiz_seance` FOREIGN KEY (`seance_id`) REFERENCES `v2_seances` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_seance_quiz_questions`
--
ALTER TABLE `v2_seance_quiz_questions`
  ADD CONSTRAINT `fk_question_quiz` FOREIGN KEY (`quiz_id`) REFERENCES `v2_seance_quizzes` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_student_tests`
--
ALTER TABLE `v2_student_tests`
  ADD CONSTRAINT `v2_student_tests_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `v2_students` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `v2_student_tests_ibfk_2` FOREIGN KEY (`test_id`) REFERENCES `v2_training_tests` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `v2_test_attempts`
--
ALTER TABLE `v2_test_attempts`
  ADD CONSTRAINT `v2_test_attempts_ibfk_1` FOREIGN KEY (`test_id`) REFERENCES `v2_training_tests` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `v2_test_attempts_ibfk_2` FOREIGN KEY (`student_id`) REFERENCES `v2_students` (`id`) ON DELETE CASCADE;
COMMIT;

