From bdbc0315ac28161ddca294f61b7ccf2121b3700c Mon Sep 17 00:00:00 2001 From: Okhunjon Kuvatov Date: Fri, 6 Feb 2026 21:24:34 +0500 Subject: [PATCH 1/3] Feat: Add a new get_metadata_by_email method to the User --- .pre-commit-config.yaml | 2 +- magic_admin/resources/user.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 992b3af..1102faf 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.15.0 hooks: - id: ruff-check args: [--fix] diff --git a/magic_admin/resources/user.py b/magic_admin/resources/user.py index f0c60cb..f684b3d 100644 --- a/magic_admin/resources/user.py +++ b/magic_admin/resources/user.py @@ -6,6 +6,14 @@ class User(ResourceComponent): v1_user_info = "/v1/admin/user" v1_user_logout = "/v1/admin/user/logout" + v2_user_info = "/v2/admin/user" + + def get_metadata_by_email(self, email): + return self.request( + "get", + self.v2_user_info, + params={"type": "email", "value": email}, + ) def get_metadata_by_issuer_and_wallet(self, issuer, wallet_type): return self.request( From 5ba1041f3e0e6d35686399ee68a6d78a4e528898 Mon Sep 17 00:00:00 2001 From: Okhunjon Kuvatov Date: Fri, 6 Feb 2026 21:27:22 +0500 Subject: [PATCH 2/3] Add a unit test for get_metadata_by_email --- tests/unit/resources/user_test.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/unit/resources/user_test.py b/tests/unit/resources/user_test.py index e336572..53afb77 100644 --- a/tests/unit/resources/user_test.py +++ b/tests/unit/resources/user_test.py @@ -55,6 +55,22 @@ def setup(self): self.user = User() self.user.Token = mock.Mock() + def test_get_metadata_by_email(self): + self.user.request = mock.Mock(return_value=self.metadata_no_wallets) + + assert ( + self.user.get_metadata_by_email( + sentinel.email, + ) + == self.metadata_no_wallets + ) + + self.user.request.assert_called_once_with( + "get", + self.user.v2_user_info, + params={"type": "email", "value": sentinel.email}, + ) + @pytest.fixture def mock_construct_issuer_with_public_address(self, mocker): return mocker.patch( From 84873edd97b40e7eb16182ecda4ea49e5ee66fed Mon Sep 17 00:00:00 2001 From: Okhunjon Kuvatov Date: Mon, 9 Feb 2026 18:52:59 +0500 Subject: [PATCH 3/3] Bump the package version to 2.2.0 --- CHANGELOG.md | 9 +++++++++ pyproject.toml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc0be47..3ed95c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## `2.2.0` - 2026-02-06 + +#### 🚀 New Features + +- **Added `get_metadata_by_email` to User resource** + - Enables retrieving user metadata using email address. + +--- + ## `2.1.3` - 2025-11-24 #### 🐛 Bug Fixes diff --git a/pyproject.toml b/pyproject.toml index 5082bef..746f985 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "magic-admin" -version = "2.1.3" +version = "2.2.0" description = "Magic Python Library" readme = "README.md" authors = [