From 1331bcd1b9e349378977a1afc7cc96353bf39921 Mon Sep 17 00:00:00 2001 From: kamalca Date: Thu, 13 Feb 2020 00:54:06 -0800 Subject: [PATCH] get_user_by_id It's like get user by email, but by id instead. Co-Authored-By: Hirday Gupta --- user_backend/users/views.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/user_backend/users/views.py b/user_backend/users/views.py index 67e835e..2927861 100644 --- a/user_backend/users/views.py +++ b/user_backend/users/views.py @@ -77,10 +77,16 @@ class UserService(APIView): def get(self, request, format=None): """ Get data of a user. - QUERY PARAMETER: email="email@address.com" + QUERY PARAMETER: email="email@address.com"* OR id= """ email = request.GET.get('email') - user = get_user_by_email(email) + id = request.GET.get('id') + if email: + user = get_user_by_email(email) + elif id: + user = get_user_by_id(id) + else: + return Response(status=status.HTTP_400_BAD_REQUEST) serializer = UserSerializer(user) return Response(serializer.data) @@ -184,6 +190,15 @@ def get_user_by_email(email): except: raise Http404 +def get_user_by_id(id): + """ + Returns user based on public key + """ + try: + return User.objects.get(id=id) + except: + raise Http404 + def get_user_by_pk(pk): try: return User.objects.get(pk=pk)