تخطَّ إلى المحتوى الرئيسي

توثيق الموديولز

حقول البيانات

الكيانات، الحقول، الأنواع.

مكتمل

الواجهة CoverageArticle (core/models/coverage-article.model.ts:24) ضعيفة-عمداً — 15 حقل إجمالاً. الحقول الهيكلية (id، slug، parentEventId، kind) غير قابلة للتفاوض؛ حقول المحتوى (title، dek، bodyHtml) bilingual؛ مصفوفات الإشارات كلّها اختيارية. لا حقل status / دورة حياة — المقالات إمّا مسوَّدات (ليست في بيانات الإنتاج) أو منشورة.

كتل الحقول

الهوية (3 حقول)
id (سلسلة داخلية)؛ slug (kebab-case، ASCII، EN قياسي، فريد)؛ parentEventId (CalendarEvent.id الذي تَرتسخ فيه — مطلوب، لا null أبداً).
التصنيف (1 حقل)
kind ∈ { recap | analysis | highlights | pitch-result | sponsor-spotlight }. يَقود لون الشارة + مرئية إفصاح الراعي + النوع الفرعي للـ JSON-LD.
المحتوى (3 حقول، كلّها BilingualText)
title (EN + AR)؛ dek (عنوان فرعي، EN + AR)؛ bodyHtml (HTML مُسبَق-الترجمة في EN + AR — الاثنان يجب أن يُكتَبا، لا ترجمة تلقائية).
السياق الاختياري (2 حقل)
country (ISO 3166-1 alpha-2 — مفيد حين تَمتدّ الفعالية الوالد عبر دول)؛ sector (tag سلسلة حرّة — fintech، healthtech، b2b-saas، إلخ).
مصفوفات الإشارة (4 حقول، كلّها اختيارية)
mentionedFounderIds[] (ملفات مؤسّسين مُبرَزة)؛ mentionedStartupIds[] (شركات مُبرَزة)؛ mentionedOpportunityIds[] (فرص مُرتبطة بنواتج فعالية — مثلاً الفائزون تقدّموا إلى برنامج لاحق)؛ mentionedFileIds[] (Founder Files مُبرَزة أو مُوَزَّعة في الفعالية).
الإعلام (1 حقل)
coverImageUrl (string | null). حين null، الكرت والـ hero يَعودان إلى SVG مُتَوَلِّد مُركَّب من اسم الفعالية + إيقونة kind.
Byline (1 حقل، BilingualText)
author — اسم المؤلِّف الكامل bilingual. مكتوب من المحرّر للمؤلِّفين الطاقم؛ اسم المساهم للقطع الضيف. اسم الراعي ليس مُوضَع هنا — يَذهب إلى شريط الإفصاح.
الزمن + القراءة (2 حقل)
publishedAt (ISO 8601 — لحظة النشر، يَقود الفرز + datePublished للـ JSON-LD)؛ readingTimeMinutes (رقم — محسوب من عدد كلمات bodyHtml، مُقَرَّب لأعلى).
الترويج (1 حقل)
isFeatured (boolean — حين true، المقالة تَبرز على شريط التغطية المُميَّزة في الصفحة الرئيسية وتَحصل على متغيّر كرت أكبر في تفاصيل الفعالية + شرائط إشارات المؤسّس/الشركة).