feat(users): add search endpoint for adding new user to workspace by mobile
This commit is contained in:
@@ -28,6 +28,7 @@ from apps.users.api.serializers import (
|
||||
TokenPairSerializer,
|
||||
RegisterWithPasswordSerializer,
|
||||
UserProfileSerializer,
|
||||
UserSearchSerializer,
|
||||
)
|
||||
from apps.users.services.auth import (
|
||||
register_user_with_password,
|
||||
@@ -246,3 +247,25 @@ class UserProfileViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin
|
||||
|
||||
def get_object(self):
|
||||
return self.request.user
|
||||
|
||||
|
||||
class UserSearchAPIView(APIView):
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def get(self, request):
|
||||
mobile = request.query_params.get('mobile')
|
||||
if not mobile:
|
||||
return Response(
|
||||
{"detail": "Mobile parameter is required."},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
user = User.objects.filter(mobile=mobile).first()
|
||||
if not user:
|
||||
return Response(
|
||||
{"detail": "User not found."},
|
||||
status=status.HTTP_404_NOT_FOUND
|
||||
)
|
||||
|
||||
serializer = UserSearchSerializer(user, context={"request": request})
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
Reference in New Issue
Block a user