From 64bba25fb93d431ba1af7d164bd71df9521e49a4 Mon Sep 17 00:00:00 2001 From: i701 Date: Thu, 31 Jul 2025 19:23:12 +0500 Subject: [PATCH] feat(user): enhance user filtering logic to support combined ID card and mobile queries --- api/views.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/api/views.py b/api/views.py index d3db78d..79ffbb5 100644 --- a/api/views.py +++ b/api/views.py @@ -515,12 +515,14 @@ def filter_user(request): return Response({"ok": False}) filters = Q() - if id_card is not None: - filters |= Q(id_card=id_card) - if mobile is not None: - filters |= Q(mobile=mobile) + if id_card and mobile: + filters = Q(id_card=id_card) & Q(mobile=mobile) + elif id_card: + filters = Q(id_card=id_card) + elif mobile: + filters = Q(mobile=mobile) - user = User.objects.filter(filters).first() + user = User.objects.only("id", "verified").filter(filters).first() print(f"Querying with filters: {filters}") print(f"Found user: {user}") @@ -541,12 +543,14 @@ def filter_temporary_user(request): return Response({"ok": False}) filters = Q() - if id_card is not None: + if id_card and mobile: + filters |= Q(t_id_card=id_card) & Q(t_mobile=mobile) + elif id_card: filters |= Q(t_id_card=id_card) - if mobile is not None: + elif mobile: filters |= Q(t_mobile=mobile) - user = TemporaryUser.objects.filter(filters).first() + user = TemporaryUser.objects.only("t_id", "otp_verified").filter(filters).first() print(f"Querying with filters: {filters}") print(f"Found temporary user: {user}")