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