diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/neo4j_util.py | 8 | ||||
| -rw-r--r-- | src/server/rhizi_api.py | 16 |
2 files changed, 11 insertions, 13 deletions
diff --git a/src/server/neo4j_util.py b/src/server/neo4j_util.py index 9fb982b2..8b48875a 100644 --- a/src/server/neo4j_util.py +++ b/src/server/neo4j_util.py @@ -219,14 +219,6 @@ def gen_query_create_from_link_map(link_map, input_to_DB_property_map=lambda _: del prop_dict['__dst_id'] del prop_dict['__src_id'] - # TODO - somewhere else? - if '__type' in prop_dict: - log.warn('client is sending us __type link property, it should not') - if 'name' in prop_dict: - log.warn('client is sending us name link property, it should not') - del prop_dict['__type'] - del prop_dict['name'] - q_params = {'src': { 'id': src_id} , 'dst': { 'id': dst_id} , 'link_attr' : input_to_DB_property_map(prop_dict)} diff --git a/src/server/rhizi_api.py b/src/server/rhizi_api.py index 8e38e6a3..1bc16ab8 100644 --- a/src/server/rhizi_api.py +++ b/src/server/rhizi_api.py @@ -37,15 +37,21 @@ def sanitize_input__node(n): """ provide a control point as to which node fields are persisted """ - assert None != n['id'], 'invalid input: node: missing id' + assert None != n.get('id'), 'invalid input: node: missing id' def sanitize_input__link(l): """ - provide a control point as to which node fields are persisted + provide a control point as to which link fields are persisted """ - assert None != l['id'], 'invalid input: link: missing id' - assert None != l['__src_id'], 'invalid input: link: missing src id' - assert None != l['__dst_id'], 'invalid input: link: missing dst id' + + # expected prop assertions + assert None != l.get('id'), 'invalid input: link: missing id' + assert None != l.get('__src_id'), 'invalid input: link: missing src id' + assert None != l.get('__dst_id'), 'invalid input: link: missing dst id' + + # unexpected prop assertions + assert None == l.get('__type'), 'client is sending us __type link property, it should not' + assert None == l.get('name'), 'client is sending us name link property, it should not' def sanitize_input__topo_diff(topo_diff): for n in topo_diff.node_set_add: |
