From 7d17a32e84097967a5faff3c76bd98f73f8c0341 Mon Sep 17 00:00:00 2001 From: Ernie Yang Date: Mon, 2 Feb 2026 09:54:31 +0800 Subject: [PATCH 1/2] fix: fix enum issue when decoding to request json payload --- magic_admin/resources/base.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/magic_admin/resources/base.py b/magic_admin/resources/base.py index ba0050f..22a8747 100644 --- a/magic_admin/resources/base.py +++ b/magic_admin/resources/base.py @@ -1,3 +1,5 @@ +from enum import Enum + from magic_admin.config import base_url from magic_admin.http_client import RequestsClient @@ -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), ) From 61d75eac2bd6831dbafff7d8f14f0eabe9f01c3e Mon Sep 17 00:00:00 2001 From: Ernie Yang Date: Mon, 2 Feb 2026 09:55:08 +0800 Subject: [PATCH 2/2] chore: pre-commit --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 992b3af..810f81d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,7 +18,7 @@ repos: - id: codespell exclude: ^locale/ - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.8 + rev: v0.14.14 hooks: - id: ruff-check args: [--fix]