Files
hossein-por-shop/backend/account/views.py
T
AmirHossein Shirazi 0f76be9f11 address complete
2024-12-14 14:27:53 +03:30

60 lines
2.2 KiB
Python

from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework import generics, permissions, status
from rest_framework.response import Response
from .serializers import ProfileSerializer, UserAddressSerializer
from .models import UserAddressModel
from rest_framework.permissions import IsAuthenticated
class ProfileView(APIView):
serializer_class = ProfileSerializer
permission_classes = [IsAuthenticated]
def get(self, request):
user_ser = self.serializer_class(instance=request.user)
return Response(user_ser.data, status=status.HTTP_200_OK)
def patch(self, request):
user = request.user
user_ser = self.serializer_class(user, data=request.data, partial=True)
if user_ser.is_valid():
user_ser.save()
return Response(user_ser.data)
return Response(user_ser.errors, status=status.HTTP_400_BAD_REQUEST)
class CreateAddressView(generics.CreateAPIView):
queryset = UserAddressModel.objects.all()
serializer_class = UserAddressSerializer
permission_classes = [permissions.IsAuthenticated]
def perform_create(self, serializer):
serializer.save(user=self.request.user)
class EditAddressView(generics.UpdateAPIView):
queryset = UserAddressModel.objects.all()
serializer_class = UserAddressSerializer
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return UserAddressModel.objects.filter(user=self.request.user)
class DeleteAddressView(generics.DestroyAPIView):
queryset = UserAddressModel.objects.all()
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return UserAddressModel.objects.filter(user=self.request.user)
class GetUserAddressesView(generics.ListAPIView):
serializer_class = UserAddressSerializer
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return UserAddressModel.objects.filter(user=self.request.user)
class GetIDUserAddressView(generics.RetrieveAPIView):
serializer_class = UserAddressSerializer
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return UserAddressModel.objects.filter(user=self.request.user)