From 71efae4260f8c4964310ec93daf9f18d9164391c Mon Sep 17 00:00:00 2001 From: Cristiano Urban Date: Wed, 23 Jun 2021 11:14:07 +0200 Subject: [PATCH] Added 'getCreatorId()' method for VOSpace nodes. Signed-off-by: Cristiano Urban --- transfer_service/db_connector.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/transfer_service/db_connector.py b/transfer_service/db_connector.py index 9f4553c..cbe8a3d 100644 --- a/transfer_service/db_connector.py +++ b/transfer_service/db_connector.py @@ -67,6 +67,25 @@ class DbConnector(object): else: return False + def getCreatorId(self, vospacePath): + """Returns the creator ID for a given vospace path representing a node.""" + with self.getConnection() as conn: + try: + cursor = conn.cursor(cursor_factory = RealDictCursor) + cursor.execute(""" + SELECT creator_id + FROM node_vos_path nvp + JOIN node n ON nvp.node_id = n.node_id + WHERE vos_path = %s; + """, + (vospacePath,)) + result = cursor.fetchall() + except Exception as e: + if not conn.closed: + conn.rollback() + print(e) + return result[0]["creator_id"] + def getOSPath(self, vospacePath): """Returns a list containing full path, storage type and username for a VOSpace path.""" with self.getConnection() as conn: -- GitLab