Update Saqel Platform: 2026-08-29 22:41:36
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user