Coverage for users\serializers\client.py: 94%
16 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
1"""
2Sérialiseur pour le profil client.
4Ce module définit la sérialisation/désérialisation des objets ClientProfile
5pour l'API REST.
6"""
8from rest_framework import serializers
9from users.models.client import ClientProfile
10from users.serializers import UserSerializer
13class ClientSerializer(serializers.ModelSerializer):
14 """
15 Sérialiseur pour le modèle ClientProfile.
17 :ivar id: Identifiant unique du profil client (lecture seule)
18 :vartype id: int
19 :ivar user: Utilisateur associé au profil client (lecture seule)
20 :vartype user: User
21 :ivar nom: Nom de famille du client
22 :vartype nom: str
23 :ivar prenom: Prénom du client
24 :vartype prenom: str
25 :ivar telephone: Numéro de téléphone du client
26 :vartype telephone: str
27 """
28 class Meta:
29 model = ClientProfile
30 fields = ['id', 'user', 'nom', 'prenom', 'telephone']
31 read_only_fields = ['id', 'user']
33 def create(self, validated_data):
34 """
35 Crée un nouveau profil client.
37 :param validated_data: Données validées du serializer
38 :type validated_data: dict
39 :return: Instance ClientProfile créée
40 :rtype: ClientProfile
41 """
42 return super().create(validated_data)
45class ClientFullSerializer(serializers.ModelSerializer):
46 """
47 Sérialiseur pour le modèle ClientProfile.
49 :ivar id: Identifiant unique du profil client (lecture seule)
50 :vartype id: int
51 :ivar user: Utilisateur associé au profil client (lecture seule)
52 :vartype user: User
53 :ivar nom: Nom de famille du client
54 :vartype nom: str
55 :ivar prenom: Prénom du client
56 :vartype prenom: str
57 :ivar telephone: Numéro de téléphone du client
58 :vartype telephone: str
59 """
60 user = UserSerializer(read_only=True)
61 class Meta:
62 model = ClientProfile
63 fields = ['id', 'user', 'nom', 'prenom', 'telephone', 'cle_chiffree']
64 read_only_fields = ['id', 'user', 'cle_chiffree']