// seed-articles-page6.js — حروف الحاء، الخاء، الدال (من صفحة فهرس PDF رقم 6)

import db from '../db.js';

const volumeId = parseInt(process.argv[2] || '1', 10);

const NEW_AUTHORS = [
  { display_name: 'حضرة الأستاذ علي الجندي', role_title: 'كاتب' },
];

function normalize(s) {
  return s.replace(/[إأآا]/g, 'ا').replace(/ى/g, 'ي').replace(/ة/g, 'ه').replace(/\s+/g, ' ').trim();
}

function upsertAuthor({ display_name, role_title }) {
  const existing = db.prepare(`SELECT id FROM authors WHERE display_name = ?`).get(display_name);
  if (existing) return existing.id;
  const result = db.prepare(`
    INSERT INTO authors (display_name, normalized_name, role_title) VALUES (?, ?, ?)
  `).run(display_name, normalize(display_name), role_title);
  return Number(result.lastInsertRowid);
}

for (const a of NEW_AUTHORS) upsertAuthor(a);

function getAuthorId(name) {
  if (!name) return null;
  const row = db.prepare(`SELECT id FROM authors WHERE display_name = ?`).get(name);
  return row ? row.id : null;
}

// [العنوان، المؤلف أو null، صفحة البداية، صفحة النهاية، الحرف، الترتيب]
const articlesData = [
  // حرف الحاء
  ['حديث لفضيلة الأستاذ الأكبر شيخ الجامع الأزهر فى مسألة معاملة فرنسا للبربر بالمغرب الأقصى', null, 342, null, 'ح', 1],
  ['حديثان كارها حكمة بالغة', 'فضيلة الأستاذ الشيخ حسن منصور', 33, null, 'ح', 2],
  ['الحديث المتواتر وحكم ما رواه الإمامان البخارى ومسلم', 'فضيلة الأستاذ رئيس التحرير', 543, null, 'ح', 3],
  ['حرية الانسان، تكايفه، القضاء والقدر', 'فضيلة الأستاذ الشيخ يوسف الدجوى', 299, null, 'ح', 4],
  ['حركة التبشير المسيحى فى العالم الاسلامى للقس زويمر', null, 71, null, 'ح', 5],
  ['الحصول على الصوف بطريقة صناعية', null, 433, null, 'ح', 6],
  ['حكم النزول بالنبى صلى الله عليه وسلم', 'فضيلة الأستاذ الشيخ يوسف الدجوى', 588, null, 'ح', 7],
  ['حكم شرب الدخان فى المساجد', 'فضيلة الأستاذ الشيخ يوسف الدجوى', 591, null, 'ح', 8],
  ['حكم شرب الدخان فى مجالس القرآن', 'فضيلة الأستاذ رئيس التحرير', 353, null, 'ح', 9],
  ['حكم القراءة للأموات', 'فضيلة الأستاذ الشيخ يوسف الدجوى', 586, null, 'ح', 10],
  ['الحياة الاقتصادية', 'قلم الترجمة', 461, null, 'ح', 11], // مقال متسلسل: ٤٦١، ٦١٨، ٧١٥

  // حرف الخاء
  ['خلاعة النساء تقودنا الى الهاوية', 'حضرة الأستاذ علي الجندي', 375, null, 'خ', 1],
  ['خيالات الضريح المنسوب الى عبد الله بن سلام', 'فضيلة الأستاذ الشيخ إبراهيم الجبالي', 541, null, 'خ', 2],

  // حرف الدال
  ['دعوة نصارى العرب الى الدخول فى الاسلام', null, 640, null, 'د', 1],
  ['دفع شبهة فى حديث', 'فضيلة الأستاذ الشيخ يوسف الدجوى', 584, null, 'د', 2],
  ['الدعاء والاستقالة', 'فضيلة الأستاذ رئيس التحرير', 643, null, 'د', 3],
  ['الدين ضرورى للعمران', 'فضيلة الأستاذ الشيخ يوسف الدجوى', 180, null, 'د', 4], // مقال متسلسل: ١٨٠، ٣٣٢
];

const insertArticle = db.prepare(`
  INSERT INTO articles (volume_id, title, author_id, start_page, end_page, toc_letter, toc_order)
  VALUES (?, ?, ?, ?, ?, ?, ?)
`);

const ids = {};
let count = 0;
for (const [title, authorName, startPage, endPage, letter, order] of articlesData) {
  const authorId = getAuthorId(authorName);
  const result = insertArticle.run(volumeId, title, authorId, startPage, endPage, letter, order);
  ids[title] = Number(result.lastInsertRowid);
  count++;
}

// حلقات "الحياة الاقتصادية" المؤكدة بصريا: ٤٦١، ٦١٨، ٧١٥
const insertInstallment = db.prepare(`
  INSERT INTO article_installments (article_id, printed_start_page, installment_order, verified)
  VALUES (?, ?, ?, 0)
`);
[461, 618, 715].forEach((p, idx) => insertInstallment.run(ids['الحياة الاقتصادية'], p, idx + 1));

// حلقات "الدين ضروري للعمران" المؤكدة بصريا: ١٨٠، ٣٣٢
[180, 332].forEach((p, idx) => insertInstallment.run(ids['الدين ضرورى للعمران'], p, idx + 1));

console.log(`✅ تم إدخال ${count} مقالًا (حروف ح، خ، د) للمجلد رقم ${volumeId}`);
