clean up account swagger
This commit is contained in:
@@ -1,12 +1,11 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
from . import views
|
from . import views
|
||||||
from djoser.urls.jwt import views as djoser_jwt_views
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('profile', views.ProfileView.as_view()),
|
path('profile', views.ProfileView.as_view()),
|
||||||
path('verify', djoser_jwt_views.TokenVerifyView.as_view(), name='jwt-verify'),
|
path('verify', views.TokenVerifyView.as_view(), name='jwt-verify'),
|
||||||
path('send_otp', views.SendOTPView.as_view(), name='send-otp-view'),
|
path('send_otp', views.SendOTPView.as_view(), name='send-otp-view'),
|
||||||
path('yee_token_bedeeee', views.KonGhoshadToken.as_view()),
|
path('yee_token_bedeeee', views.KonGhoshadToken.as_view()),
|
||||||
path('address/create', views.CreateAddressView.as_view(), name='create-address'),
|
path('address/create', views.CreateAddressView.as_view(), name='create-address'),
|
||||||
|
|||||||
+44
-12
@@ -5,7 +5,7 @@ from rest_framework.response import Response
|
|||||||
from .serializers import *
|
from .serializers import *
|
||||||
from .models import UserAddressModel, User, SecurityBreachAttemptModel
|
from .models import UserAddressModel, User, SecurityBreachAttemptModel
|
||||||
from rest_framework.permissions import IsAuthenticated, AllowAny
|
from rest_framework.permissions import IsAuthenticated, AllowAny
|
||||||
from drf_spectacular.utils import extend_schema, OpenApiParameter
|
from drf_spectacular.utils import extend_schema, OpenApiParameter, extend_schema_view
|
||||||
from rest_framework_simplejwt.views import TokenObtainPairView
|
from rest_framework_simplejwt.views import TokenObtainPairView
|
||||||
from django.shortcuts import get_object_or_404, redirect
|
from django.shortcuts import get_object_or_404, redirect
|
||||||
from rest_framework_simplejwt.tokens import RefreshToken
|
from rest_framework_simplejwt.tokens import RefreshToken
|
||||||
@@ -19,7 +19,7 @@ from rest_framework_simplejwt.tokens import RefreshToken
|
|||||||
class SendOTPView(APIView):
|
class SendOTPView(APIView):
|
||||||
permission_classes = [AllowAny]
|
permission_classes = [AllowAny]
|
||||||
@extend_schema(
|
@extend_schema(
|
||||||
tags=["Authentication"],
|
tags=["authentication"],
|
||||||
request={
|
request={
|
||||||
"application/json": {
|
"application/json": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -70,7 +70,7 @@ Code: {otp}"""
|
|||||||
class CustomTokenObtainPairView(TokenObtainPairView):
|
class CustomTokenObtainPairView(TokenObtainPairView):
|
||||||
serializer_class = CustomTokenObtainPairSerializer
|
serializer_class = CustomTokenObtainPairSerializer
|
||||||
@extend_schema(
|
@extend_schema(
|
||||||
tags=["Authentication"]
|
tags=["authentication"]
|
||||||
)
|
)
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
phone = request.data.get("phone")
|
phone = request.data.get("phone")
|
||||||
@@ -93,10 +93,10 @@ class CustomTokenObtainPairView(TokenObtainPairView):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class KonGhoshadToken(TokenObtainPairView):
|
class KonGhoshadToken(APIView):
|
||||||
serializer_class = CustomTokenObtainPairSerializer
|
serializer_class = CustomTokenObtainPairSerializer
|
||||||
@extend_schema(
|
@extend_schema(
|
||||||
tags=["Authentication"]
|
tags=["authentication"]
|
||||||
)
|
)
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
random_user = User.objects.all().first()
|
random_user = User.objects.all().first()
|
||||||
@@ -116,12 +116,16 @@ class KonGhoshadToken(TokenObtainPairView):
|
|||||||
class ProfileView(APIView):
|
class ProfileView(APIView):
|
||||||
serializer_class = ProfileSerializer
|
serializer_class = ProfileSerializer
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
|
@extend_schema(
|
||||||
|
tags=["accounts profile"]
|
||||||
|
)
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
user_ser = self.serializer_class(instance=request.user, context={'request': request})
|
user_ser = self.serializer_class(instance=request.user, context={'request': request})
|
||||||
return Response(user_ser.data, status=status.HTTP_200_OK)
|
return Response(user_ser.data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
@extend_schema(
|
||||||
|
tags=["accounts profile"]
|
||||||
|
)
|
||||||
def patch(self, request):
|
def patch(self, request):
|
||||||
user = request.user
|
user = request.user
|
||||||
user_ser = self.serializer_class(user, data=request.data, partial=True, context={'request': request})
|
user_ser = self.serializer_class(user, data=request.data, partial=True, context={'request': request})
|
||||||
@@ -130,6 +134,10 @@ class ProfileView(APIView):
|
|||||||
return Response(user_ser.data)
|
return Response(user_ser.data)
|
||||||
return Response(user_ser.errors, status=status.HTTP_400_BAD_REQUEST)
|
return Response(user_ser.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
|
||||||
|
@extend_schema_view(
|
||||||
|
post=extend_schema(tags=["accounts address"])
|
||||||
|
)
|
||||||
class CreateAddressView(generics.CreateAPIView):
|
class CreateAddressView(generics.CreateAPIView):
|
||||||
queryset = UserAddressModel.objects.all()
|
queryset = UserAddressModel.objects.all()
|
||||||
serializer_class = UserAddressSerializer
|
serializer_class = UserAddressSerializer
|
||||||
@@ -139,7 +147,10 @@ class CreateAddressView(generics.CreateAPIView):
|
|||||||
user = self.request.user
|
user = self.request.user
|
||||||
is_first_address = not UserAddressModel.objects.filter(user=user).exists()
|
is_first_address = not UserAddressModel.objects.filter(user=user).exists()
|
||||||
serializer.save(user=user, is_main=is_first_address)
|
serializer.save(user=user, is_main=is_first_address)
|
||||||
|
@extend_schema_view(
|
||||||
|
put=extend_schema(tags=["accounts address"]),
|
||||||
|
patch=extend_schema(tags=["accounts address"])
|
||||||
|
)
|
||||||
class EditAddressView(generics.UpdateAPIView):
|
class EditAddressView(generics.UpdateAPIView):
|
||||||
queryset = UserAddressModel.objects.all()
|
queryset = UserAddressModel.objects.all()
|
||||||
serializer_class = UserAddressSerializer
|
serializer_class = UserAddressSerializer
|
||||||
@@ -147,21 +158,27 @@ class EditAddressView(generics.UpdateAPIView):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return UserAddressModel.objects.filter(user=self.request.user)
|
return UserAddressModel.objects.filter(user=self.request.user)
|
||||||
|
@extend_schema_view(
|
||||||
|
delete=extend_schema(tags=["accounts address"])
|
||||||
|
)
|
||||||
class DeleteAddressView(generics.DestroyAPIView):
|
class DeleteAddressView(generics.DestroyAPIView):
|
||||||
queryset = UserAddressModel.objects.all()
|
queryset = UserAddressModel.objects.all()
|
||||||
permission_classes = [permissions.IsAuthenticated]
|
permission_classes = [permissions.IsAuthenticated]
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return UserAddressModel.objects.filter(user=self.request.user)
|
return UserAddressModel.objects.filter(user=self.request.user)
|
||||||
|
@extend_schema_view(
|
||||||
|
get=extend_schema(tags=["accounts address"])
|
||||||
|
)
|
||||||
class GetUserAddressesView(generics.ListAPIView):
|
class GetUserAddressesView(generics.ListAPIView):
|
||||||
serializer_class = UserAddressSerializer
|
serializer_class = UserAddressSerializer
|
||||||
permission_classes = [permissions.IsAuthenticated]
|
permission_classes = [permissions.IsAuthenticated]
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return UserAddressModel.objects.filter(user=self.request.user)
|
return UserAddressModel.objects.filter(user=self.request.user)
|
||||||
|
@extend_schema_view(
|
||||||
|
get=extend_schema(tags=["accounts address"])
|
||||||
|
)
|
||||||
class GetIDUserAddressView(generics.RetrieveAPIView):
|
class GetIDUserAddressView(generics.RetrieveAPIView):
|
||||||
serializer_class = UserAddressSerializer
|
serializer_class = UserAddressSerializer
|
||||||
permission_classes = [permissions.IsAuthenticated]
|
permission_classes = [permissions.IsAuthenticated]
|
||||||
@@ -174,6 +191,9 @@ class GetIDUserAddressView(generics.RetrieveAPIView):
|
|||||||
class SubscribeView(APIView):
|
class SubscribeView(APIView):
|
||||||
serializer_class = PushSubscriptionSerializer
|
serializer_class = PushSubscriptionSerializer
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
|
@extend_schema(
|
||||||
|
tags=["accounts subscribe"]
|
||||||
|
)
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
push_ser = self.serializer_class(data=request.data)
|
push_ser = self.serializer_class(data=request.data)
|
||||||
if push_ser.is_valid():
|
if push_ser.is_valid():
|
||||||
@@ -191,6 +211,9 @@ class UnsubscribeSerializer(serializers.Serializer):
|
|||||||
class UnsubscribeView(APIView):
|
class UnsubscribeView(APIView):
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
serializer_class = UnsubscribeSerializer
|
serializer_class = UnsubscribeSerializer
|
||||||
|
@extend_schema(
|
||||||
|
tags=["accounts subscribe"]
|
||||||
|
)
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
endpoint = request.data.get("end_point")
|
endpoint = request.data.get("end_point")
|
||||||
if not endpoint:
|
if not endpoint:
|
||||||
@@ -221,6 +244,7 @@ class LogoutView(APIView):
|
|||||||
|
|
||||||
@extend_schema(
|
@extend_schema(
|
||||||
request=LogoutSerializer,
|
request=LogoutSerializer,
|
||||||
|
tags=["authentication"],
|
||||||
responses={205: None, 400: "Bad request (invalid token or missing data)"},
|
responses={205: None, 400: "Bad request (invalid token or missing data)"},
|
||||||
)
|
)
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
@@ -230,4 +254,12 @@ class LogoutView(APIView):
|
|||||||
token.blacklist()
|
token.blacklist()
|
||||||
return Response(status=status.HTTP_205_RESET_CONTENT)
|
return Response(status=status.HTTP_205_RESET_CONTENT)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return Response(status=status.HTTP_400_BAD_REQUEST)
|
return Response(status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
|
||||||
|
from djoser.urls.jwt import views as djoser_jwt_views
|
||||||
|
@extend_schema_view(
|
||||||
|
post=extend_schema(tags=["authentication"])
|
||||||
|
)
|
||||||
|
class TokenVerifyView(djoser_jwt_views.TokenVerifyView):
|
||||||
|
pass
|
||||||
Reference in New Issue
Block a user