E6-BStockSeeker/StockSeeker/serializers.py
2024-10-17 02:47:35 +02:00

38 lines
1.1 KiB
Python

from rest_framework import serializers
from .models import *
from django.contrib.auth.models import User
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ["id", "username", "password", "email"]
def validate_email(self, value):
if User.objects.filter(email=value).exists():
raise serializers.ValidationError("Cette adresse e-mail est déjà utilisée.")
return value
def create(self, validated_data):
password = validated_data.pop("password")
user = User(**validated_data)
user.set_password(password)
user.save()
return user
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ["id", "name", "description", "quantity", "creation_date", "modification_date"]
class AlerteSerializer(serializers.ModelSerializer):
product = ProductSerializer
class Meta:
model = Alerte
fields = ["id", "product", "stock_limit", "message", "creation_date", "modification_date"]