aboutsummaryrefslogtreecommitdiff
path: root/gn3/db
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/db')
-rw-r--r--gn3/db/__init__.py5
-rw-r--r--gn3/db/metadata_audit.py26
2 files changed, 31 insertions, 0 deletions
diff --git a/gn3/db/__init__.py b/gn3/db/__init__.py
index d89dbf4..175a640 100644
--- a/gn3/db/__init__.py
+++ b/gn3/db/__init__.py
@@ -5,21 +5,26 @@ from dataclasses import dataclass, asdict, astuple
from typing_extensions import Protocol
from MySQLdb import escape_string
+from gn3.db.metadata_audit import MetadataAudit
from gn3.db.phenotypes import Phenotype
from gn3.db.phenotypes import PublishXRef
from gn3.db.phenotypes import Publication
+from gn3.db.metadata_audit import metadata_audit_mapping
from gn3.db.phenotypes import phenotype_mapping
from gn3.db.phenotypes import publish_x_ref_mapping
from gn3.db.phenotypes import publication_mapping
+
TABLEMAP = {
+ "metadata_audit": metadata_audit_mapping,
"Phenotype": phenotype_mapping,
"PublishXRef": publish_x_ref_mapping,
"Publication": publication_mapping,
}
DATACLASSMAP = {
+ "MetadataAudit": MetadataAudit,
"Phenotype": Phenotype,
"PublishXRef": PublishXRef,
"Publication": Publication,
diff --git a/gn3/db/metadata_audit.py b/gn3/db/metadata_audit.py
new file mode 100644
index 0000000..6e22b32
--- /dev/null
+++ b/gn3/db/metadata_audit.py
@@ -0,0 +1,26 @@
+# pylint: disable=[R0902, R0903]
+"""This contains all the necessary functions that access the metadata_audit
+table from the db
+
+"""
+from dataclasses import dataclass
+from typing import Optional
+
+
+@dataclass(frozen=True)
+class MetadataAudit:
+ """Data Type that represents a Phenotype"""
+ dataset_id: int
+ editor: str
+ json_data: str
+ time_stamp: Optional[str] = None
+
+
+# Mapping from the MetadataAudit dataclass to the actual column names in the
+# database
+metadata_audit_mapping = {
+ "dataset_id": "dataset_id",
+ "editor": "editor",
+ "json_data": "json_data",
+ "time_stamp": "time_stamp",
+}