from .base import (
    CERBERUS_RULE_OPTIONAL_STRING,
    CERBERUS_RULE_REQUIRED_DATETIME_STRING,
    BaseSchema,
    VideoSchema,
)


class MediaVideoSchema(BaseSchema):
    """Schema for Media Videos."""

    def __init__(self):
        super(MediaVideoSchema, self).__init__()
        self['id'] = {'type': 'string', 'coerce': str, 'required': True, 'empty': False}
        self['created_at'] = CERBERUS_RULE_REQUIRED_DATETIME_STRING
        self['body'] = CERBERUS_RULE_OPTIONAL_STRING
        self['videos'] = {
            'type': 'list',
            'required': True,
            'schema': {
                'type': 'dict',
                'schema': VideoSchema(),
            }
        }
