customerwebsitebackend/api/views.py
vickytechkey 6b22195040
All checks were successful
Deploy Beta (NATIVE) / deploy (push) Successful in 18s
adding logs
2026-08-14 19:09:52 +05:30

42 lines
1.7 KiB
Python

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"})