from .base import (
    CERBERUS_RULE_OPTIONAL_STRING,
    CERBERUS_RULE_REQUIRED_DATETIME_STRING,
    CERBERUS_RULE_PHOTO_SCHEMA,
    CERBERUS_RULE_SERIES_SCHEMA,
    BaseSchema,
)


class MediaPhotoSchema(BaseSchema):
    """Schema for Yourshot Photos."""

    def __init__(self):
        super(MediaPhotoSchema, self).__init__()
        self['created_at'] = CERBERUS_RULE_REQUIRED_DATETIME_STRING
        self['body'] = CERBERUS_RULE_OPTIONAL_STRING
        self['series'] = CERBERUS_RULE_SERIES_SCHEMA
        self['extra_fields'] = {
            'type': 'dict',
            'default': {},
            'schema': {
                'photo': CERBERUS_RULE_PHOTO_SCHEMA,
            },
        }
