add: add new api for bot

This commit is contained in:
behruz-dev
2025-09-27 18:19:17 +05:00
parent f9f7e63a07
commit 2bdd10f388
4 changed files with 21 additions and 5 deletions

View File

@@ -7,4 +7,3 @@ from core.apps.shared.models.base import BaseModel
class User(AbstractUser, BaseModel): class User(AbstractUser, BaseModel):
tg_id = models.CharField(max_length=20, null=True, blank=True) tg_id = models.CharField(max_length=20, null=True, blank=True)

View File

@@ -16,4 +16,12 @@ class CustomUserLoginSerializer(serializers.Serializer):
user.tg_id = data.get('tg_id') user.tg_id = data.get('tg_id')
user.save() user.save()
data['user'] = user data['user'] = user
return data return data
class UserListSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = [
'id', 'tg_id'
]

View File

@@ -9,4 +9,5 @@ urlpatterns = [
path('login/', user.UserLoginApiView.as_view()), path('login/', user.UserLoginApiView.as_view()),
path('<uuid:product_id>/like/', like_views.LikeApiView.as_view()), path('<uuid:product_id>/like/', like_views.LikeApiView.as_view()),
path('liked_products/', like_views.LikeProductListApiView.as_view()), path('liked_products/', like_views.LikeProductListApiView.as_view()),
path('user/list/', user.UserListApiView.as_view()),
] ]

View File

@@ -1,9 +1,9 @@
from rest_framework import generics from rest_framework import generics, views
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework_simplejwt.tokens import RefreshToken from rest_framework_simplejwt.tokens import RefreshToken
from ..serializers.user import CustomUserLoginSerializer from ..serializers.user import CustomUserLoginSerializer, UserListSerializer
from core.apps.accounts.models import User from core.apps.accounts.models import User
@@ -17,4 +17,12 @@ class UserLoginApiView(generics.GenericAPIView):
user = serializer.validated_data.get('user') user = serializer.validated_data.get('user')
token = RefreshToken.for_user(user) token = RefreshToken.for_user(user)
return Response({'access': str(token.access_token), 'refresh': str(token)}) return Response({'access': str(token.access_token), 'refresh': str(token)})
return Response(data=serializer.errors) return Response(data=serializer.errors)
class UserListApiView(views.APIView):
def get(self, request):
users = User.objects.exclude(tg_id__isnull=True)
serializer = UserListSerializer(users, many=True)
return Response(serializer.data, status=200)