From 495e581754acd2692e3db08cb1760f75b050d1d0 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Wed, 26 Jul 2023 07:53:55 +0300 Subject: Function to create a metadata audit trail. --- gn3/db/metadata_audit.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gn3') diff --git a/gn3/db/metadata_audit.py b/gn3/db/metadata_audit.py index 9c4474d..707892b 100644 --- a/gn3/db/metadata_audit.py +++ b/gn3/db/metadata_audit.py @@ -3,9 +3,10 @@ table from the db """ -from dataclasses import dataclass from typing import Optional +from dataclasses import dataclass +from MySQLdb.cursors import DictCursor @dataclass(frozen=True) class MetadataAudit: @@ -26,3 +27,12 @@ metadata_audit_mapping = { "json_data": "json_diff_data", "time_stamp": "time_stamp", } + +def create_metadata_audit(conn, metadata: dict) -> int: + """Create a new metadata audit trail.""" + with conn.cursor(cursorclass=DictCursor) as cursor: + cursor.execute( + "INSERT INTO metadata_audit (dataset_id, editor, json_diff_data) " + "VALUES (%(dataset_id)s, %(editor)s, %(json_data)s)", + metadata) + return cursor.rowcount -- cgit v1.2.3