From 06facc37b898e3aea386890c8dfa8b1f050ef3e7 Mon Sep 17 00:00:00 2001
From: Travis Rivers <trivers@contractor.usgs.gov>
Date: Tue, 17 Nov 2020 12:09:53 -0700
Subject: [PATCH] add to json method for Metadata class

---
 geomagio/api/secure/metadata.py | 5 +++--
 geomagio/metadata/Metadata.py   | 4 ++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/geomagio/api/secure/metadata.py b/geomagio/api/secure/metadata.py
index 875aad441..3592e48b9 100644
--- a/geomagio/api/secure/metadata.py
+++ b/geomagio/api/secure/metadata.py
@@ -35,8 +35,9 @@ async def create_metadata(
     metadata: Metadata,
     user: User = Depends(require_user()),
 ):
-    metadata = await metadata_table.create_metadata(metadata)
-    return Response(metadata, status_code=201, media_type="application/json")
+    created_metadata = await metadata_table.create_metadata(metadata)
+    print(metadata.to_json())
+    return Response(metadata.to_json(), status_code=201, media_type="application/json")
 
 
 @router.delete("/metadata/{id}")
diff --git a/geomagio/metadata/Metadata.py b/geomagio/metadata/Metadata.py
index ce2ad5211..eb8f5b8fd 100644
--- a/geomagio/metadata/Metadata.py
+++ b/geomagio/metadata/Metadata.py
@@ -1,4 +1,5 @@
 from datetime import timezone
+import json
 from typing import Dict
 
 from obspy import UTCDateTime
@@ -87,3 +88,6 @@ class Metadata(BaseModel):
     @validator("created_time")
     def set_default_created_time(cls, created_time: UTCDateTime = None) -> UTCDateTime:
         return created_time or UTCDateTime()
+
+    def to_json(self):
+        return json.dumps(self, default=lambda o: o.__dict__, sort_keys=True, indent=4)
-- 
GitLab