# models/content_mapping.py
from mongoengine import Document, StringField, DateTimeField
from datetime import datetime

class ContentMapping(Document):
    """
    One document per attached content item linking a course to content.
    """
    meta = {
        'collection': 'content_mappings',
        'indexes': [
            # index to speed common lookups; prevents accidental full-table scans
            {'fields': ('course_id', 'content_type', 'content_id')}
        ]
    }

    course_id = StringField(required=True)      # store as string for flexibility
    content_type = StringField(required=True)   # 'video'|'ebook'|'mocktest'|'oldpaper'
    content_id = StringField(required=True)     # id of the content item as string
    created_at = DateTimeField(default=datetime.utcnow)
