diff --git a/transfer_service/db_connector.py b/transfer_service/db_connector.py index 9f4553c8dfb9230177ebeeecdfda864c2e1984b0..cbe8a3d3689fe26c7f3d0fae1a1053bb4a3b6fef 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: