Sfoglia il codice sorgente

New urls for phone number

david.berlinskiy 11 mesi fa
parent
commit
11c22f073b
3 ha cambiato i file con 32 aggiunte e 2 eliminazioni
  1. 1 1
      SharixAdmin/urls.py
  2. 2 1
      SharixAdmin/views/__init__.py
  3. 29 0
      SharixAdmin/views/get_userid.py

+ 1 - 1
SharixAdmin/urls.py

@@ -53,9 +53,9 @@ urlpatterns = [
 
     path('api/v1/auth/', include('djoser.urls.authtoken'), name="api-auth"),
     path('api/v1/platform/', include(router.urls), name="api-platform"),
+    path('by_phone/<phone_number>/', get_user_by_phone_number, name='get_user_by_phone_number'),
 
     path('senderphone/', PhoneSender.as_view()),
-
     #schemas
     path('schemav1/', login_required(Schema.as_view()), name='schemav1'),
     path('schemav2/', login_required(Plate.as_view()),  name='schemav2'),

+ 2 - 1
SharixAdmin/views/__init__.py

@@ -14,4 +14,5 @@ from .test import testPage
 from .balance import balance
 from .trans_id import trans_id
 from .schema import schema_v3
-from .user_info import UserListView
+from .user_info import UserListView
+from .get_userid import get_user_by_phone_number

+ 29 - 0
SharixAdmin/views/get_userid.py

@@ -0,0 +1,29 @@
+from django.http import JsonResponse
+from django.contrib.auth import get_user_model
+from django.contrib.auth.decorators import login_required
+from django.views.decorators.csrf import csrf_exempt
+
+@csrf_exempt
+def get_user_by_phone_number(request, phone_number):
+    if request.method == 'GET':
+        if phone_number:
+            User = get_user_model()
+            try:
+                users_with_phone = User.objects.filter(phone_number=phone_number)
+                if users_with_phone.exists():
+                    user = users_with_phone.first()
+                    user_info = {
+                        'id': user.id,
+                        'username': user.username,
+                        'email': user.email,
+                    }
+                    return JsonResponse(user_info)
+                else:
+                    # Если пользователь не найден, возвращаем ошибку 404
+                    return JsonResponse({'error': 'User not found'}, status=404)
+            except User.DoesNotExist:
+                return JsonResponse({'error': 'User not found'}, status=404)
+        else:
+            return JsonResponse({'error': 'Phone number is missing'}, status=400)
+    else:
+        return JsonResponse({'error': 'Only GET requests are allowed'}, status=405)