|
1 |
| -import rest_framework.exceptions |
2 | 1 | import rest_framework.generics
|
3 | 2 | import rest_framework.response
|
4 |
| -import rest_framework.serializers |
5 | 3 | import rest_framework.status
|
6 |
| -import rest_framework_simplejwt.exceptions |
7 | 4 | import rest_framework_simplejwt.tokens
|
8 | 5 | import rest_framework_simplejwt.views
|
9 | 6 |
|
10 |
| -import core.views |
11 | 7 | import user.serializers
|
12 | 8 |
|
13 | 9 |
|
14 |
| -class SignUpView( |
15 |
| - core.views.BaseCustomResponseMixin, |
| 10 | +class UserSignUpView( |
16 | 11 | rest_framework.generics.CreateAPIView,
|
17 | 12 | ):
|
18 | 13 | serializer_class = user.serializers.SignUpSerializer
|
19 | 14 |
|
20 | 15 | def create(self, request, *args, **kwargs):
|
21 | 16 | serializer = self.get_serializer(data=request.data)
|
22 |
| - |
23 |
| - try: |
24 |
| - serializer.is_valid(raise_exception=True) |
25 |
| - except rest_framework.exceptions.ValidationError: |
26 |
| - return self.handle_validation_error() |
| 17 | + serializer.is_valid(raise_exception=True) |
27 | 18 |
|
28 | 19 | user = serializer.save()
|
29 |
| - |
30 | 20 | refresh = rest_framework_simplejwt.tokens.RefreshToken.for_user(user)
|
31 | 21 | refresh['token_version'] = user.token_version
|
| 22 | + |
32 | 23 | access_token = refresh.access_token
|
33 | 24 |
|
| 25 | + response_data = { |
| 26 | + 'access': str(access_token), |
| 27 | + 'refresh': str(refresh), |
| 28 | + } |
| 29 | + |
34 | 30 | return rest_framework.response.Response(
|
35 |
| - {'access': str(access_token), 'refresh': str(refresh)}, |
| 31 | + response_data, |
36 | 32 | status=rest_framework.status.HTTP_200_OK,
|
37 | 33 | )
|
38 | 34 |
|
39 | 35 |
|
40 |
| -class SignInView( |
41 |
| - core.views.BaseCustomResponseMixin, |
| 36 | +class UserSignInView( |
42 | 37 | rest_framework_simplejwt.views.TokenObtainPairView,
|
43 | 38 | ):
|
44 | 39 | serializer_class = user.serializers.SignInSerializer
|
45 |
| - |
46 |
| - def post(self, request, *args, **kwargs): |
47 |
| - try: |
48 |
| - serializer = self.get_serializer(data=request.data) |
49 |
| - serializer.is_valid(raise_exception=True) |
50 |
| - except ( |
51 |
| - rest_framework.serializers.ValidationError, |
52 |
| - rest_framework_simplejwt.exceptions.TokenError, |
53 |
| - ) as e: |
54 |
| - if isinstance(e, rest_framework.serializers.ValidationError): |
55 |
| - return self.handle_validation_error() |
56 |
| - |
57 |
| - raise rest_framework_simplejwt.exceptions.InvalidToken(str(e)) |
58 |
| - |
59 |
| - response_data = { |
60 |
| - 'access': serializer.validated_data['access'], |
61 |
| - 'refresh': serializer.validated_data['refresh'], |
62 |
| - } |
63 |
| - |
64 |
| - return rest_framework.response.Response( |
65 |
| - response_data, |
66 |
| - status=rest_framework.status.HTTP_200_OK, |
67 |
| - ) |
0 commit comments