# -*- coding: utf-8; -*-
#
# This file is part of Superdesk.
#
# Copyright 2013, 2014 Sourcefabric z.u. and contributors.
#
# For the full copyright and license information, please see the
# AUTHORS and LICENSE files distributed with this source code, or
# at https://www.sourcefabric.org/superdesk/license

from superdesk.resource import Resource


class ProductsResource(Resource):
    """Products schema"""

    schema = {
        'name': {
            'type': 'string',
            'iunique': True,
            'required': True
        },
        'description': {
            'type': 'string'
        },
        'codes': {
            'type': 'string'
        },
        'content_filter': {
            'type': 'dict',
            'schema': {
                'filter_id': Resource.rel('content_filters', nullable=True),
                'filter_type': {
                    'type': 'string',
                    'allowed': ['blocking', 'permitting'],
                    'default': 'blocking'
                }
            },
            'nullable': True
        },
        'geo_restrictions': {
            'type': 'string',
            'nullable': True
        }
    }

    privileges = {'POST': 'products', 'PATCH': 'products', 'DELETE': 'products'}
