summaryrefslogtreecommitdiff
path: root/src/server/db_op.py
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-04-10 19:22:27 +0200
committerAlon Levy <alon@pobox.com>2015-04-10 19:22:27 +0200
commit7d5a73b23570fb7c88e01a1dbb7f7012c49003dd (patch)
tree9b32e62eb0d32980a6b4eb45081eafe5ffd815ed /src/server/db_op.py
parent3d1b371ebf53ec81ca49a430b16f5af343207e67 (diff)
server: implement doc rename
Diffstat (limited to 'src/server/db_op.py')
-rw-r--r--src/server/db_op.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/server/db_op.py b/src/server/db_op.py
index 76a5d2eb..7fa32cca 100644
--- a/src/server/db_op.py
+++ b/src/server/db_op.py
@@ -851,4 +851,28 @@ class DBO_rzdoc__lookup_by_name(DB_op):
rzdoc.id = rzdoc_dict['id']
return rzdoc
+class DBO_rzdoc__rename(DB_op):
+
+ def __init__(self, rzdoc_cur_name, rzdoc_new_name):
+ """
+ @return: [rzdoc] of [] if no doc with the given name was found
+ """
+ super(DBO_rzdoc__rename, self).__init__()
+
+ q_arr = ['match (n:%s {name: {cur_name}}) set n.name = {new_name}' % (neo4j_schema.META_LABEL__RZDOC_TYPE),
+ 'return n']
+
+ param_set = {'cur_name': rzdoc_cur_name, 'new_name': rzdoc_new_name}
+ db_q = DB_Query(q_arr, param_set)
+ self.add_db_query(db_q)
+
+ def process_result_set(self):
+ rzdoc_dict_set = DB_op.process_result_set(self)
+ if not rzdoc_dict_set: return None
+
+ rzdoc_dict = rzdoc_dict_set.pop()
+ rzdoc = RZDoc(rzdoc_name=rzdoc_dict['name'])
+ rzdoc.id = rzdoc_dict['id']
+ return rzdoc
+