1- from django .shortcuts import render
1+ from rest_framework import status , permissions
2+ from rest_framework .response import Response
3+ from rest_framework_simplejwt .views import TokenObtainPairView
4+ from rest_framework .views import APIView
5+ from rest_framework_simplejwt .tokens import RefreshToken
6+ from .serializers import MyTokenObtainPairSerializer , CustomUserSerializer
27
3- # Create your views here.
8+
9+ class ObtainTokenPairWithColorView (TokenObtainPairView ):
10+ serializer_class = MyTokenObtainPairSerializer
11+
12+
13+ class CustomUserCreate (APIView ):
14+ permission_classes = (permissions .AllowAny ,)
15+ authentication_classes = ()
16+
17+ def post (self , request , format = 'json' ):
18+ serializer = CustomUserSerializer (data = request .data )
19+ if serializer .is_valid ():
20+ user = serializer .save ()
21+ if user :
22+ json = serializer .data
23+ return Response (json , status = status .HTTP_201_CREATED )
24+ return Response (serializer .errors , status = status .HTTP_400_BAD_REQUEST )
25+
26+
27+ class HelloWorldView (APIView ):
28+
29+ def get (self , request ):
30+ return Response (data = {"hello" :"world" }, status = status .HTTP_200_OK )
31+
32+
33+ class LogoutAndBlacklistRefreshTokenForUserView (APIView ):
34+ permission_classes = (permissions .AllowAny ,)
35+ authentication_classes = ()
36+
37+ def post (self , request ):
38+ try :
39+ refresh_token = request .data ["refresh_token" ]
40+ token = RefreshToken (refresh_token )
41+ token .blacklist ()
42+ return Response (status = status .HTTP_205_RESET_CONTENT )
43+ except Exception as e :
44+ return Response (status = status .HTTP_400_BAD_REQUEST )
0 commit comments