# models/subject_video_model.py
from mongoengine import Document, StringField, IntField, DateTimeField, ReferenceField
from datetime import datetime

from models.exam import Exam
from models.sub_exam import SubExam
from models.chapter import Chapters
from models.topic import Topic
from models.video_courses_model import VideoCourseSubject  # REQUIRED
from models.configuration import Language

class SubjectVideo(Document):
    exam_id = ReferenceField(Exam, required=True)
    sub_exam_id = ReferenceField(SubExam, required=False, default=None)
    subject_id = ReferenceField(VideoCourseSubject, required=False, default=None)
    chapter_id = ReferenceField(Chapters, required=False, default=None)
    topic_id = ReferenceField(Topic, required=False, default=None)
    language_id = ReferenceField(Language, required=True)

    video_title = StringField(required=True)
    video_duration = StringField(required=True)  # "HH:MM" or "MM:SS"
    video_path = StringField(required=True)
    status = IntField(default=1)
    created_date = DateTimeField(default=datetime.utcnow)

    meta = {'collection': 'subject_videos'}
