add profile info view
This commit is contained in:
parent
b068359e58
commit
a297597dc4
@ -1,6 +1,6 @@
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from .models import Game, Team, Gamer, CheckPoint
|
from .models import Game, Team, Gamer, CheckPoint, Profile
|
||||||
|
|
||||||
class GameListSerializer(serializers.ModelSerializer):
|
class GameListSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -17,6 +17,17 @@ class UserRegisterSerializer(serializers.ModelSerializer):
|
|||||||
'email'
|
'email'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
class ProfileInfoSerializer(serializers.ModelSerializer):
|
||||||
|
username = serializers.SerializerMethodField()
|
||||||
|
class Meta:
|
||||||
|
model = Profile
|
||||||
|
fields = [
|
||||||
|
'points',
|
||||||
|
'username'
|
||||||
|
]
|
||||||
|
def get_username(self, obj):
|
||||||
|
return obj.user.username
|
||||||
|
|
||||||
class CheckPointCoordinatesSerializer(serializers.ModelSerializer):
|
class CheckPointCoordinatesSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CheckPoint
|
model = CheckPoint
|
||||||
@ -36,10 +47,6 @@ class CurrentCheckPointSerializer(serializers.ModelSerializer):
|
|||||||
'description',
|
'description',
|
||||||
'address',
|
'address',
|
||||||
]
|
]
|
||||||
# def get_done_check_points(self, obj):
|
|
||||||
|
|
||||||
# return(CheckPointCoordinatesSerializer(obj).data)
|
|
||||||
|
|
||||||
|
|
||||||
class TeamSerializer(serializers.ModelSerializer):
|
class TeamSerializer(serializers.ModelSerializer):
|
||||||
game = serializers.SerializerMethodField()
|
game = serializers.SerializerMethodField()
|
||||||
|
@ -12,6 +12,7 @@ urlpatterns = [
|
|||||||
path('register', views.UserRegisterAPIView, name = 'UserRegister'),
|
path('register', views.UserRegisterAPIView, name = 'UserRegister'),
|
||||||
path('login', obtain_auth_token, name = 'UserLogin'),
|
path('login', obtain_auth_token, name = 'UserLogin'),
|
||||||
path('logout', views.UserLogoutAPIView, name = 'UserLogout'),
|
path('logout', views.UserLogoutAPIView, name = 'UserLogout'),
|
||||||
|
path('profile', views.ProfileInfoAPIView, name = 'ProfileInfo'),
|
||||||
path('activate/<uidb64>/<token>', views.UserActivationAPIView, name = 'UserActivation'),
|
path('activate/<uidb64>/<token>', views.UserActivationAPIView, name = 'UserActivation'),
|
||||||
path('reset_password_request', views.UserResetPasswordRequestAPIView, name = 'UserResetPasswordRequest'),
|
path('reset_password_request', views.UserResetPasswordRequestAPIView, name = 'UserResetPasswordRequest'),
|
||||||
path('reset_password/<uidb64>/<token>', views.UserResetPasswordAPIView, name = 'UserResetPassword'),
|
path('reset_password/<uidb64>/<token>', views.UserResetPasswordAPIView, name = 'UserResetPassword'),
|
||||||
|
@ -10,7 +10,7 @@ from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
|
|||||||
from django.template.loader import render_to_string
|
from django.template.loader import render_to_string
|
||||||
from django.contrib.auth.tokens import PasswordResetTokenGenerator
|
from django.contrib.auth.tokens import PasswordResetTokenGenerator
|
||||||
from django.core.mail import EmailMultiAlternatives
|
from django.core.mail import EmailMultiAlternatives
|
||||||
from .serializers import UserRegisterSerializer, UserResetPasswordSerializer, UserPasswordSerializer, GameListSerializer, TeamSerializer, CurrentCheckPointSerializer, CheckPointCoordinatesSerializer
|
from .serializers import UserRegisterSerializer, UserResetPasswordSerializer, UserPasswordSerializer, GameListSerializer, TeamSerializer, CurrentCheckPointSerializer, CheckPointCoordinatesSerializer, ProfileInfoSerializer
|
||||||
from django.utils.html import strip_tags
|
from django.utils.html import strip_tags
|
||||||
from django.contrib.auth.password_validation import validate_password
|
from django.contrib.auth.password_validation import validate_password
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
from django_filters.rest_framework import DjangoFilterBackend
|
||||||
@ -299,6 +299,13 @@ def UserResetPasswordAPIView(request, uidb64, token):
|
|||||||
return Response({'ok':False, 'error':'User does not exist'}, status = status.HTTP_400_BAD_REQUEST)
|
return Response({'ok':False, 'error':'User does not exist'}, status = status.HTTP_400_BAD_REQUEST)
|
||||||
return Response({'ok':False, 'error':serializer.errors}, status = status.HTTP_400_BAD_REQUEST)
|
return Response({'ok':False, 'error':serializer.errors}, status = status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
@api_view(['GET'])
|
||||||
|
@permission_classes([permissions.IsAuthenticated])
|
||||||
|
def ProfileInfoAPIView(request):
|
||||||
|
profile = Profile.objects.get(user = request.user)
|
||||||
|
serializer = ProfileInfoSerializer(profile)
|
||||||
|
return Response({'ok':True, **serializer.data}, status = status.HTTP_200_OK)
|
||||||
|
|
||||||
@api_view(['POST'])
|
@api_view(['POST'])
|
||||||
@permission_classes([permissions.IsAuthenticated])
|
@permission_classes([permissions.IsAuthenticated])
|
||||||
def UserLogoutAPIView(request):
|
def UserLogoutAPIView(request):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user