✨ Support dataclasses in responses (#3576)

Co-authored-by: amit lissack <amit@opentrons.com>
This commit is contained in:
Sebastián Ramírezandamit lissack authored and GitHub committed 2021-07-21 14:39:12 +00:00
1 parent 49517d3310
commit 96fdfc53cc
3 files changed
+66

No files matched your search

+3
View File
@@ -1,3 +1,4 @@
import dataclasses
from collections import defaultdict
from enum import Enum
from pathlib import PurePath
@@ -61,6 +62,8 @@ def jsonable_encoder(
custom_encoder=encoder,
sqlalchemy_safe=sqlalchemy_safe,
)
if dataclasses.is_dataclass(obj):
return dataclasses.asdict(obj)
if isinstance(obj, Enum):
return obj.value
if isinstance(obj, PurePath):
+3
View File
@@ -1,4 +1,5 @@
import asyncio
import dataclasses
import email.message
import enum
import inspect
@@ -90,6 +91,8 @@ def _prepare_response_content(
)
for k, v in res.items()
}
elif dataclasses.is_dataclass(res):
return dataclasses.asdict(res)
return res