Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions magic_admin/resources/base.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from enum import Enum

from magic_admin.config import base_url
from magic_admin.http_client import RequestsClient

Expand Down Expand Up @@ -38,10 +40,22 @@ def _construct_url(self, url_path):
url_path=url_path,
)

def _sanitize_request_data(self, data):
if isinstance(data, dict):
return {k: self._sanitize_request_data(v) for k, v in data.items()}

elif isinstance(data, (list, tuple)):
return [self._sanitize_request_data(item) for item in data]

elif isinstance(data, Enum):
return data.value

return data

def request(self, method, url_path, params=None, data=None):
return self._request_client.request(
method.lower(),
self._construct_url(url_path),
params=params,
data=data,
params=self._sanitize_request_data(params),
data=self._sanitize_request_data(data),
)
Loading