Esempio n. 1
0
def _get_query(slug, name):
    network = _get_network(slug)
    query = Query.by_name(network, name)
    if query is None:
        raise NotFound('No such entity: %s' % name)
    require.query.read(network, query)
    return network, query
Esempio n. 2
0
def _get_query(slug, name):
    network = _get_network(slug)
    query = Query.by_name(network, name)
    if query is None:
        raise NotFound('No such entity: %s' % name)
    require.query.read(network, query)
    return network, query
Esempio n. 3
0
def create(slug):
    """ Create a new query. """
    network = _get_network(slug)
    require.query.create(network)
    data = request_content(request)
    context = ValidationContext(network=network)
    data = validate_query(dict(data.items()), context)
    query = Query.create(network, data)
    db.session.commit()
    url = url_for('.get', slug=network.slug, name=query.name)
    return jsonify(query, status=201, headers={'location': url})
Esempio n. 4
0
def create(slug):
    """ Create a new query. """
    network = _get_network(slug)
    require.query.create(network)
    data = request_content(request)
    context = ValidationContext(network=network)
    data = validate_query(dict(data.items()), context)
    query = Query.create(network, data)
    db.session.commit()
    url = url_for('.get', slug=network.slug, name=query.name)
    return jsonify(query, status=201, headers={'location': url})
Esempio n. 5
0
 def _check(value):
     if context.query and context.query.name == value:
         return True
     if Query.by_name(context.network, value) is not None:
         return "This network name is already in use, please choose another."
     return True
Esempio n. 6
0
def index(slug):
    """ List all available queries. """
    network = _get_network(slug)
    require.query.list(network)
    return jsonify({'results': Query.all(network)})
Esempio n. 7
0
 def _check(value):
     if context.query and context.query.name == value:
         return True
     if Query.by_name(context.network, value) is not None:
         return "This network name is already in use, please choose another."
     return True
Esempio n. 8
0
def index(slug):
    """ List all available queries. """
    network = _get_network(slug)
    require.query.list(network)
    return jsonify({'results': Query.all(network)})