From acd2f752b9d79953200e2678e1cd5208ef195e39 Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Tue, 25 Nov 2025 11:28:30 +0300 Subject: [PATCH] Features: 1) Add `retrieve_user` argument handling with `pop` for enhanced parameter management in serializers; Fixes: 1) Remove redundant `retrieve_user` initialization from constructors; Extra: Minor code cleanup for consistency and readability in serializers. --- engine/vibes_auth/serializers.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/engine/vibes_auth/serializers.py b/engine/vibes_auth/serializers.py index 8ef7aa5d..a6743853 100644 --- a/engine/vibes_auth/serializers.py +++ b/engine/vibes_auth/serializers.py @@ -134,11 +134,12 @@ class TokenObtainSerializer(Serializer): default_error_messages = {"no_active_account": _("no active account")} def __init__(self, *args, **kwargs) -> None: + retrieve_user: bool = kwargs.pop("retrieve_user", True) super().__init__(*args, **kwargs) self.user: User | None = None self.user_uuid: str | None = None - self.retrieve_user: bool = kwargs.get("retrieve_user", True) + self.retrieve_user: bool = retrieve_user self.fields[self.username_field] = CharField(write_only=True) self.fields["password"] = PasswordField() @@ -174,8 +175,6 @@ class TokenObtainPairSerializer(TokenObtainSerializer): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) - self.retrieve_user: bool = kwargs.get("retrieve_user", True) - def validate(self, attrs: dict[str, Any]) -> dict[str, str]: data = super().validate(attrs) @@ -203,9 +202,10 @@ class TokenRefreshSerializer(Serializer): token_class = RefreshToken def __init__(self, *args, **kwargs) -> None: + retrieve_user: bool = kwargs.pop("retrieve_user", True) super().__init__(*args, **kwargs) - self.retrieve_user: bool = kwargs.get("retrieve_user", True) + self.retrieve_user: bool = retrieve_user def validate(self, attrs: dict[str, Any]) -> dict[str, str]: refresh = self.token_class(attrs["refresh"]) @@ -236,9 +236,10 @@ class TokenVerifySerializer(Serializer): token = CharField(write_only=True) def __init__(self, *args, **kwargs) -> None: + retrieve_user: bool = kwargs.pop("retrieve_user", True) super().__init__(*args, **kwargs) - self.retrieve_user: bool = kwargs.get("retrieve_user", True) + self.retrieve_user: bool = retrieve_user def validate(self, attrs: dict[str, None]) -> dict[Any, Any]: token = UntypedToken(attrs["token"])