From 436a8b7d7a639f96a1512565c1b765c3773a0af0 Mon Sep 17 00:00:00 2001 From: i701 Date: Fri, 11 Jul 2025 11:44:40 +0500 Subject: [PATCH] =?UTF-8?q?feat(profile):=20add=20user=20profile=20update?= =?UTF-8?q?=20serializer=20and=20update=20profile=20URL=20to=20use=20Userp?= =?UTF-8?q?rofileAPIView=20=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/serializers.py | 15 ++++++++++++++- api/urls.py | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/api/serializers.py b/api/serializers.py index b204c99..71532d4 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -1,9 +1,12 @@ from knox.models import AuthToken from django.contrib.auth import authenticate -from api.models import User, Atoll, Island, TemporaryUser +from api.models import Atoll, Island, TemporaryUser from django.contrib.auth.models import Permission from rest_framework import serializers +from django.contrib.auth import get_user_model + +User = get_user_model() class IslandSerializer(serializers.ModelSerializer): @@ -21,6 +24,15 @@ class AtollSerializer(serializers.ModelSerializer): depth = 2 +class UserProfileUpdateSerializer(serializers.ModelSerializer): + class Meta: # type: ignore + model = User + fields = ( + "email", + "mobile", + ) # Only allow these fields + + class CustomUserSerializer(serializers.ModelSerializer): """serializer for the user object""" @@ -80,6 +92,7 @@ class CustomReadOnlyUserSerializer(serializers.ModelSerializer): "username", "mobile", "address", + "acc_no", "id_card", ) depth = 1 diff --git a/api/urls.py b/api/urls.py index 828d5e3..00ae448 100644 --- a/api/urls.py +++ b/api/urls.py @@ -5,7 +5,7 @@ from knox import views as knox_views from .views import ( LoginView, CreateTemporaryUserView, - ManageUserView, + UserprofileAPIView, KnoxTokenListApiView, ListUserView, UserDetailAPIView, @@ -27,7 +27,7 @@ from .views import ( urlpatterns = [ path("register/", CreateTemporaryUserView.as_view(), name="register"), path("register/verify/", VerifyOTPView.as_view(), name="verify-otp"), - path("profile/", ManageUserView.as_view(), name="profile"), + path("profile/", UserprofileAPIView.as_view(), name="profile"), path("login/", LoginView.as_view(), name="knox_login"), path("logout/", knox_views.LogoutView.as_view(), name="knox_logout"), path("logoutall/", knox_views.LogoutAllView.as_view(), name="knox_logoutall"),