def update(slug, id): """ Update the data of the relation. """ network, relation = _get_relation(slug, id) require.relation.update(network, relation) data = dict(request_content(request).items()) data["type"] = relation.type context = ValidationContext(network=network) schema = _get_schema(network, data.get("type")) data = validate_relation(data, schema, context) updated_relation = relation.update(schema, data) db.session.commit() return jsonify(updated_relation)
def update(slug, id): """ Update the data of the relation. """ network, relation = _get_relation(slug, id) require.relation.update(network, relation) data = dict(request_content(request).items()) data['type'] = relation.type context = ValidationContext(network=network) schema = _get_schema(network, data.get('type')) data = validate_relation(data, schema, context) updated_relation = relation.update(schema, data) db.session.commit() return jsonify(updated_relation)
def create(slug): """ Create a new relation. """ network = _get_network(slug) require.relation.create(network) data = request_content(request) context = ValidationContext(network=network) schema = _get_schema(network, data.get("type")) data = validate_relation(dict(data.items()), schema, context) relation = network.Relation.create(schema, data) db.session.commit() url = url_for(".get", slug=network.slug, id=relation.id) return jsonify(relation, status=201, headers={"location": url})
def create(slug): """ Create a new relation. """ network = _get_network(slug) require.relation.create(network) data = request_content(request) context = ValidationContext(network=network) schema = _get_schema(network, data.get('type')) data = validate_relation(dict(data.items()), \ schema, context) relation = network.Relation.create(schema, data) db.session.commit() url = url_for('.get', slug=network.slug, id=relation.id) return jsonify(relation, status=201, headers={'location': url})