import logging audit_logger = logging.getLogger('audit') from rest_framework import status, permissions from rest_framework.response import Response from rest_framework.views import APIView from django.contrib.auth.models import User from .serializers import UserRegisterSerializer class UserRegisterView(APIView): permission_classes = [permissions.AllowAny] def post(self, request): serializer = UserRegisterSerializer(data=request.data) if serializer.is_valid(): serializer.save() audit_logger.info(f"AUDIT - User Register: Username '{serializer.validated_data.get('username')}' registered successfully.") return Response({"message": "User registered successfully"}, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) class UserProfileView(APIView): permission_classes = [permissions.IsAuthenticated] def get(self, request): user = request.user profile = getattr(user, 'customer_profile', None) return Response({ "username": user.username, "email": user.email, "phone": profile.phone if profile else "", "address": profile.default_address if profile else "" }) def put(self, request): user = request.user profile = getattr(user, 'customer_profile', None) user.email = request.data.get('email', user.email) user.save() if profile: profile.phone = request.data.get('phone', profile.phone) profile.default_address = request.data.get('address', profile.default_address) profile.save() return Response({"message": "Profile updated successfully"})