Update Saqel Platform: 2026-08-29 22:41:36

This commit is contained in:
Hamza-Ayed
2026-08-29 22:41:36 +03:00
parent 051b9322f6
commit c4c59bc828
5 changed files with 250 additions and 14 deletions
@@ -261,7 +261,10 @@ class CurriculumController
}
try {
$courseId = 0; // System course ID for curriculum AI videos
// Resolve a valid FK-safe course_id for the master ministry curriculum.
// IMPORTANT: course_id = 0 causes SQLSTATE[23000] FK violation because
// the `lessons` table enforces courses(id) ON DELETE CASCADE.
$courseId = CurriculumService::getOrCreateSystemCourse();
$title = basename($file, '.md');
// 1. Upload & Transcode to HLS & Push to R2 (handled by VideoService)
@@ -269,7 +272,7 @@ class CurriculumController
$videoUrl = $uploadResult['r2_url'] ?? $uploadResult['hls_url'];
// 2. Insert into lessons table as AI generated version
// 2. Insert into lessons table as AI-generated ministry version
$lessonId = \App\Core\Database::insert(
"INSERT INTO lessons (course_id, title, sequence_order, storage_type, video_uuid, bunny_video_id, local_path, hls_url, thumbnail_url, duration_seconds, is_free_preview, encoding_status, ai_video_url)
VALUES (?, ?, 1, 'api_upload', ?, '', ?, ?, ?, ?, 0, 'ready', ?)",
@@ -307,6 +310,8 @@ class CurriculumController
'status' => 'success',
'message' => 'تم رفع وتثبيت فيديو الشرح ومعالجته HLS وربطه بالذكاء الاصطناعي بنجاح!',
'video_url' => $videoUrl,
'course_id' => $courseId,
'lesson_id' => $lessonId,
'data' => $uploadResult
]);
} catch (\Throwable $e) {