// seed-articles-page7.js — حروف الذال، الراء، الزاي، السين، الشين (من صفحة فهرس PDF رقم 7)

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;
}

const articlesData = [
  // حرف الذال
  ['الذبيح إسماعيل لا إسحاق', 'حضرة الفاضل عبد العزيز نصحى', 298, null, 'ذ', 1],

  // حرف الراء
  ['الرؤية عن بعد', 'قلم الترجمة', 623, null, 'ر', 1],
  ['روابط الاخاء', 'فضيلة الأستاذ الشيخ حسن منصور', 122, null, 'ر', 2],

  // حرف الزاي
  ['الزكاة', 'فضيلة الأستاذ الشيخ إبراهيم الجبالي', 116, null, 'ز', 1],

  // حرف السين
  ['سموم الأفاعى ضد الأفاعى السامة', 'قلم الترجمة', 550, null, 'س', 1],
  ['سوانح ومقتبسات', 'فضيلة الأستاذ الشيخ يوسف الدجوى', 514, null, 'س', 2],
  ['سيدنا محمد صلى الله عليه وسلم', null, 719, null, 'س', 3],

  // حرف الشين
  ['شباك طبيعية لصيد الأسماك', 'قلم الترجمة', 441, null, 'ش', 1],
  ['شرح حديثين شريفين فى التربية', 'فضيلة الأستاذ الشيخ حسن منصور', 506, null, 'ش', 2],
  ['شرح حديث شريف فى التربية', 'فضيلة الأستاذ الشيخ حسن منصور', 592, null, 'ش', 3], // متسلسل: ٥٩٢،٦٦٧،٧٥٦
  ['شرح مسألة الاقتداء بالمخالف فى المذهب', 'فضيلة الأستاذ رئيس التحرير', 448, null, 'ش', 4],
  ['الشريعة الاسلامية صالحة لكل زمان ومكان', 'فضيلة الأستاذ رئيس التحرير', 36, null, 'ش', 5], // متسلسل: ٣٦،١٣٩،٢٠٤،٢٧٨،٥٣٤
  ['شركات التأمين على الحياة', 'فضيلة الأستاذ الشيخ إبراهيم الجبالي', 769, null, 'ش', 6],
  ['الشمول بالتغيرات الجوية', 'قلم الترجمة', 638, null, 'ش', 7],
  ['الشفاعة', 'فضيلة الأستاذ الشيخ إبراهيم الجبالي', 771, null, 'ش', 8],
];

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)
`);

// حلقات "شرح حديث شريف فى التربية": ٥٩٢،٦٦٧،٧٥٦
[592, 667, 756].forEach((p, idx) => insertInstallment.run(ids['شرح حديث شريف فى التربية'], p, idx + 1));

// حلقات "الشريعة الاسلامية صالحة لكل زمان ومكان": ٣٦،١٣٩،٢٠٤،٢٧٨،٥٣٤
[36, 139, 204, 278, 534].forEach((p, idx) => insertInstallment.run(ids['الشريعة الاسلامية صالحة لكل زمان ومكان'], p, idx + 1));

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