コード例 #1
0
        },
        files_serializers={
            'application/json': ('zenodo.modules.records.serializers'
                                 ':deposit_legacyjson_v1_files_response'),
        },
        list_route='/deposit/depositions',
        item_route='/deposit/depositions/<{0}:pid_value>'.format(_PID),
        file_list_route=(
            '/deposit/depositions/<{0}:pid_value>/files'.format(_PID)),
        file_item_route=(
            '/deposit/depositions/<{0}:pid_value>/files/<file_key:key>'.format(
                _PID)),
        default_media_type='application/json',
        links_factory_imp='zenodo.modules.deposit.links:links_factory',
        create_permission_factory_imp=check_oauth2_scope(
            lambda record: record_create_permission_factory(record=record).can(
            ), write_scope.id),
        read_permission_factory_imp=deposit_read_permission_factory,
        update_permission_factory_imp=check_oauth2_scope(
            lambda record: deposit_update_permission_factory(record=record).
            can(), write_scope.id),
        delete_permission_factory_imp=check_oauth2_scope(
            lambda record: deposit_delete_permission_factory(record=record).
            can(), write_scope.id),
        max_result_window=10000,
    ), )
#: Depoist UI endpoints
DEPOSIT_RECORDS_UI_ENDPOINTS = {
    'depid': {
        'pid_type': 'depid',
        'route': '/deposit/<pid_value>',
コード例 #2
0
ファイル: config.py プロジェクト: zenodo/zenodo
        files_serializers={
            'application/json': (
                'zenodo.modules.records.serializers'
                ':deposit_legacyjson_v1_files_response'),
        },
        list_route='/deposit/depositions',
        item_route='/deposit/depositions/<{0}:pid_value>'.format(_PID),
        file_list_route=(
            '/deposit/depositions/<{0}:pid_value>/files'.format(_PID)),
        file_item_route=(
            '/deposit/depositions/<{0}:pid_value>/files/<file_key:key>'.format(
                _PID)),
        default_media_type='application/json',
        links_factory_imp='zenodo.modules.deposit.links:links_factory',
        create_permission_factory_imp=check_oauth2_scope(
            lambda record: record_create_permission_factory(
                record=record).can(),
            write_scope.id),
        read_permission_factory_imp=deposit_read_permission_factory,
        update_permission_factory_imp=check_oauth2_scope(
            lambda record: deposit_update_permission_factory(
                record=record).can(),
            write_scope.id),
        delete_permission_factory_imp=check_oauth2_scope(
            lambda record: deposit_delete_permission_factory(
                record=record).can(),
            write_scope.id),
        max_result_window=10000,
    ),
)
#: Depoist UI endpoints
DEPOSIT_RECORDS_UI_ENDPOINTS = {
コード例 #3
0
ファイル: config.py プロジェクト: nikofil/zenodo
                'zenodo.modules.records.serializers:deposit_json_v1_search'),
        },
        files_serializers={
            'application/json': ('invenio_deposit.serializers'
                                 ':json_v1_files_response'),
        },
        list_route='/deposit/depositions',
        item_route='/deposit/depositions/<{0}:pid_value>'.format(_PID),
        file_list_route=(
            '/deposit/depositions/<{0}:pid_value>/files'.format(_PID)),
        file_item_route=(
            '/deposit/depositions/<{0}:pid_value>/files/<file_key:key>'.format(
                _PID)),
        default_media_type='application/json',
        links_factory_imp='invenio_deposit.links:deposit_links_factory',
        create_permission_factory_imp=check_oauth2_scope(
            lambda x: True, write_scope.id),
        read_permission_factory_imp=DepositPermission,
        update_permission_factory_imp=check_oauth2_scope(
            can_edit_deposit, write_scope.id),
        delete_permission_factory_imp=check_oauth2_scope(
            can_edit_deposit, write_scope.id),
        max_result_window=10000,
    ),
)

# SIPStore
# ========
#: Default JSON schema for the SIP agent
SIPSTORE_DEFAULT_AGENT_JSONSCHEMA = 'sipstore/agent-webclient-v1.0.0.json'

#: Enable the agent JSON schema
コード例 #4
0
    'search_factory_imp': 'cap.modules.search.query'
    ':cap_search_factory',
    'record_serializers': {
        'application/json': ('cap.modules.records.serializers'
                             ':json_v1_response'),
        'application/basic+json': ('cap.modules.records.serializers'
                                   ':basic_json_v1_response')
    },
    'search_serializers': {
        'application/json': ('cap.modules.records.serializers'
                             ':json_v1_search'),
        'application/basic+json': ('cap.modules.records.serializers'
                                   ':basic_json_v1_search'),
    },
    'read_permission_factory_imp': check_oauth2_scope(
        lambda record: ReadRecordPermission(record).can(),
        write_scope.id),
})

#: Default api endpoint for LHCb db
GRAPHENEDB_URL = 'http://datadependency.cern.ch:7474'

#: Account-REST Configuration
ACCOUNTS_REST_READ_ROLE_PERMISSION_FACTORY = deny_all
"""Default get role permission factory: reject any request."""

ACCOUNTS_REST_UPDATE_ROLE_PERMISSION_FACTORY = deny_all
"""Default update role permission factory: reject any request."""

ACCOUNTS_REST_DELETE_ROLE_PERMISSION_FACTORY = deny_all
"""Default delete role permission factory: reject any request."""
コード例 #5
0
    'record_serializers': {
        'application/json': ('cap.modules.records.serializers'
                             ':record_json_v1_response'),
        'application/basic+json': ('cap.modules.records.serializers'
                                   ':basic_json_v1_response'),
        'application/form+json': ('cap.modules.records.serializers'
                                  ':record_form_json_v1_response'),
    },
    'search_serializers': {
        'application/json': ('cap.modules.records.serializers'
                             ':record_json_v1_search'),
        'application/basic+json': ('cap.modules.records.serializers'
                                   ':basic_json_v1_search'),
    },
    'read_permission_factory_imp':
    check_oauth2_scope(lambda record: ReadRecordPermission(record).can(),
                       write_scope.id),
    'links_factory_imp':
    'cap.modules.records.links:links_factory',
})

#: Default api endpoint for LHCb db
GRAPHENEDB_URL = 'http://datadependency.cern.ch:7474'

#: Account-REST Configuration
ACCOUNTS_REST_READ_ROLE_PERMISSION_FACTORY = deny_all
"""Default get role permission factory: reject any request."""

ACCOUNTS_REST_UPDATE_ROLE_PERMISSION_FACTORY = deny_all
"""Default update role permission factory: reject any request."""

ACCOUNTS_REST_DELETE_ROLE_PERMISSION_FACTORY = deny_all
コード例 #6
0
    # 'search_factory_imp': 'invenio_records_rest.query.es_search_factory',
    'record_serializers': {
        'application/json': ('cap.modules.records.serializers'
                             ':json_v1_response'),
        'application/basic+json': ('cap.modules.records.serializers'
                                   ':basic_json_v1_response')
    },
    'search_serializers': {
        'application/json': ('cap.modules.records.serializers'
                             ':json_v1_search'),
        'application/basic+json': ('cap.modules.records.serializers'
                                   ':basic_json_v1_search'),
    },
    'read_permission_factory_imp':
    check_oauth2_scope(
        lambda record: record_read_permission_factory(
            CAP_COLLAB_EGROUPS, SUPERUSER_EGROUPS)(record).can(),
        write_scope.id),
})

#: Default api endpoint for LHCb db
GRAPHENEDB_URL = 'http://datadependency.cern.ch:7474'

#: Account-REST Configuration
ACCOUNTS_REST_READ_ROLE_PERMISSION_FACTORY = deny_all
"""Default get role permission factory: reject any request."""

ACCOUNTS_REST_UPDATE_ROLE_PERMISSION_FACTORY = deny_all
"""Default update role permission factory: reject any request."""

ACCOUNTS_REST_DELETE_ROLE_PERMISSION_FACTORY = deny_all
"""Default delete role permission factory: reject any request."""
コード例 #7
0
                              ':json_v1_response'),
     },
     search_class='invenio_deposit.search:DepositSearch',
     search_serializers={
         'application/json': ('invenio_records_rest.serializers'
                              ':json_v1_search'),
     },
     list_route='/deposits/',
     item_route='/deposits/<{0}:pid_value>'.format(_CDSDeposit_PID),
     file_list_route='/deposits/<{0}:pid_value>/files'.format(
         _CDSDeposit_PID),
     file_item_route='/deposits/<{0}:pid_value>/files/<path:key>'.format(
         _CDSDeposit_PID),
     default_media_type='application/json',
     links_factory_imp='cds.modules.deposit.links:deposit_links_factory',
     create_permission_factory_imp=check_oauth2_scope(
         lambda x: True, write_scope.id),
     read_permission_factory_imp=DepositPermission,
     update_permission_factory_imp=check_oauth2_scope(
         can_edit_deposit, write_scope.id),
     delete_permission_factory_imp=check_oauth2_scope(
         can_edit_deposit, write_scope.id),
     max_result_window=10000,
 ),
 project=dict(
     pid_type='depid',
     pid_minter='deposit',
     pid_fetcher='deposit',
     default_endpoint_prefix=False,
     record_class='cds.modules.deposit.api:Project',
     record_loaders={
         'application/json': 'cds.modules.deposit.loaders:project_loader'
コード例 #8
0
    ),
    # 'search_factory_imp': 'invenio_records_rest.query.es_search_factory',
    'record_serializers': {
        'application/json': ('cap.modules.records.serializers'
                             ':json_v1_response'),
    },
    # 'search_serializers': {
    #     'application/json': ('cap.modules.records.serializers'
    #                          ':json_v1_search'),
    # },
    # list_route='/records/',
    # item_route='/records/<pid(recid):pid_value>',
    # default_media_type='application/json',
    'read_permission_factory_imp': check_oauth2_scope(
        lambda record: record_read_permission_factory(
            CAP_COLLAB_EGROUPS,
            SUPERUSER_EGROUPS)(record).can(),
        write_scope.id),
})


#: Default api endpoint for LHCb db
GRAPHENEDB_URL = 'http://datadependency.cern.ch:7474'

#: Account-REST Configuration
ACCOUNTS_REST_READ_ROLE_PERMISSION_FACTORY = deny_all
"""Default get role permission factory: reject any request."""

ACCOUNTS_REST_UPDATE_ROLE_PERMISSION_FACTORY = deny_all
"""Default update role permission factory: reject any request."""