From 9d97ec3d760ff1bf2e9505f001421982deb2d785 Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Tue, 11 Nov 2025 16:17:40 +0300 Subject: [PATCH] Features: 1) Replace `constance` with `django.conf.settings` for dynamic config values; 2) Update `UserSerializer` to include `avatar` instead of `avatar_url`. Fixes: 1) Remove unused `get_avatar_url` method in `UserSerializer`. Extra: 1) Reorganize imports in serializers and middleware for clarity; 2) General code cleanup in `UserSerializer`. --- engine/vibes_auth/serializers.py | 14 +++----------- evibes/middleware.py | 4 ++-- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/engine/vibes_auth/serializers.py b/engine/vibes_auth/serializers.py index 1f1be642..cee31913 100644 --- a/engine/vibes_auth/serializers.py +++ b/engine/vibes_auth/serializers.py @@ -4,7 +4,7 @@ from contextlib import suppress from hmac import compare_digest from typing import Any -from constance import config +from django.conf import settings from django.contrib.auth import authenticate from django.contrib.auth.models import update_last_login from django.contrib.auth.password_validation import validate_password @@ -16,9 +16,9 @@ from rest_framework.fields import ( BooleanField, CharField, EmailField, + JSONField, ListField, SerializerMethodField, - JSONField, ) from rest_framework.serializers import ModelSerializer, Serializer from rest_framework_simplejwt.exceptions import TokenError @@ -30,7 +30,6 @@ from rest_framework_simplejwt.tokens import RefreshToken, Token, UntypedToken from engine.core.models import Product from engine.core.serializers import ProductSimpleSerializer from engine.core.utils.security import is_safe_key -from django.conf import settings from engine.vibes_auth.models import User from engine.vibes_auth.validators import validate_phone_number @@ -38,25 +37,18 @@ logger = logging.getLogger(__name__) class UserSerializer(ModelSerializer): - avatar_url = SerializerMethodField(required=False, read_only=True) password = CharField(write_only=True, required=False) confirm_password = CharField(write_only=True, required=False) is_staff = BooleanField(read_only=True) recently_viewed = SerializerMethodField(required=False, read_only=True) attributes = JSONField(required=False) - @staticmethod - def get_avatar_url(obj) -> str: - if obj.avatar: - return f"https://api.{config.BASE_DOMAIN}/media/{obj.avatar!s}" - return f"https://api.{config.BASE_DOMAIN}/static/person.png" - class Meta: model = User fields = [ "uuid", "email", - "avatar_url", + "avatar", "is_staff", "recently_viewed", "attributes", diff --git a/evibes/middleware.py b/evibes/middleware.py index 77065f41..5532ac60 100644 --- a/evibes/middleware.py +++ b/evibes/middleware.py @@ -1,7 +1,7 @@ import logging from os import getenv -from constance import config +from django.conf import settings from django.contrib.auth.models import AnonymousUser from django.core.exceptions import BadRequest, DisallowedHost, PermissionDenied, ValidationError from django.http import HttpResponseForbidden @@ -21,7 +21,7 @@ class CustomCommonMiddleware(CommonMiddleware): try: return super().process_request(request) except DisallowedHost: - return redirect(f"https://api.{config.BASE_DOMAIN}") + return redirect(f"https://api.{settings.BASE_DOMAIN}") class CustomLocaleMiddleware(LocaleMiddleware):