add profile info view
This commit is contained in:
parent
b068359e58
commit
a297597dc4
@ -1,6 +1,6 @@
|
||||
from rest_framework import serializers
|
||||
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 Meta:
|
||||
@ -17,6 +17,17 @@ class UserRegisterSerializer(serializers.ModelSerializer):
|
||||
'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 Meta:
|
||||
model = CheckPoint
|
||||
@ -36,10 +47,6 @@ class CurrentCheckPointSerializer(serializers.ModelSerializer):
|
||||
'description',
|
||||
'address',
|
||||
]
|
||||
# def get_done_check_points(self, obj):
|
||||
|
||||
# return(CheckPointCoordinatesSerializer(obj).data)
|
||||
|
||||
|
||||
class TeamSerializer(serializers.ModelSerializer):
|
||||
game = serializers.SerializerMethodField()
|
||||
|
@ -12,6 +12,7 @@ urlpatterns = [
|
||||
path('register', views.UserRegisterAPIView, name = 'UserRegister'),
|
||||
path('login', obtain_auth_token, name = 'UserLogin'),
|
||||
path('logout', views.UserLogoutAPIView, name = 'UserLogout'),
|
||||
path('profile', views.ProfileInfoAPIView, name = 'ProfileInfo'),
|
||||
path('activate/<uidb64>/<token>', views.UserActivationAPIView, name = 'UserActivation'),
|
||||
path('reset_password_request', views.UserResetPasswordRequestAPIView, name = 'UserResetPasswordRequest'),
|
||||
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.contrib.auth.tokens import PasswordResetTokenGenerator
|
||||
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.contrib.auth.password_validation import validate_password
|
||||
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':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'])
|
||||
@permission_classes([permissions.IsAuthenticated])
|
||||
def UserLogoutAPIView(request):
|
||||
|
Loading…
x
Reference in New Issue
Block a user