from .base import (
    BaseSchema,
    CERBERUS_RULE_REQUIRED_NONEMPTY_STRING,
    CERBERUS_RULE_OPTIONAL_STRING,
    ImageSchema,
)


class FeaturedImageSchema(BaseSchema):
    def __init__(self):
        super(FeaturedImageSchema, self).__init__()
        self['short_abstract'] = CERBERUS_RULE_OPTIONAL_STRING
        self['collection_id'] = CERBERUS_RULE_REQUIRED_NONEMPTY_STRING
        self['seo_title'] = CERBERUS_RULE_OPTIONAL_STRING
        self['social_title'] = CERBERUS_RULE_OPTIONAL_STRING
        self['social_description'] = CERBERUS_RULE_OPTIONAL_STRING
        self['sponsor_content'] = {'type': 'boolean', 'default': False}
        self['sponsor_content_label'] = CERBERUS_RULE_OPTIONAL_STRING
        self['dek'] = CERBERUS_RULE_OPTIONAL_STRING
        # ********* Media assets *********
        self['image'] = {
            'type': 'dict',
            'required': True,
            'schema': ImageSchema()
        }
