Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find user endpoint. #59

Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 27 additions & 1 deletion apps/jobs/views.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import jwt
import uuid
import os
import json
from re import search
import django.core.exceptions
from django.http import FileResponse
from django.http import FileResponse, JsonResponse
from django.db.utils import IntegrityError
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import status, viewsets
Expand Down Expand Up @@ -696,6 +697,31 @@ def remove_documents(self, request, pk=None):
f"{document_type.capitalize()} removed successfully", status.HTTP_200_OK
)

@action(detail=False, methods=["post"])
def find_user(self, request):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

function name should be "retrieve_users"

"""
to retrive user as per the filters in the post body.
"""

data = request.data
qualification = data.get("qualification", None)
experience = data.get("experience", None)
location = data.get("location", None)

queryset = User.objects.all()

if qualification:
queryset = queryset.filter(qualification__icontains=qualification)

if experience:
queryset = queryset.filter(experience=experience)

if location:
queryset = queryset.filter(address__icontains=location)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs refactoring,

if experience is not None:
queryset = queryset.filter(experience=experience)

is not None check for the experience filter, as it could be 0, and a falsy check (if experience:) would not work correctly in that case


serialized_data = UserSerializer(queryset, many=True)
return Response(serialized_data.data, status=status.HTTP_200_OK)


class CompanyViewSets(viewsets.ModelViewSet):
"""
Expand Down