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