class userinfo, createproduct, listproduct created
This commit is contained in:
parent
3c18c74280
commit
cb3a64ec43
@ -1,4 +1,5 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
|
||||||
class Product(models.Model):
|
class Product(models.Model):
|
||||||
@ -7,6 +8,7 @@ class Product(models.Model):
|
|||||||
quantity = models.IntegerField(null=False, default=0, blank=False)
|
quantity = models.IntegerField(null=False, default=0, blank=False)
|
||||||
creation_date = models.DateTimeField(auto_now_add=True)
|
creation_date = models.DateTimeField(auto_now_add=True)
|
||||||
modification_date = models.DateTimeField(auto_now=True)
|
modification_date = models.DateTimeField(auto_now=True)
|
||||||
|
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="products")
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
@ -11,7 +11,10 @@ router = routers.DefaultRouter()
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('create/', UserCreate.as_view(), name="user-create"),
|
path('api/user/create/', CreateUser.as_view(), name="create-user"),
|
||||||
|
path('api/user/info', UserInfo.as_view(), name="user-info"),
|
||||||
|
path('api/product/create/', CreateProduct.as_view(), name="create-product"),
|
||||||
|
path('api/product/list/', ListProduct.as_view(), name="list-product"),
|
||||||
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
|
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
|
||||||
path('api/token/refresh', TokenRefreshView.as_view(), name="token_refresh")
|
path('api/token/refresh', TokenRefreshView.as_view(), name="token_refresh")
|
||||||
]
|
]
|
||||||
|
@ -8,7 +8,7 @@ from rest_framework.permissions import IsAuthenticated, AllowAny
|
|||||||
from rest_framework_simplejwt.tokens import RefreshToken
|
from rest_framework_simplejwt.tokens import RefreshToken
|
||||||
|
|
||||||
|
|
||||||
class UserCreate(generics.CreateAPIView):
|
class CreateUser(generics.CreateAPIView):
|
||||||
permission_classes = [AllowAny]
|
permission_classes = [AllowAny]
|
||||||
throttle_classes = [UserRateThrottle]
|
throttle_classes = [UserRateThrottle]
|
||||||
serializer_class = UserSerializer
|
serializer_class = UserSerializer
|
||||||
@ -19,7 +19,7 @@ class UserCreate(generics.CreateAPIView):
|
|||||||
return Response({"detail:" "Deconnecte toi ??"}, status=status.HTTP_403_FORBIDDEN)
|
return Response({"detail:" "Deconnecte toi ??"}, status=status.HTTP_403_FORBIDDEN)
|
||||||
serializers = self.get_serializer(data=request.data)
|
serializers = self.get_serializer(data=request.data)
|
||||||
serializers.is_valid(raise_exception=True)
|
serializers.is_valid(raise_exception=True)
|
||||||
user = serializers.save()
|
serializers.save()
|
||||||
|
|
||||||
refresh = RefreshToken.for_user(user)
|
refresh = RefreshToken.for_user(user)
|
||||||
access_token = refresh.access_token
|
access_token = refresh.access_token
|
||||||
@ -29,3 +29,32 @@ class UserCreate(generics.CreateAPIView):
|
|||||||
"refresh": str(refresh),
|
"refresh": str(refresh),
|
||||||
"access": str(access_token)
|
"access": str(access_token)
|
||||||
}, status=status.HTTP_201_CREATED)
|
}, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
|
||||||
|
class UserInfo(generics.ListAPIView):
|
||||||
|
permission_classes = [IsAuthenticated]
|
||||||
|
serializer_class = UserSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
return User.objects.filter(username=self.request.user)
|
||||||
|
|
||||||
|
|
||||||
|
class CreateProduct(generics.CreateAPIView):
|
||||||
|
permission_classes = [IsAuthenticated]
|
||||||
|
throttle_classes = [UserRateThrottle]
|
||||||
|
serializer_class = ProductSerializer
|
||||||
|
queryset = Product.objects.all()
|
||||||
|
|
||||||
|
def create(self, request):
|
||||||
|
serializers = self.get_serializer(data=request.data)
|
||||||
|
serializers.is_valid(raise_exception=True)
|
||||||
|
serializers.save(user=request.user)
|
||||||
|
return Response(serializers.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
|
||||||
|
class ListProduct(generics.ListAPIView):
|
||||||
|
permission_classes = [IsAuthenticated]
|
||||||
|
serializer_class = ProductSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
return Product.objects.filter(user_id=self.request.user)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user